Cách cài đặt Ruby on Rails trên Ubuntu 22.04

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, 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ẽ chỉ cho bạn cách cài đặt Ruby on Rails trên máy chủ Ubuntu 22.04. Bạn cũng sẽ học cách bắt đầu một dự án/ứng dụng mới bằng Ruby on Rails và sử dụng PostgreSQL làm cơ sở dữ liệu cho ứng dụng Rails của bạn.

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

  • Máy chạy Ubuntu 22.04
  • Người dùng không phải root có quyền root
  • Máy chủ PostgreSQL được cài đặt trên máy Ubuntu của bạn. Trong ví dụ này, bạn sẽ sử dụng PostgreSQL làm cơ sở dữ liệu chính cho Ruby on Rails.

Cài đặt các gói phụ thuộc​

Trước khi bắt đầu cài đặt Rails, bạn sẽ cần cài đặt một số gói phụ thuộc cơ bản cho quá trình phát triển Rails, bao gồm yarn và nodejs.

Bây giờ, hãy bắt đầu cài đặt các gói cơ bản gnupg2,apt-transport-httpscurl vào máy Ubuntu của bạn bằng lệnh bên dưới.
Mã:
sudo apt install gnupg2 apt-transport-https curl
Tiếp theo, hãy chạy lệnh sau để thêm kho lưu trữ Nodesource để cài đặt gói Nodejs. Mặc định ở đây, bạn sẽ cài đặt phiên bản LTS mới nhất của Nodejs v16.
Mã:
curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
Bây giờ hãy thêm khóa GPG và kho lưu trữ cho gói Yarn. Yarn là trình quản lý gói hiện đại cho Nodejs, một giải pháp thay thế cho trình quản lý gói npm hoặc node.
Mã:
curl -sS -o /etc/apt/trusted.gpg.d/yarn.gpg https://dl.yarnpkg.com/debian/pubkey.gpg
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
Bây giờ hãy cập nhật và làm mới tất cả các kho lưu trữ khả dụng bằng lệnh sau.
Mã:
sudo apt update
Cuối cùng, bạn có thể cài đặt một số gói phụ thuộc bằng lệnh apt bên dưới. Lệnh này sẽ cài đặt một số gói cơ bản bao gồm các build-essentials sẽ được sử dụng để cài đặt Ruby trên máy Ubuntu của bạn.
Mã:
sudo apt install git-core 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 nodejs yarn
Nhập Y để xác nhận cài đặt và nhấn ENTER để tiếp tục. Bây giờ quá trình cài đặt sẽ bắt đầu.

Thiết lập Rbenv​

Bây giờ bạn sẽ cài đặt Rbenv, trình quản lý môi trường Ruby cho ứng dụng của mình. Sử dụng rbenv cho phép bạn chỉ định phiên bản Ruby cho các ứng dụng của mình, đây là phiên bản mạnh mẽ cho môi trường phát triển. Ngoài ra, Rbenv đơn giản và chắc chắn hơn các trình quản lý Ruby khác như RVM.

Rbenv là một tiện ích mở rộng của trình quản lý Ruby cho môi trường phát triển của bạn. Có thể mở rộng thông qua các plugin Rbenv.

Để thiết lập Rbenv, bạn cần đăng nhập vào người dùng của mình bằng lệnh bên dưới. Ví dụ này sử dụng tên người dùng 'alice' cho môi trường phát triển Rails.
Mã:
su - alice
Sao chép Rbenv vào thư mục ~/.rbenv bằng lệnh git bên dưới.
Mã:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
Để kích hoạt Rbenv, hãy thêm cấu hình vào tệp ~/.bashrc bằng lệnh sau. Sau đó tải lại phiên bash của bạn.
Mã:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
Tiếp theo, bạn cũng sẽ cần plugin Rbenv có tên là ruby-build. Plugin này cho phép bạn cài đặt bất kỳ phiên bản Ruby nào từ nguồn.

Sao chép plugin ruby-build bằng lệnh bên dưới.
Mã:
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Bây giờ hãy kích hoạt plugin ruby-build và tải lại phiên bash của bạn bằng lệnh bên dưới.
Mã:
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Bây giờ bạn đã hoàn tất cấu hình Rbenv. Bạn có thể sử dụng lệnh sau để xác minh cài đặt Rbenv của mình. Lệnh này sẽ hiển thị tất cả các tùy chọn/lệnh có sẵn cho Rbenv.
Mã:
lệnh rbenv
Dưới đây bạn có thể thấy danh sách các lệnh có sẵn.


Cài đặt Ruby bằng Rbenv​

