Cách cài đặt Ruby on Rails trên Debian 12

theanh

Administrator
Nhân viên
Ruby on Rails hay RoR 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à phát hành theo giấy phép MIT. Rails là một nền tảng web đầy đủ để dễ dàng xây dựng các ứng dụng cấp doanh nghiệp. Rails được cung cấp cùng với các công cụ khác nhau cho phép các nhà phát triển dễ dàng tạo cả ứng dụng frontend và backend. Ruby on Rails cũng có các tính năng bảo mật tích hợp như bảo vệ khỏi các cuộc tấn công phổ biến như SQL injection, XSS và CSRF.

Ruby on Rails cung cấp một cấu trúc mặc định cho cơ sở dữ liệu, hiển thị các mẫu HTML, một dịch vụ web và một trang web. Nó tuân theo kiến trúc model-view-controller (MVC) và cũng sử dụng các triết lý thiết kế nổi tiếng như Don't Repeat Yourself (DRY), Convention over Configuration (CoC) và mẫu bản ghi hoạt động. Ruby on Rails được thiết kế để nhanh chóng, dễ sử dụng và học hỏi, Một số trang web đáng chú ý được phát triển bằng Rails như Twitch, Airbnb, Github, Soundcloud, v.v.

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cài đặt Ruby on Rails trên máy chủ Debian 12. Bạn sẽ cài đặt Ruby on Rails với máy chủ cơ sở dữ liệu PostgreSQL và trình quản lý phiên bản Ruby Rbenv. Bạn cũng sẽ tạo một scaffold, cấu trúc cơ bản của dự án Rails.

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

Trước khi bắt đầu, hãy xác nhận bạn đã có:
  • Máy chủ Debian 12.
  • Người dùng không phải root có quyền quản trị viên sudo.

Cài đặt Dependencies​

Trong bước đầu tiên, bạn sẽ cài đặt một số dependency cơ bản trên máy chủ Debian của mình. Điều này bao gồm máy chủ cơ sở dữ liệu PostgreSQL sẽ được sử dụng làm cơ sở dữ liệu cho dự án Rails của bạn, node.js và trình quản lý gói Yarn sẽ được Rails sử dụng để biên dịch các tài sản tĩnh.

Để bắt đầu, hãy cập nhật và làm mới chỉ mục gói của bạn bằng cách thực thi lệnh apt update bên dưới.
Mã:
sudo apt update
Tiếp theo, cài đặt các phụ thuộc bằng lệnh apt install sau. Bao gồm máy chủ cơ sở dữ liệu PostgreSQL, trình điều khiển libpq, Node.js, Yarn, Git và một số thư viện và công cụ hệ thống.
Mã:
sudo apt install postgresql libpq-dev nodejs yarnpkg git zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev
Nhập y để xác nhận và tiến hành cài đặt.


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


Sau khi cài đặt xong các phụ thuộc, hãy kiểm tra trạng thái máy chủ PostgreSQL sử dụng lệnh sau. Lệnh này sẽ đảm bảo PostgreSQL đang chạy và được bật trên máy Debian của bạn.
Mã:
sudo systemctl is-enabled postgresql
sudo systemctl status postgresql
Nếu PostgreSQL được bật, bạn sẽ nhận được đầu ra được bật. Khi PostgreSQL chạy, bạn sẽ nhận được kết quả là active(running) hoặc active(exited).


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


Cuối cùng, hãy kiểm tra trình quản lý gói Node.js và Yarn bằng cách thực hiện lệnh bên dưới.
Mã:
node --version
yarnpkg --version
Trong ví dụ này, Node.js 18 và Yarn 1.22 đã được cài đặt.


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

Cài đặt Rbenv​

Sau khi cài đặt các gói phụ thuộc, bước tiếp theo là cài đặt Rbenv, trình quản lý phiên bản Ruby cho các hệ điều hành giống Unix. Với Rbenv, bạn có thể dễ dàng quản lý môi trường ứng dụng Ruby của mình, bạn cũng có thể cài đặt nhiều phiên bản Ruby trên hệ thống của mình.

Đăng nhập vào Người dùng của bạn bằng lệnh sau.
Mã:
su - user
Tải xuống mã nguồn rbenvplugin ruby-build thông qua lệnh git bên dưới.
Mã:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Bây giờ hãy thực hiện lệnh sau để thêm PATH tùy chỉnh vào shell của bạn.
Mã:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
Tải lại cấu hình ~/.bashrc của bạn để áp dụng các thay đổi. Sau khi thực hiện lệnh, cài đặt rbenv của bạn sẽ được kích hoạt.
Mã:
source ~/.bashrc
Xác minh rbenv bằng cách thực hiện lệnh rbenv bên dưới. Nếu cài đặt rbenv thành công, bạn sẽ thấy các lệnh/tùy chọn rbenv khả dụng.
Mã:
rbenv commands

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

Cài đặt Ruby qua Rbenv​

Sau khi cài đặt Rbenv, giờ bạn có thể cài đặt Ruby trên hệ thống của mình. Với Rbenv, bạn sẽ chỉ cài đặt Ruby trên môi trường hiện tại của mình, điều này không ảnh hưởng đến toàn bộ hệ thống. Bạn sẽ cài đặt Ruby 3.2.2 vào môi trường người dùng hiện tại của mình.

