Cài đặt Ruby on Rails trên Ubuntu 18.04

Cài đặt Ruby on Rails trên Ubuntu 18.04

Ruby On rails (RoR) là một Framework mã nguồn mở miễn phí cho phép phát triển ứng dụng Web, được phát triển bởi David Heinemeier Hansson, phiên bản đầu tiên của Ruby on Rails được giới thiệu ra cộng đồng vào năm 2015.

6 min read

1. Giới thiệu Ruby on Rails.

Ruby On rails (RoR) là một Framework mã nguồn mở miễn phí cho phép phát triển ứng dụng Web, được phát triển bởi David Heinemeier Hansson, phiên bản đầu tiên của Ruby on Rails được giới thiệu ra cộng đồng vào năm 2015.

Ruby On Rails được ra đời một cách hoàn hảo dành cho những ai luôn “mải miết đi tìm” câu trả lời: tại sao những lập trình viên luôn tìm mọi cách để phát triển những phần mềm, ứng dụng Web, … để người sử dụng được thuận tiện nhất, nhưng lại không “thuận tiện” cho người lập trình mỗi khi chương trình càng đơn giản thì bên trong nó lại càng phức tạp, khó chỉnh sửa khi cần thiết, làm cho công việc của người lập trình viên “cảm thấy mệt mỏi” hơn. Ruby On Rails đã trả lời được câu hỏi đó.

Ruby nhìn phía ngoài thì đơn giản nhưng rất phức tạp bên trong, giống như cơ thể con người vậy.

Yukihiro “Matz” Matsumoto

2. Cài đặt môi trường

Lý do sử dụng Ubuntu để cài đặt vì phần lớn code chúng ta viết sẽ chạy trên máy chủ Linux. Ubuntu là một trong những bản phân phối Linux dễ sử dụng nhất với nhiều tài liệu hướng dẫn, bạn có thể tham khảo thêm cách cài đặt trên Fedora hay Centos.

Trong bài viết này chúng ta sẽ thực hiện cài đặt trên Ubuntu 18.04 Bionic Beaver (64-bit), qúa trình cài đặt diễn ra trong khoảng 30 phút.

2.1 Cài đặt Ruby

Hiện tại 2.6.1 là version mới nhất, bạn có thể kiểm tra các vesion ở đây

Bước đầu tiên là cài đặt một số packets cần thiết cho Ruby và Rails.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt-get update
sudo apt-get install git-core curl 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

Có 3 cách để cài đặt RoR, đó là sử dụng rbenv , rvm , hay từ source.  

1. Sử dụng rbenv

Đầu tiên bạn phải cài đặt rbenv ruby-build:

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

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

rbenv install 2.6.1
rbenv global 2.6.1
ruby -v

2. Sử dụng rvm

sudo apt-get install libgdbm-dev libncurses5-dev automake libtool bison libffi-dev
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm
rvm install 2.6.1
rvm use 2.6.1 --default
ruby -v

Sau khi cài xong RVM, khởi động lại bằng câu lệnh sau đây

source ~/.rvm/scripts/rvm

Khởi động RVM khi reboot hệ thống bằng lệnh

echo "source $HOME/.rvm/scripts/rvm" >> ~/.bashrc

3. Cài đặt từ Source

wget http://ftp.ruby-lang.org/pub/ruby/2.6/ruby-2.6.1.tar.gz
tar -xzvf ruby-2.6.1.tar.gz
cd ruby-2.6.1/
./configure
make
sudo make install
ruby -v

Tiếp đó cài đặt thêm gem Bundler

gem install bundler

Đối với rbenv, chạy lệnh rbenv rehash sau khi cài xong Bundler

Cấu hình Git

git config --global user.name "YOUR NAME"
git config --global user.email "[email protected]"

2.2. Cài đặt Rails

Ruby on Rails đòi hỏi phải có JavaScript runtime để biên dịch Rails asset pipeline. Đó là lý do chúng ta sẽ sử dụng Nodejs

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