Sau khi bạn đã cài đặt thành công Rbenv bằng plugin ruby-build, bây giờ bạn sẽ cài đặt Ruby để phát triển Rails.

Cài đặt phiên bản ổn định mới nhất của Ruby v3.1.2 vào hệ thống của bạn bằng lệnh rbenv bên dưới.
Mã:
rbenv install 3.1.2
Lệnh này sẽ cài đặt Ruby v3.1.2 từ nguồn vào môi trường phát triển của bạn. Các lệnh cài đặt ở đây là một phần của plugin ruby-build.

Tiếp theo, chạy lệnh rbenv bên dưới để thiết lập Ruby v3.1.2 mặc định làm phiên bản mặc định cho ứng dụng của bạn.
Mã:
rbenv global 3.1.2
Kiểm tra và xác minh phiên bản Ruby trên môi trường của bạn bằng lệnh sau.
Mã:
ruby -v
Bên dưới, bạn có thể thấy ảnh chụp màn hình Ruby 3.1.2 đã được cài đặt trên môi trường của mình.



Cuối cùng, bạn cũng sẽ cần cài đặt bundler cho môi trường phát triển Rails của mình. Bạn có thể cài đặt bundler bằng lệnh gem bên dưới.
Mã:
gem install bundler
Dưới đây là kết quả sau khi bundler được cài đặt.


Cài đặt Ruby on Rails​

Tại thời điểm này, bạn đã hoàn tất việc cài đặt các gói phụ thuộc cho Ruby on Rails, bao gồm Node.js, Yarn và Ruby.

Bây giờ bạn sẽ cài đặt Ruby on Rails trên hệ thống Ubuntu của mình. Trong ví dụ này, bạn sẽ cài đặt Rails v7.0.2.4 để phát triển ứng dụng của mình.

Chạy lệnh gem bên dưới để cài đặt Rails v7.0.2.4.
Mã:
gem install rails -v 7.0.2.4
Lệnh này sẽ mất thời gian vì có rất nhiều gem Ruby bổ sung cần được cài đặt. Dưới đây là ảnh chụp màn hình cài đặt Rails.



Sau khi cài đặt Rails hoàn tất, hãy chạy lệnh bên dưới để tải lại môi trường Rbenv.
Mã:
rbenv rehash
Cuối cùng, bạn có thể kiểm tra cài đặt Rails của mình bằng lệnh bên dưới.

Kiểm tra phiên bản Rails bằng lệnh sau.
Mã:
rails -v
Dưới đây, bạn có thể thấy phiên bản Ruby on Rails được cài đặt trên máy Ubuntu.



Kiểm tra tất cả các tùy chọn có sẵn của lệnh Rails.
Mã:
rails help

Thiết lập cơ sở dữ liệu​

Trước khi tạo một dự án/ứng dụng Rails mới, bạn sẽ cần quyết định cơ sở dữ liệu nào sẽ sử dụng cho dự án. Trong ví dụ này, bạn sẽ sử dụng PostgreSQL làm cơ sở dữ liệu cho ứng dụng dự án Rails. Vì vậy, trước khi bắt đầu, hãy đảm bảo máy chủ cơ sở dữ liệu PostgreSQL đã được cài đặt trên máy Ubuntu của bạn.

Trước tiên, hãy cài đặt gói libpq-dev vào máy Ubuntu của bạn bằng lệnh apt bên dưới. Lệnh này sẽ tự động cài đặt libpq5, đây là thư viện cho phép người dùng hoặc chương trình kết nối và giao tiếp với máy chủ cơ sở dữ liệu PostgreSQL.
Mã:
sudo apt install libpq-dev -y


Sau khi quá trình cài đặt thư viện PostgreSQL hoàn tất, hãy chạy lệnh sau để tạo một vai trò PostgreSQL mới cho ứng dụng của bạn. Trong ví dụ này, bạn sẽ tạo một vai trò có tên là 'alice', đây là tên người dùng giống với tên người dùng Linux hiện đang được sử dụng cho dự án.
Mã:
sudo -u postgres createuser -S -d -r -P alice
Bây giờ, bạn sẽ được nhắc thiết lập mật khẩu cho vai trò mới 'alice'. Nhập và lặp lại mật khẩu.

Dưới đây là tùy chọn chi tiết của các lệnh:
  • -S - Vô hiệu hóa siêu người dùng hoặc quản trị viên của PostgreSQL cho người dùng mới.
  • -d - Cấp quyền để tạo cơ sở dữ liệu mới trên máy chủ PostgreSQL.
  • -r - Cấp quyền để tạo vai trò trên máy chủ PostgreSQL.
  • -P - Bật cấu hình nhắc nhập mật khẩu cho người dùng mới.