Thực hiện lệnh rbenv install bên dưới để cài đặt Ruby 3.2.2 vào hệ thống của bạn.
Mã:
rbenv install 3.2.2
Trong quá trình cài đặt, bạn sẽ thấy thông báo này:


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


Sau khi Ruby được cài đặt, hãy thực hiện lệnh sau để thiết lập phiên bản Ruby mặc định thành 3.2.2.
Mã:
rbenv global 3.2.2
Cuối cùng, hãy xác minh phiên bản Ruby trên hệ thống của bạn bằng lệnh bên dưới.
Mã:
ruby -v
Nếu mọi thứ diễn ra tốt đẹp, bạn sẽ thấy Ruby 3.2.2 đã được cài đặt.


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

Cài đặt Ruby on Rails​

Lúc này, hệ thống của bạn đã được định cấu hình và sẵn sàng để cài đặt Ruby on Rails đến máy Debian của bạn. Trong ví dụ này, bạn sẽ cài đặt Ruby on Rails 7.0 và kiểm tra danh sách các phiên bản Rails khả dụng trên trang web chính thức.

Thực hiện các lệnh gem bên dưới để cài đặt bundler, sau đó cài đặt Ruby on Rails 7.0.7.2.
Mã:
gem install bundler
gem install rails -v 7.0.7.2
Trong quá trình cài đặt, bạn sẽ thấy đầu ra như sau:


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



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


Bây giờ hãy chạy lệnh rebenv bên dưới để tạo lại và tải lại môi trường.
Mã:
rbenv rehash
Cuối cùng, thực hiện lệnh rails bên dưới để đảm bảo Ruby on Rails đã được cài đặt.
Mã:
rails version
rails -h
Nếu cài đặt thành công, bạn sẽ thấy phiên bản Rails hiện tại và trang trợ giúp của lệnh rails.


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

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

Trong phần này, bạn sẽ học cách tạo dự án đầu tiên của mình bằng Ruby on Rails. Bạn sẽ sử dụng PostgreSQL làm cơ sở dữ liệu mặc định cho dự án Rails của mình. Để đạt được điều đó, bạn phải hoàn thành các bước sau:
  • Chuẩn bị người dùng PostgreSQL cho ứng dụng.
  • Tạo dự án Rails đầu tiên.

Chuẩn bị người dùng cơ sở dữ liệu​

Đầu tiên, bạn phải tạo một người dùng PostgreSQL mới sẽ được sử dụng cho ứng dụng Rails của bạn. Người dùng này phải có quyền tạo cơ sở dữ liệu và người dùng.

Quay lại tài khoản người dùng của bạn và đăng nhập vào máy chủ PostgreSQL bằng lệnh bên dưới.
Mã:
sudo su
sudo -u postgres psql
Bây giờ hãy tạo một người dùng mới bob với mật khẩu p4sswordbob. Sau đó, chỉ định các quyền mới để tạo cơ sở dữ liệu và vai trò cho người dùng bob.
Mã:
CREATE USER bob WITH PASSWORD 'p4sswordbob';
ALTER USER bob CREATEDB CREATEROLE;

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


Xác minh danh sách người dùng và quyền trên máy chủ PostgreSQL của bạn bằng lệnh bên dưới.
Mã:
\du
Bạn sẽ thấy người dùng bob có quyền CREATEDB và CREATEROLE.


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


\q để đăng xuất khỏi máy chủ PostgreSQL.

Cuối cùng, hãy đăng nhập vào người dùng của bạn và thực hiện lệnh psql sau để đăng nhập đến máy chủ PostgreSQL với tư cách là người dùng mới bob.
Mã:
su - user
psql -U bob -h 127.0.0.1 -d postgres
Sau khi kết nối đến máy chủ PostgreSQL, hãy thực hiện truy vấn sau để xác minh thông tin kết nối của bạn.
Mã:
\conninfo
Bạn sẽ thấy rằng mình đã kết nối đến máy chủ PostgreSQL với tư cách là người dùng bob.


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


Nhập \q để thoát khỏi máy chủ PostgreSQL.

Tạo dự án Rails​

Sau khi tạo người dùng PostgreSQL, giờ đây bạn có thể bắt đầu tạo dự án Rails mới thông qua tiện ích dòng lệnh rails.

Để tạo một dự án rails mới, hãy chạy lệnh rails bên dưới. Trong ví dụ này, bạn sẽ tạo một dự án testapp mới với cơ sở dữ liệu mặc định là PostgreSQL.
Mã:
rails new testapp -d postgresql
Đầu ra của lệnh sẽ trông như thế này:


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


Sau khi dự án được tạo, thư mục mới ~/testapp cũng sẽ được tạo. Di chuyển đến thư mục ~/testapp và mở cấu hình cơ sở dữ liệu config/database.yml bằng trình soạn thảo văn bản bạn thích.
Mã:
cd testapp/
nano config/database.yml
Thay đổi cài đặt cơ sở dữ liệu mặc định cho phát triển, thử nghiệm và sản xuất. Hãy chắc chắn nhập tên người dùng và mật khẩu PostgreSQL của bạn.
Mã:
development:
 
Back
Bên trên