Cài đặt Rails, ở đây mình sẽ dùng version 5.2.3, kiểm tra bản mới nhất tại đây

gem install rails -v 5.2.3

Nếu bạn đang sử dụng rbenv, bạn cần chạy lệnh sau:

rbenv rehash

Chạy lệnh rails -v để đảm bảo rằng bạn đã cài đặt mọi thứ chính xác:

rails -v
# Rails 5.2.3

Vì một số lý do nào đó khiến cho việc cài đặt bị lỗi, có thể môi trường của bạn có thể không được thiết lập đúng.

2.3. Cài đặt nâng cao

Rails sẽ mặc định sử dụng sqlite3 để kết nối tới database, nếu muốn dùng MySQL hay PostgreSQL bạn cần phải cài thêm một số packets sau.

Để cài MySQL

sudo apt-get install mysql-server mysql-client libmysqlclient-dev

Gói libmysqlclient-dev cung cấp một số thư viện để biên dịch gem mysql2 dùng để kết nối tới MySQL.

Trong quá trình cài đặt sẽ yêu cầu password cho tài khoản root

Khởi động dịch vụ MySQL và tự chạy mỗi khi khởi động hệ thống.

systemctl start mysql
systemctl enable mysql

Tạo tài khoản có tên admin để phát triển ứng dụng và cũng để kiểm tra trạng thái MySQL, thay admin_password bằng mật khẩu bạn muốn đặt.

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'admin_password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
CREATE USER 'admin'@'%' IDENTIFIED BY 'admin_password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit;

Để xem cách cấu hình MySQL vui lòng tham khảo thêm tại đây

Cài đặt PostgreSQL

sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-common
sudo apt-get install postgresql-9.5 libpq-dev

Khởi động dịch vụ Postgres và tự chạy mỗi khi khởi động hệ thống.

systemctl start postgresql
systemctl enable postgresql

Sau khi cài đặt postgres xong, bạn cần làm theo các bước sau để tạo user có quyền tạo databases. Thay thế chris bằng user của bạn.

sudo -u postgres createuser chris -s

# Nếu muốn đặt mật khẩu cho user, nhập: sudo -u postgres psql

postgres=# \password chris

Tạo app mới.

Các bước cài đặt cơ bản đã xong, sau đây chúng ta sẽ thử tạo app mới

#### SQLite sẽ được sử dụng (mặc định)
rails new myapp

#### Nếu dùng MySQL
rails new myapp -d mysql

#### Dùng Postgres
rails new myapp -d postgresql

cd myapp

# Tạo Database mới
rails db:create

Bạn phải cấu hình lại nội dung file config/database.yml để có thể kết nối đến database, có thể tham khảo cách cấu hình bên dưới.

Đối với MySQL

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: admin
  password: admin_password
  
development:
  <<: *default
  database: myapp_dev
  
production:
  <<: *default
  database: myapp_db

Đối với Postgres

default: &default
  adapter: postgresql
  encoding: utf8
  pool: 5
  user: postgres
  password: postgres

development:
  <<: *default
  host: localhost
  database: myapp_db
  
production:
  <<: *default
    database: myapp

Khởi động server rails

rails server

Sau đó bạn truy cập vào http://localhost:3000

Ruby on Rails

Tham khảo: https://gorails.com


Ruby Objects và Methods
Previous article

Ruby Objects và Methods

Ruby là một ngôn ngữ hướng đối tượng. Mọi thứ trong Ruby đều là Object. Điều này có nghĩa là tất cả các lớp khác bao gồm Array, Fixnum và String đang kế thừa tất cả các phương thức từ Object

Xây dựng ứng dụng Blockchain với Go - Phần 1
Next article

Xây dựng ứng dụng Blockchain với Go - Phần 1

Blockchain là một trong những công nghệ mang tính cách mạng nhất của thế kỷ 21, blockchain vẫn đang phát triển và còn nhiều tiềm năng chưa được khai thác hết.


GO TOP

🎉 You've successfully subscribed to itplusX!
OK
]