Cách cài đặt Ruby on Rails với PostgreSQL trên AlmaLinux 9

theanh

Administrator
Nhân viên
Ruby on Rails hay RoR hoặc Rails là một nền tảng ứng dụng web miễn phí và mã nguồn mở được viết bằng Ruby với Giấy phép MIT. Đây là một nền tảng web đầy đủ sử dụng mô hình model-view-controller (MVC).

Nền tảng web Rails cung cấp các cấu trúc cho cơ sở dữ liệu, dịch vụ web và các trang web. Ngoài ra, Rails bao gồm một số công cụ quan trọng như scaffolding, Puma, Gems, v.v.

Hướng dẫn này sẽ hướng dẫn bạn cách cài đặt Ruby on Rails với cơ sở dữ liệu PostgreSQL trên máy AlmaLinux 9. Và đến cuối hướng dẫn này, bạn sẽ có một môi trường phát triển được cấu hình cho dự án Rails của mình.

Điều kiện tiên quyết​

Để hoàn thành hướng dẫn này, hãy đảm bảo bạn có những điều sau:
  • Máy AlmaLinux 9 - Ví dụ này sẽ sử dụng AlmaLinux 9 với tên máy chủ almalinux9 và địa chỉ IP 192.168.10.15.
  • Người dùng không phải root có quyền root/sudo.

Cài đặt PostgreSQL​

Đầu tiên, bạn sẽ cài đặt máy chủ PostgreSQL được sử dụng làm cơ sở dữ liệu cho dự án Rails của mình. Bạn có thể cài đặt thông qua kho lưu trữ AppStream, nhưng bạn sẽ cài đặt chính thức từ kho lưu trữ PostgreSQL cho hướng dẫn này.

Chạy lệnh sau để tải xuống và thêm kho lưu trữ PostgreSQL vào hệ thống của bạn.
Mã:
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22164%22%3E%3C/svg%3E


Bây giờ, hãy cài đặt máy chủ PostgreSQL bằng lệnh sau. Với điều này, bạn cũng sẽ cài đặt libpq5-devel, đây là thư viện PostgreSQL sẽ được sử dụng cho ứng dụng Rails của bạn.
Mã:
sudo dnf install -y postgresql15-server postgresql15-contrib libpq5-devel

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22275%22%3E%3C/svg%3E


Sau đó, chạy lệnh sau để khởi tạo máy chủ PostgreSQL cấu hình.
Mã:
sudo postgresql-15-setup initdb
Sau đó khởi động và kích hoạt dịch vụ PostgreSQL bằng lệnh systemctl sau.
Mã:
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22166%22%3E%3C/svg%3E


Cuối cùng, hãy xác minh dịch vụ PostgreSQL bằng lệnh bên dưới. Khi chạy, bạn sẽ nhận được thông báo như 'active (exited)' hoặc 'active (running)'.
Mã:
sudo systemctl status postgresql-15

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22287%22%3E%3C/svg%3E

Cài đặt Ruby​

Bởi mặc định, kho lưu trữ appstream AlmaLinux cung cấp Ruby3.x phù hợp với Ruby on Rails. Bạn sẽ cài đặt Ruby 3.0 thông qua trình quản lý gói DNF trong phần này.

Chạy lệnh bên dưới để xác minh danh sách các phiên bản Ruby khả dụng trên kho lưu trữ appstream.
Mã:
sudo dnf module list ruby
Đầu ra sau đây xác nhận rằng kho lưu trữ AlmaLinux cũng cung cấp Ruby 3.1.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22140%22%3E%3C/svg%3E


Bây giờ, hãy chạy lệnh sau để cài đặt Ruby và các gói phát triển Ruby. Nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo dnf install ruby ruby-devel

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22335%22%3E%3C/svg%3E


Sau khi Ruby được cài đặt, hãy kiểm tra bằng lệnh sau. Bạn sẽ thấy Ruby v3.0 được cài đặt trên hệ thống AlmaLinux của bạn.
Mã:
ruby --version

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22587%22%20height=%22114%22%3E%3C/svg%3E

Cài đặt Node.js và gói Yarn Trình quản lý​

Trước khi cài đặt Rails, bạn phải cài đặt trình quản lý gói Node.js và Yarn. Cả hai gói này sẽ được Rails sử dụng để biên dịch các tệp tĩnh trên dự án Rails của bạn.

Chạy lệnh dnf bên dưới để cài đặt các gói Node.js và NPM. Khi được nhắc, hãy nhập y và nhấn ENTER để tiếp tục.
Mã:
sudo dnf install nodejs npm -y

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22277%22%3E%3C/svg%3E


Tiếp theo, hãy chạy lệnh npm bên dưới để cài đặt trình quản lý gói Yarn.
Mã:
sudo npm install -g yarn
Trình quản lý gói Yarn sẽ có trong thư mục /usr/local/bin. Vì vậy. bạn phải thêm thư mục /usr/local/bin vào biến môi trường PATH.