Để xác minh vai trò PostgreSQL mới, bạn có thể đăng nhập vào shell PostgreSQL bằng lệnh bên dưới.
Mã:
sudo -u alice psql -U alice -h 127.0.0.1 -d postgres
Nhập mật khẩu cho vai trò PostgreSQL alice.

Sau khi bạn đã kết nối với shell PostgreSQL, hãy chạy truy vấn sau để kiểm tra trạng thái kết nối.
Mã:
\conninfo
Một truy vấn khác mà bạn cũng có thể thử kiểm tra là danh sách người dùng có sẵn trên máy chủ PostgreSQL.
Mã:
\du
Trong ảnh chụp màn hình bên dưới, bạn có thể thấy rằng bạn đã kết nối thành công với máy chủ PostgreSQL với tư cách là người dùng 'alice'. Và bạn cũng có thể thấy rằng người dùng alice có hai quyền, Tạo vai trò và Tạo DB.


Tạo dự án bằng Rails​

Bây giờ là lúc tạo và bắt đầu một dự án mới bằng Ruby on Rails. Trong ví dụ này, bạn sẽ tạo một dự án Ruby on Rails mới có tên là myapp với PostgreSQL là cơ sở dữ liệu mặc định.

Để tạo một dự án Rails mới, bạn có thể chạy lệnh rails bên dưới. Lệnh này sẽ tạo dự án Rails mới bên trong thư mục myapp. Tùy chọn -d psotgresql là để chỉ định cơ sở dữ liệu mà bạn muốn sử dụng, đó là PostgreSQL.
Mã:
rails new myapp -d postgresql
Dưới đây, bạn có thể thấy quá trình tạo dự án Rails.



Bây giờ, hãy di chuyển đến thư mục myapp và chỉnh sửa cấu hình cơ sở dữ liệu config/database.yml bằng trình soạn thảo nano.
Mã:
cd myapp/
nano config/database.yml
Bỏ chú thích và thay đổi thông tin xác thực cơ sở dữ liệu bằng thông tin chi tiết PostgreSQL của bạn. Trong ví dụ bên dưới, chúng ta sẽ sử dụng vai trò PostgreSQL có tên là 'alice' với mật khẩu 'mypassword'. Các quyền mà bạn sẽ cần ở đây là Create DB và Create role.
Mã:
username: alice
password: mypassword
host: localhost
port 5432
Lưu và đóng tệp khi bạn hoàn tất.

Tiếp theo, di chuyển cơ sở dữ liệu cho dự án Rails của bạn bằng lệnh bên dưới. Lệnh này sẽ tạo và tạo cơ sở dữ liệu PostgreSQL cho ứng dụng của bạn. Và cũng vậy, hãy đảm bảo rằng bạn không gặp bất kỳ lỗi nào như lỗi xác thực đối với PostgreSQL. Nếu bạn gặp lỗi về xác thực, hãy kiểm tra lại thông tin chi tiết về người dùng PostgreSQL của bạn.
Mã:
rake db:create


Cuối cùng, hãy chạy lệnh rails bên dưới để chạy dự án Ruby on Rails mới của bạn. Tùy chọn -b 192.168.10.15 ở đây là để chỉ định địa chỉ liên kết mà dự án của bạn sẽ chạy. Hãy chắc chắn thay đổi địa chỉ IP bằng địa chỉ IP của máy Ubuntu của bạn.
Mã:
rails server -b 192.168.10.15
Trong ảnh chụp màn hình bên dưới, bạn có thể thấy ứng dụng Rails đang chạy trên địa chỉ IP 192.168.10.15 ở chế độ phát triển với cổng TCP mặc định là 3000.



Bây giờ hãy mở trình duyệt web của bạn và truy cập địa chỉ IP của máy Ubuntu của bạn với cổng 3000 (ví dụ: ở đây http://192.168.10.15:3000). Và bạn sẽ thấy trang index.html mặc định của dự án Ruby on Rails.


Kết luận​

Xin chúc mừng! Bây giờ bạn đã biết cách cài đặt và cấu hình Ruby on Rails trên Ubuntu 22.04. Bạn cũng đã học cách thiết lập Rbenv cho quá trình phát triển Rails và cũng đã học cách cài đặt phiên bản Ruby cụ thể bằng Rbenv. Những điều quan trọng khác mà bạn cũng đã học ở đây là thiết lập máy chủ PostgreSQL cho dự án Rails của bạn, bao gồm cài đặt thư viện PostgreSQL và thiết lập vai trò PostgreSQL cho dự án Rails của bạn.
 
Back
Bên trên