Cách cài đặt Ruby on Rails trên Ubuntu 22.04
Ruby on Rails hay RoR là một khung ứng dụng web mã nguồn mở miễn phí được viết bằng Ruby và được phát hành theo giấy phép của MIT. Rails là một khung công tác web đầy đủ để dễ dàng xây dựng các ứng dụng cấp doanh nghiệp. Rails được vận chuyển 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ệ 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ư Không lặp lại bản thân (DRY), Quy ước qua cấu hình (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à dễ học, một số trang web đáng chú ý được phát triển với 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à cũng có thể 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 Ubuntu 22.04
- Người dùng không phải root có đặ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 để phát triển Rails, điều này bao gồm sợi và nodejs.
Bây giờ chúng ta hãy bắt đầu cài đặt gói cơ bản gnupg2 , apt-transport-https và cuộn vào máy Ubuntu của bạn bằng lệnh dưới đây.
sudo apt install gnupg2 apt-transport-https curl
Tiếp theo, chạy lệnh sau để thêm kho lưu trữ Nodesource để cài đặt gói Nodejs. Ở đây mặc định bạn sẽ cài đặt phiên bản LTS mới nhất của Nodejs v16.
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à một trình quản lý gói hiện đại cho Nodejs, một giải pháp thay thế cho npm hoặc trình quản lý gói nút.
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ờ cập nhật và làm mới tất cả các kho lưu trữ có sẵn bằng cách sử dụng lệnh sau.
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. Thao tác này sẽ cài đặt một số gói cơ bản bao gồm các bản xây dựng cần thiết sẽ được sử dụng để cài đặt Ruby trên máy Ubuntu của bạn.
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, quản lý môi trường Ruby cho ứng dụng của bạn. 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, phiên bản này mạnh mẽ cho môi trường phát triển. Ngoài ra, Rbenv đơn giản hơn và chắc chắn hơn so với quản lý Ruby khác như RVM.
Rbenv là một phần mềm quản lý Ruby có thể mở rộng 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 dưới đây. Ví dụ này sử dụng tên người dùng ‘ alice ‘ cho môi trường phát triển Rails.
su - alice
Sao chép Rbenv vào thư mục ~ / .rbenv bằng lệnh git bên dưới.
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.
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 ruby-build . Plugin này cho phép bạn cài đặt bất kỳ phiên bản nào của Ruby hầu như từ nguồn.
Sao chép plugin ruby-build bằng lệnh dưới đây.
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.
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Bây giờ bạn đã hoàn thành 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.
rbenv commands
Dưới đây bạn có thể xem danh sách các lệnh có sẵn.
Cài đặt Ruby với Rbenv
Sau khi bạn đã cài đặt thành công Rbenv với plugin ruby-build, bây giờ bạn sẽ cài đặt Ruby cho việc 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.
rbenv install 3.1.2
Lệnh này sẽ cài đặt Ruby v3.1.2 từ nguồn sang 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 xây dựng ruby.
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.
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.
ruby -v
Dưới đây, bạn có thể thấy ảnh chụp màn hình của Ruby 3.1.2 được cài đặt trên môi trường của bạn.
Cuối cùng, bạn cũng sẽ cần cài đặt bunder cho môi trường phát triển Rails của mình. Bạn có thể cài đặt gói bằng cách sử dụng lệnh gem bên dưới.
gem install bundler
Dưới đây là kết quả đầu ra sau khi trình gói được cài đặt.
Cài đặt Ruby on Rails
Tại thời điểm này, bạn đã hoàn thành 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.
gem install rails -v 7.0.2.4
Lệnh sẽ mất thời gian vì có quá nhiều viên ngọc 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 dưới đây để tải lại môi trường Rbenv.
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 dưới đây.
Kiểm tra phiên bản Rails bằng lệnh sau.
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.
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 bạn 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 rằng máy chủ cơ sở dữ liệu PostgreSQL đã được cài đặt trên máy Ubuntu của bạn.
Đầu tiên, 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. Thao tác 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.
sudo apt install libpq-dev -y
Sau khi 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 ‘alice’, chính là tên người dùng của người dùng Linux hiện đang được sử dụng cho dự án.
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 superuser hoặc admin của PostgreSQL cho người dùng mới.
- -d – Cấp đặc quyền để tạo cơ sở dữ liệu mới trên máy chủ PostgreSQL.
- -r – Cấp đặc quyền để tạo vai trò trên máy chủ PostgreSQL.
- -P – Bật cấu hình nhắc 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 trình bao PostgreSQL bằng lệnh dưới đây.
sudo -u alice psql -U alice -h 127.0.0.1 -d postgres
Nhập mật khẩu cho vai trò PostgreSQL.
Khi bạn đã kết nối với trình bao PostgreSQL, hãy chạy truy vấn sau để kiểm tra trạng thái kết nối.
conninfo
Một truy vấn khác mà bạn cũng có thể thử kiểm tra là danh sách những người dùng có sẵn trên máy chủ PostgreSQL.
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 đặc quyền, Tạo vai trò và Tạo cơ sở dữ liệu.
Tạo dự án với Rails
Bây giờ đã đến lúc tạo và bắt đầu một dự án mới với 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àm 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.
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ờ 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.
cd myapp/
nano config/database.yml
Bỏ ghi chú và thay đổi thông tin đăng nhập cơ sở dữ liệu với các chi tiết PostgreSQL của bạn. Trong ví dụ dưới đây, chúng ta sẽ sử dụng vai trò PostgreSQL có tên là ‘ alice ‘ với mật khẩu là ‘ mypassword ‘. Các đặc quyền mà bạn sẽ cần ở đây là Tạo DB và Tạo vai trò.
tên người dùng: alice
mật khẩu: mypassword
máy chủ: localhost
cổng 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 dưới đây. Thao tác này sẽ tạo và tạo cơ sở dữ liệu PostgreSQL cho ứng dụng của bạn. Ngoài ra, 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 chi tiết người dùng PostgreSQL của bạn.
rake db:create
Cuối cùng, 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ỉ ràng buộc mà dự án của bạn sẽ chạy. Đảm bảo thay đổi địa chỉ IP bằng địa chỉ IP của máy Ubuntu của bạn.
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 trong chế độ phát triển với cổng TCP mặc định 3000.
Bây giờ, hãy mở trình duyệt web của bạn và truy cập địa chỉ IP máy Ubuntu của bạn với cổng 3000 (ví dụ: tại đâ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.
Sự kết luận
Xin chúc mừng! Bây giờ bạn đã học 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 để phát triển Rails và cũng đã học cách cài đặt mộ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.