Danh mục

Tuesday, March 14, 2017

Hướng dẫn cài đặt Ruby on Rails với rbenv trên CentOS 7

Giới thiệu

Ruby on Rails là một web framework (mã nguồn mở) rất phổ biến và nó giúp cho chúng ta dễ dàng tạo được ứng dụng web với ngôn ngữ lập trình Ruby. Thông thường, người ta hay gọi tắt Ruby on Rails là Rails.

Bài viết này sẽ hướng dẫn cho bạn cách cài đặt Ruby on Rails trên CentOS 7 bằng cách sử dụng rbenv. Rbenv khá dễ dàng cài đặt và thuận tiện trong vấn đề quản lý các phiên bản khác nhau của Ruby (Trong một số tài liệu khác rbenv dễ cài hơn RVM).

Rbenv sẽ giúp bạn đảm bảo rằng phiên bản Ruby mà bạn đang sử dụng phù hợp với phiên bản đang chạy trên môi trường thực tế (Production environment).

Hướng dẫn cài đặt Ruby on Rails trên CentOS 7

Điều kiện

Trước khi cài đặt rbenv, bạn cần phải có quyền truy cập vào một tài khoản người dùng cấp cao trên một máy chủ CentOS 7 - Quyền root hoặc tương đương.

Khi đã đủ điều kiện, bạn cần dùng tài khoản đó truy cập vào SSH Server bằng SSH Client.

Cài đặt rbenv

Trước hết, bạn cần cài đặt dependencies của rbenv và Ruby với yum, chạy lệnh sau:

sudo yum install -y git-core zlib zlib-devel gcc-c++ patch readline readline-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison curl sqlite-devel 
Tiếp theo là cài rbenv bằng cách chạy các lệnh dưới đây:

cd
git clone git://github.com/sstephenson/rbenv.git .rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
exec $SHELL

git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bash_profile
exec $SHELL
Phần cài đặt này sẽ vào thư mục chính của bạn, và đặt các biến môi trường thích hợp sẽ cho phép rbenv quản lý phiên bản của Ruby.

Trước khi cài đặt Ruby, bạn cần chạy lệnh dưới đây để đảm shell đã được refresh và hiểu được rbenv.

exec -l $SHELL
Bây giờ chúng ta đã sẵn sàng để cài đặt Ruby.

Cài đặt Ruby

Trước khi sử dụng rbenv, xác định phiên bản nào của Ruby mà bạn muốn cài đặt. Trong ví dụ này, tôi sẽ cài đặt phiên bản ổn định nhất, Ruby 2.2.10.

Cài đặt nó bằng các lệnh sau:

rbenv install -v 2.2.10
rbenv global 2.2.10
Lệnh global sẽ thiết lập phiên bản Ruby mặc định ở máy chủ của bạn. Nếu bạn muốn cài đặt và sử dụng một phiên bản khác, chỉ cần chạy các lệnh rbenv với phiên bản khác (Sửa lại version của phiên bản, ví dụ bản mới nhất ở thời điểm hiện tại 14/03/2017 là: 2.4.0).

Xác minh phiên bản Ruby đã được cài đặt đúng bằng lệnh này:

 ruby -v 
Khi cài đặt Ruby xong, Rubygems sẽ tự động tạo ra các tài liệu hướng dẫn cho mỗi lần cài đặt Ruby, như vậy thì rất là nhiều tập tin rác. Do đó, để vô hiệu hóa nó, bạn cần chạy lệnh này:

 echo "gem: --no-document" > ~/.gemrc 
Tiếp đến, mình cần cài bundler gem, để quản lý dependencies của ứng dụng:

gem install bundler 
Bây giờ Ruby đã được cài đặt, tiến hành cài tiếp Rails nào.

Cài đặt Rails 

Cài đặt Rails 4.2.0 với lệnh này:

gem install rails -v 4.2.0
Bất cứ khi nào bạn cài đặt một phiên bản mới của Ruby hoặc gem, bạn cần phải chạy lệnh rehash. Nó sẽ giúp cài đặt shims cho tất cả các file thực thi của Ruby và giúp chúng được nhận biết bởi rbenv, chạy lệnh sau:

rbenv rehash 
Xác minh phiên bản Rails vừa cài đặt:

rails -v 
Nếu đúng, bạn sẽ kết quả trả về: Rails 4.2.0.

(Thời điểm hiện tại 14/03/2017, bản 4.2 là mới nhất, và bản 5.0 vẫn đang beta nên tôi khuyên bạn dùng bản 4.2 để có tính ổn định hơn)


Cài đặt Javascript Runtime

Một vài tính năng của Rails, chẳng hạn như Asset Pipeline, phụ thuộc vào Javascript Runtime. Chúng ta cần cài đặt Node.js để hỗ trợ tính năng này..

Thêm kho EPEL yum:

sudo yum -y install epel-release 
Sau đó cài đặt Node.js:

 sudo yum install nodejs 
Lưu ý: Lệnh trên có thể sẽ không cài phiên bản mới nhất của Node.js, vì bản thân Linux sẽ không coi các bản mới nhất là ổn định, nên nếu muốn cài bản mới nhất, bạn hãy cài nó theo cách của bạn :D.

Đến bước này, bạn đã hoàn tất cài đặt Ruby on Rails rồi, và để tiếp tục tạo ra một trang ứng dụng web mặc đinh. Xin mời các bạn đọc tiếp:

Tạo một ứng dụng thử nghiệm

Nếu bạn muốn chắc chắn rằng việc cài đặt Ruby on Rails đã diễn ra suôn sẻ, bạn có thể tạo một ứng dụng để kiểm tra nó. Để đơn giản, tôi sử dụng sqlite3 làm cơ sở dữ liệu cho phần hướng dẫn này:

Tạo một ứng dụng Rails mới trong thư mục chính của bạn (Thư mục /root):

 cd ~ rails new ezyphp 
Sau đó di chuyển vào thư mục vừa tạo:

 cd ezyphp 
Tạo cơ sở dữ liệu sqlite3:

rake db:create 
Nếu bạn chưa biết địa chỉ IP Public của máy chủ, hãy tìm nó bằng lệnh sau:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//' 
Thay public_IP bằng IP lấy được từ kết quả của lệnh trên, và chạy lệnh dưới đây:

rails server --binding=public_IP 
Mặc định, ứng dụng Rails của bạn sẽ chạy trên cổng 3000 của địa chỉ IP Public của máy chủ. Bạn có thể truy cập ứng dụng Rails của bạn bằng cách gõ vào trình duyệt web:

http://public_IP:3000 
Nếu bạn thấy trang Rails "Welcome aboard", bạn đã cài đặt thành công Ruby on Rails!

Chúc bạn thành công!!!