Hosting Control Panel cPanel sejak Versi 11, memungkinkan account yang terdapat di dalamnya mengembangkan aplikasi dengan menggunakan Ruby on Rails (RoR). Secara default instalasi RoR pada cPanel akan menggunakan Mongrel, namun melalui konfigurasi manual pengguna server dapat menggunakan Phusion Passenger yang juga dikenal sebagai mod_rails atau mod_rack dan Ruby Enterprise Edition.
Artikel berikut akan menguraikan langkah demi langkah instalasi dan konfigurasi pada sebuah mesin cPanel yang telah berjalan dengan baik di Operating System CentOS 5.2 x86_64.
Instalasi Ruby dan RubyGems
Pada cPanel hal ini dapat dilakukan dengan menggunakan script yang disediakan;
/scripts/installruby /usr/local/cpanel/bin/ror_setup
Script tersebut akan melakukan instalasi Ruby, RubyGems, Mongrel dan mengaktifkan interface Ruby pada cPanel masing-masing account di dalam server anda. Script ror_setup akan melakukan setup Ruby on Rails dan akan mengaktifkan begitu sistem di start.
Instalasi Phusion Passenger
Jalankan perintah-perintah berikut;
gem install passenger cd /usr/local/bin/ ln -s /usr/local/apache/bin/apxs ln -s /usr/local/apache/include/ /usr/include/apr-1 export APR_CONFIG=/usr/local/apache/bin/apr-1-config export APU_CONFIG=/usr/local/apache/bin/apu-1-config
Lakukan instalasi Phusion Passenger sebagai modul Apache;
passenger-install-apache2-module
Instalasi Ruby Enterprise Edition (REE)
Download file isntaller REE dan jalankan script installer yang disediakan; Sesuaikan keterangan versi dengan versi yang anda gunakan;
cd /usr/src/ http://www.magnet-id.com/download/framework/ror/ruby-enterprise/ruby-enterprise-1.8.6-20090113.tar.gz tar xzvf ruby-enterprise-1.8.6-20090113.tar.gz ./ruby-enterprise-1.8.6-20090113/installer
Ikuti instruksi pada saat menjalankan script installer dan pelajari keterangan yang disediakan.
Konfigurasi Apache
Apache kemudian harus dikonfigurasi agar menggunakan module Phusion Passenger. Edit file konfigurasi Apache anda, dan pastikan bahwa cpanel mengaktifkan penambahan konfigurasi tersebut;
vi /usr/local/apache/conf/httpd.conf
Tambahkan baris berikut; Sesuaikan dengan folder instalasi Ruby Enterprise Edition anda;
LoadModule passenger_module /opt/ruby-enterprise-1.8.6-20090113/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so
PassengerRoot /opt/ruby-enterprise-1.8.6-20090113/lib/ruby/gems/1.8/gems/passenger-2.0.6
PassengerRuby /opt/ruby-enterprise-1.8.6-20090113/bin/ruby
Simpan file tersebut dan pastikan bahwa cPanel mengaktifkan tambahan tersebut.
/usr/local/cpanel/bin/apache_conf_distiller --update /usr/local/cpanel/bin/build_apache_conf /scripts/restartsrv_httpd
Deployment Aplikasi RoR
Untuk mulai mengembangkan aplikasi RoR di server anda, silahkan buat user account yang memilki akses shell; Pindah ke account tersebut dengan menggunakan su.
Sesuaikan keterangan username dengan username yang telah anda buat melalui WHM. Dalam contoh ini kita akan membuat folder rails di dalam home direktori username.
su username cd ~ mkdir rails && cd rails rails testapp ln -s /home/username/rails/testapp/public/ /home/username/public_html exit
Tambahkan konfigurasi virtual host untuk domain tersebut, sesuaikan username dan domain_name.
mkdir -p /usr/local/apache/conf/userdata/std/2/username/domain_name/ touch /usr/local/apache/conf/userdata/std/2/username/domain_name/rails.conf
Masukkan keterangan berikut pada file rails.conf, sesuaikan dengan folder yang anda gunakan di dalam public_html;
RailsBaseURI /public
Panggil rails.conf tersebut di konfigurasi Virtual Host Apache milik domain terkait. Edit file httpd.conf;
vi /usr/local/apache/conf/httpd.conf
Masukkan keterangan include di dalam tag VirtualHost domain terkait.
Include “/usr/local/apache/conf/userdata/std/2/username/domain_name/*.conf”
Aktifkan kedalam konfigurasi cPanel dan restart httpd;
/usr/local/cpanel/bin/apache_conf_distiller --update /usr/local/cpanel/bin/build_apache_conf /scripts/restartsrv_httpd
Untuk merestart aplikasi dapat dilakukan dengan merestart Apache atau dengan membuat file restart.txt di dalam folder tmp aplikasi terkait;
touch /home/username/rails/testapp/tmp/restart.txt
Jangan menggunakan fasilitas Ruby on Rails yang terdapat di dalam cPanel, karena hal ini akan mengaktifkan konfigurasi Mongrel di account terkait.
Referensi