Chạy lệnh sau để thêm thư mục /usr/local/bin vào biến môi trường PATH thông qua tệp .bashrc và tải lại tệp để áp dụng các thay đổi.
Mã:
echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc
source ~/.bashrc
Bây giờ, hãy chạy lệnh sau để định vị trình quản lý gói Node.js và Yarn. Tệp nhị phân Node.js nằm tại /bin/node và trình quản lý gói Yarn nằm tại /usr/local/bin/yarn.
Mã:
which node
which yarn
Cuối cùng, hãy chạy lệnh sau để kiểm tra phiên bản của Node.js và trình quản lý gói Yarn.
Mã:
node --version
yarn --version

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22690%22%20height=%22292%22%3E%3C/svg%3E

Cài đặt Công cụ phát triển​

Trong bước này, bạn sẽ cài đặt "Công cụ phát triển" cần thiết cho Rails.

Chạy lệnh sau để cài đặt "Công cụ phát triển" vào AlmaLinux của bạn hệ thống.
Mã:
sudo dnf group install "Development Tools" -y
Sau khi cài đặt hoàn tất, hãy chuyển sang bước tiếp theo để cài đặt Rails.

Cài đặt Ruby on Rails thông qua Gem Package Manager​

Sau khi cài đặt tất cả các phụ thuộc, bạn đã sẵn sàng cài đặt Ruby on Rails trên máy AlmaLinux.

Chạy lệnh gem sau để cài đặt Ruby on Rails vào hệ thống.
Mã:
sudo gem install rails

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22568%22%20height=%22386%22%3E%3C/svg%3E


Sau khi cài đặt hoàn tất, hãy chạy lệnh sau để định vị tệp nhị phân Rails và xác minh Rails phiên bản.
Mã:
which rails
rails --version
Trong đầu ra sau, bạn sẽ thấy tệp thực thi Rails nằm tại /usr/local/bin/rails và phiên bản Rails hiện tại được cài đặt là 7.0.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22400%22%20height=%22148%22%3E%3C/svg%3E

Tạo vai trò PostgreSQL cho dự án Rails​

Trong phần này, bạn sẽ tạo một vai trò PostgreSQL mới sẽ được sử dụng cho dự án Rails. Vai trò mới này phải có quyền tạo cơ sở dữ liệu mới trên PostgreSQL.

Đăng nhập vào PostgreSQL bằng lệnh sau. Sau khi đăng nhập, bạn sẽ nhận được lời nhắc postgres=>, xác nhận rằng bạn đã kết nối với cơ sở dữ liệu mặc định 'postgres'.
Mã:
sudo -u postgres psql
Bây giờ hãy chạy truy vấn sau để tạo một vai trò PostgreSQL mới sẽ được sử dụng cho Rails. Trong ví dụ này, bạn sẽ tạo một vai trò mới có tên là hellorails với mật khẩu userpassword. Vai trò này được phép tạo cơ sở dữ liệu mới trên PostgreSQL.
Mã:
CREATE ROLE hellorails WITH CREATEDB LOGIN PASSWORD 'userpassword';
Tiếp theo, chạy truy vấn sau để kiểm tra danh sách người dùng khả dụng trên PostgreSQL
Mã:
\du
Nếu thành công, bạn sẽ thấy vai trò mới hellorails với thuộc tính quyền Create DB.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22354%22%3E%3C/svg%3E


Nhấn Ctrl+d hoặc nhập \q để thoát khỏi PostgreSQL.

Tạo dự án Rails đầu tiên​

Trong phần này, bạn sẽ học cách tạo dự án Ruby on Rails đầu tiên bằng lệnh rails.

Tạo thư mục dự án mới /var/www và di chuyển thư mục làm việc hiện tại vào nó.
Mã:
mkdir -p /var/www; cd /var/www
Bây giờ, hãy tạo một dự án Rails mới có tên là hellorails với cơ sở dữ liệu PostgreSQL bằng lệnh rails sau. Điều này cũng sẽ tạo ra thư mục dự án mới hellorails.
Mã:
rails new hellorails --database=postgresql

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22537%22%3E%3C/svg%3E


Di chuyển đến thư mục hellorails và mở cấu hình cơ sở dữ liệuconfig/database.yml bằng nano hoặc trình soạn thảo ưa thích của bạn.
Mã:
cd hellorails
nano config/database.yml
Thay đổi cấu hình cơ sở dữ liệu mặc định cho phát triển, thử nghiệm và sản xuất như thế này và đảm bảo sử dụng đúng tên người dùng và mật khẩu cho thông tin chi tiết PostgreSQL của bạn.
Mã:
development:
 
Back
Bên trên