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.
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.
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.
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.
Sau đó khởi động và kích hoạt dịch vụ PostgreSQL bằng lệnh systemctl sau.
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)'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22287%22%3E%3C/svg%3E
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.
Đầ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.
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.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22587%22%20height=%22114%22%3E%3C/svg%3E
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.
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.
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.
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.
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.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22690%22%20height=%22292%22%3E%3C/svg%3E
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.
Sau khi cài đặt hoàn tất, hãy chuyển sang bước tiếp theo để cài đặt Rails.
Chạy lệnh gem sau để cài đặt Ruby on Rails vào hệ thống.
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.
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
Đă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'.
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.
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
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 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ó.
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.
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.
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.
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
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
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
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
Mã:
which node
which 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
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
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
Mã:
CREATE ROLE hellorails WITH CREATEDB LOGIN PASSWORD 'userpassword';
Mã:
\du
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
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
Mã:
development: