Konfigurasi Ruby on Rails dan PostgreSQL di CentOS 7

Dalam tutorial ini, kita akan membahas langkah langkah untuk menginstal Ruby on Rails di CentOS 7. Kami akan menginstal dan mengkonfigurasi Ruby on Rails dengan database PostgreSQL, dan kemudian membuat first project dengan Rails.


Sebelum melanjutkan ke tutorial pastikan apa yang dibutuhkan sudah terpenuhi : CentOS 7 Server dengan hak akses root.
Oke langsung saja ke tutorial.

Install RVM
RVM atau Ruby Versi Manager adalah  cli-tool berbasis Bash dan Ruby untuk mengelola instalasi ruby. RVM memungkinkan kamu untuk menginstal dan mengkonfigurasi beberapa versi ruby pada server yang sama secara bersamaan untuk memungkinkan Anda untuk bekerja dengan beberapa lingkungan ruby.
yum install curl
curl -sSL https://rvm.io/mpapis.asc | gpg --import -
curl -sSL https://get.rvm.io | bash -s stable --ruby
Sekarang kita bisa menggunakan RVM dengan perintah berikut :
source /usr/local/rvm/scripts/rvm
Install Ruby
Selanjutnya adalah tahap instalasi Ruby dengan RVM yang sudah kita install sebelumnya. Saat artikel ini ditulis, versi terbaru ruby yang stabil adalah versi 2.3.1
rvm get stable --autolibs=enable
rvm install ruby-2.3.1
rvm --default use ruby-2.3.1
Install Nodejs
Rails membutuhkan runtime JavaScript untuk mengkompilasi.
curl -sL https://rpm.nodesource.com/setup_6.x | sudo -E bash -
yum -y install nodejs
Konfigurasi Gem
RubyGems adalah Ruby Package Manager. Saat kalian menginstall ruby, gem otomatis terinstall.
Pastikan gem kalian sudah terupdate.
gem update --system
gem -v
Install Ruby on Rails 5 (Stable)
Install RoR 5 dengan gem yang sudah dikonfigurasi sebelumnya.
gem install rails -v 5.0.0

Setting PostgreSQL Database untuk Rails Development
Ruby on Rails mendukung banyak database seperti MySQL, SQLite (Default) dan PostgreSQL. Saya akan menggunakan PostgreSQL sebagai database untuk panduan ini.
Install PostgreSQL
yum -y install postgresql-server postgresql-devel postgresql-contrib
Sekarang kita harus menginisialisasi database server dengan perintah initdb.
postgresql-setup initdb

Secara default, PostgreSQL pada server CentOS tidak memungkinkan otentikasi berbasis password. Kita perlu mengedit konfigurasi PostgreSQL untuk instalasi RoR untuk memungkinkan login dengan password.
nano /var/lib/pgsql/data/pg_hba.conf
Ubah metode otentifikasi menjadi md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
Jalankan postgresql service
systemctl start postgresql
Sekarang kita cek apakah postgresql sudah berjalan.
netstat -plntu
systemctl status postgresql

Selanjutnya login ke postgresql (psql) dengan postgres user .
su - postgres
psql
Atur password baru untuk postgres
\password postgres
Selanjutnya buat role baru dengan nama "rails-dev" untuk rails development.
create role rails_dev with createdb login password 'aqwe123';
\du
Buat Aplikasi Pertama dengan Rails dan PostgreSQL
Sekarang kita coba untuk membuat aplikasi pertama kita .
Buat aplikasi dengan default database postgresql.
rails new myapp -d postgresql
Perintah ini akan membuat direktori baru 'myapp' dan menginstal gem baru termasuk "pg" yang dibutuhkan oleh rel untuk menghubungkan ke database PostgreSQL.
Masuk ke direktori myapp dan edit database nya.
cd myapp/
vim config/database.yml
Edit untuk user maupun password database sehingga menjadi seperti ini :
database: myapp_test
host: localhost
port: 5432
username: rails_dev
password: aqwe123

Intinya sesuaikan dengan password yang dibuat sebelumnya.
Sekarang buat database baru dengan perintah rails.
rails db:setup
rails db:migrate
Kemudian jalankan rails server.
rails s -b 192.168.33.10 -p 8080

Yosh, kita hampir selesai. Sekarang balik ke terminal.
rails g scaffold Post title:string body:text
rake db:migrate
Jalankan lagi rails server
rails s -b 192.168.33.10 -p 8080
Masuk ke 
192.168.33.10:8080/posts
Baiklah, sekian tutorial kali ini, semoga bermanfaat. Jika ada yang kurang jelas silahkan bertanya.

Reff :

Posting Komentar untuk "Konfigurasi Ruby on Rails dan PostgreSQL di CentOS 7"