Cara Install Ruby On Rails di Ubuntu 20.04 dengan MySQL, Nginx, Passenger, SSL. Ruby adalah bahasa pemrograman open-source yang dinamis yang mengutamakan kesederhanaan dan produktivitas. Ini fitur sintaks mudah yang alami untuk membaca dan menulis. Ruby on Rails adalah kerangka kerja web yang banyak digunakan untuk Ruby yang dibuat untuk membantu pengembang perangkat lunak menjadi lebih produktif.
Nginx adalah server web yang dapat menyediakan transaksi HTTP dan melayani file statis tetapi tidak dapat menjalankan aplikasi Ruby secara langsung. Jadi kami menggunakan Phusion Passenger yang merupakan server aplikasi web sumber terbuka gratis. Ini dirancang untuk menangani permintaan HTTP, memantau dan mengelola proses dan sumber daya, serta memungkinkan administrasi, pemantauan, dan diagnosis masalah.
Dalam panduan ini, Anda akan mengatur Penumpang untuk membantu Nginx melayani aplikasi web Ruby on Rails Anda dan menginstal Let'sEncrypt SSL untuk mengamankan aplikasi Anda.
Prasyarat
- Server dengan Ubuntu 20.04
- Akses root ke server atau pengguna Anda dengan hak istimewa sudo.
- Pengetahuan menengah dalam menggunakan perintah terminal Linux.
- Nama domain yang diarahkan ke IP eksternal server Anda.
Pengaturan Server Awal
Perbarui paket server Anda ke yang terbaru.
sudo apt update sudo apt dist-upgrade -y
Instal Ruby on Rails dengan Rbenv
Untuk memastikan penyiapan berjalan dengan baik, kita akan mulai dengan menambahkan repositori Node.js dan Yarn.
curl -sL https://deb.nodesource.com/setup_lts.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
Instal Dependensi
Sekarang Anda dapat menginstal semua dependensi.
sudo apt-get update sudo apt-get 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
Instal Rbenv dan Rbenv Build
Rbenv adalah pengelola versi Ruby yang digunakan untuk menginstal Ruby.
Di sini kita akan menginstal Rbenv dan Rbenv-build.
Instal Rbenv
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
Instal Rbenv Build
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
Konfigurasi Versi Ruby
Sekarang Anda dapat mengatur versi Ruby default dan global.
rbenv install 3.1.1 rbenv global 3.1.1
Konfirmasi versi Ruby menggunakan perintah berikut.
ruby -v
Sekarang Anda perlu menginstal bundler.
gem install bundler
Pasang Rel
gem install rails -v 7.0.2.3
Jadikan perintah rails dapat dieksekusi.
rbenv rehash
Konfirmasi versi Rails.
rails -v
Instal MySQL
Dalam tutorial ini kita akan menggunakan MySQL untuk database.
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
sudo mysql_secure_installation
Anda dapat mengonfigurasi pengguna dan kata sandi baru di MySQL jika perlu.
Konfigurasi Rails untuk MySQL
Sekarang instal adaptor MySQL untuk Rails
gem install mysql2
Instal Penumpang dan Nginx
Sekarang kita akan menginstal Nginx dan mengkonfigurasi Penumpang.
Instal Nginx.
sudo apt -y install nginx
Instal Penumpang.
sudo apt install -y dirmngr gnupg apt-transport-https ca-certificates sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
Tambahkan repositori APY Penumpang.
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger focal main > /etc/apt/sources.list.d/passenger.list'
Perbarui dan instal Penumpang.
sudo apt update sudo apt install -y libnginx-mod-http-passenger
Sekarang konfigurasi penumpang baru akan ditambahkan di dalam direktori conf.d instalasi Nginx.
Mulai ulang Nginx agar pemasangan modul Penumpang diterapkan.
sudo service nginx start
Konfigurasikan Penumpang dengan Rbenv
Edit file konfigurasi Penumpang.
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
Komentari baris yang dimulai dengan passenger_root
dan passenger_ruby
.
Tambahkan baris berikut ke dalam file.
Ganti nama pengguna di jalur opsi Passenger_ruby dengan nama pengguna tempat Anda menginstal Rbenv.
passenger_ruby /home/example_user/.rbenv/shims/ruby; passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
Simpan dan keluar dari file.
Mulai ulang Nginx.
sudo service nginx restart
Buat Proyek Rel Baru
Buat direktori baru untuk proyek Rails Anda atau cukup navigasikan ke direktori mana pun. Di sini kita menavigasi ke direktori web Nginx default.
cd /var/www
Buat proyek Rails.
rails new project-name -d mysql cd project-name
Edit konfigurasi database untuk terhubung ke database Anda.
sudo nano config/database.yml
Ganti nama pengguna dengan username
. Anda , sandi dengan password
. Anda
Pastikan database.yml
terlihat seperti ini
default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: username password: password host: locahost database: database_name development: <<: *default test: <<: *default production: <<: *default
Inisialisasi basis data Rails.
rake db:create
Mulai ulang Rel.
rails restart
Konfigurasi Nginx dengan Ruby on Rails
Hapus konfigurasi Nginx default.
sudo rm -rf /etc/nginx/sites-available/default sudo rm -rf /etc/nginx/sites-enabled/default
Buat konfigurasi baru untuk aplikasi Ruby Anda
sudo nano /etc/nginx/sites-available/domainname.conf
Rekatkan pengaturan konfigurasi baru ini dan tekan Ctrl+X
diikuti oleh Y
untuk menyimpan file
server { listen 80 default_server; server_name domainname.com; passenger_enabled on; passenger_app_env production; root /var/www/html/project-name/public; }
Aktifkan konfigurasi baru Anda
sudo ln -s /etc/nginx/sites-available/domainname.conf /etc/nginx/sites-enabled/domainname.conf
Validasi konfigurasi Nginx dan mulai ulang nginx
sudo nginx -t sudo service nginx restart
Instal Let'sEncrypt SSL
Kami dapat menggunakan Certbot untuk menginstal sertifikat SSL Let's Encrypt gratis untuk domain Anda.
sudo apt install python3-certbot-nginx
Jalankan perintah berikut untuk menginstal sertifikat dan mengonfigurasi pengalihan ke HTTPS secara otomatis.
sudo certbot --nginx --redirect --agree-tos --no-eff-email -m [email protected] -d domain.com -d www.domain.com
Sekarang Anda akan menerima sertifikat SSL dan itu akan dikonfigurasi secara otomatis.
Siapkan perpanjangan otomatis.
sudo certbot renew --dry-run
Sekarang Ruby on Rails terinstal dan dikonfigurasi dengan Passenger dan Nginx dan terhubung dengan database MySQL.
Kunjungi nama domain Anda di browser Anda, Anda dapat melihat halaman selamat datang Ruby on Rails.
Kesimpulan
Sekarang Anda telah mempelajari cara Menginstal Ruby On Rails di Ubuntu 20.04 dengan MySQL dan mengonfigurasi Nginx dengan Passenger dan mengonfigurasi Let'sEncrypt SSL.
Terima kasih atas waktunya. Jika Anda menghadapi masalah atau umpan balik, silakan tinggalkan komentar di bawah.