Instalasi Redmine di Tomcat
Posted by Endy Muhardin | Filed under Aplikasi, Linux
Ada berbagai cara instalasi Redmine, diantaranya:
- Dijalankan langsung dari command prompt dengan Webrick
- Dijalankan menggunakan Mongrel dan FastCGI
- Dijalankan menggunakan Ruby Enterprise Edition dan Passenger
- Dibuat menjadi war dan dideploy ke application server Java seperti Tomcat, Glassfish, dsb
Pada artikel ini, kita akan mencoba cara terakhir, yaitu menggunakan Tomcat untuk menghosting Redmine.
Ini saya lakukan supaya semua tools manajemen proyek ArtiVisi bisa disatukan di satu Tomcat, sehingga memudahkan kegiatan maintenance.
Sebelum Redmine, Tomcat ArtiVisi juga menghosting :
Dan nantinya, kalau sudah ada waktu dan kesempatan, juga akan menghosting Gerrit
Mari kita mulai.
Instalasi JRuby
Pertama, kita Download JRuby. Setelah itu, extract di folder yang diinginkan (contohnya /opt)
cd /opttar xzf ~/Downloads/jruby-bin-1.6.3.tar.gzchown -R endy.endy /opt/jruby-1.6.3ln -s jruby-1.6.3 jrubyDaftarkan jruby ke variabel PATH, supaya bisa diakses langsung dari command line.
Tulis baris berikut ini di dalam file ~/.bashrc
export JRUBY_HOME=/opt/jrubyexport PATH=$PATH:$JRUBY_HOME/binTerakhir, test instalasi JRuby
jruby -vjruby 1.6.3 (ruby-1.8.7-p330) (2011-07-07 965162f) (Java HotSpot(TM) Client VM 1.6.0_26) [linux-i386-java]Instalasi Paket Gem
Redmine membutuhkan beberapa library Ruby yang dipaket dalam format gem, yaitu :
- rack versi 1.1.1 : ini adalah library untuk web server
- rails versi 2.3.11 (dibutuhkan karena kita akan menginstal Redmine dari Subversion, bukan dari distribusi)
- jruby-openssl : supaya bisa melayani https
- activerecord-jdbcmysql-adapter : library untuk koneksi database
- warbler : packager supaya Redmine bisa dibuat jadi war dan dideploy ke Tomcat
Mari kita install
gem install rack -v=1.1.1gem install rails -v=2.3.11gem install jruby-openssl activerecord-jdbcmysql-adapter warblerSemua paket sudah lengkap, mari kita lanjutkan ke
Mengambil Redmine dari Subversion Repository
Sebetulnya ada dua pilihan untuk mendapatkan Redmine, download versi rilis atau checkout langsung dari Subversion.
Saya lebih suka checkout langsung supaya nanti lebih gampang upgrade manakala rilis baru sudah terbit.
cd ~/Downloadssvn co http://redmine.rubyforge.org/svn/branches/1.2-stable redmine-1.2Tunggu sejenak sampai proses checkout selesai. Setelah selesai, kita bisa langsung ke langkah selanjutnya.
Konfigurasi Database
Masuk ke folder Redmine, lalu copy file config/database.yml.example ke database.yml, kemudian edit.
Saya menggunakan konfigurasi development sebagai berikut :
development: adapter: jdbcmysql database: redmine host: localhost username: redmine password: redmine encoding: utf8Tentunya kita harus sediakan database dengan konfigurasi tersebut di MySQL. Login ke MySQL, kemudian buatlah database dan usernya.
mysql -u root -p
create database redmine character set utf8;create user 'redmine'@'localhost' identified by 'redmine';grant all privileges on redmine.* to 'redmine'@'localhost';Setelah databasenya selesai dibuat, selanjutnya kita akan melakukan inisialisasi.
Inisialisasi Redmine
Pertama, kita inisialisasi dulu session store. Ini digunakan untuk menyimpan cookie dan session variabel.
cd ~/Downloads/redmine-1.2rake generate_session_storeSetelah itu, inisialisasi skema database.
RAILS_ENV=development rake db:migrateIsi data awal.
RAILS_ENV=development rake redmine:load_default_dataSetelah terisi, selanjutnya kita bisa test jalankan Redmine.
jruby script/server webrick -e developmentHasilnya bisa kita browse di http://localhost:3000
Kemudian kita bisa login dengan username admin dan password admin.
Konfigurasi Email
Issue tracker yang baik harus bisa mengirim email, supaya dia bisa memberikan notifikasi pada saat ada issue baru ataupun perubahan terhadap issue yang ada.
Redmine versi 1.2 membutuhkan file konfigurasi yang bernama configuration.yml, berada di folder config. Berikut isi file configuration.yml untuk mengirim email ke Gmail.
# = Outgoing email settingsdevelopment: email_delivery: delivery_method: :smtp smtp_settings: tls: true address: "smtp.gmail.com" port: 587 authentication: :plain user_name: "nama.kita@gmail.com" password: "passwordgmailkita"Selain itu, kita juga harus menginstal plugin action_mailer_optional_tls, seperti dijelaskan di sini.
jruby script/plugin install git://github.com/collectiveidea/action_mailer_optional_tls.git
Coba restart Redmine, sesuaikan alamat email kita dengan cara klik link My Account di pojok kanan atas.
Di dalamnya ada informasi tentang email. Ganti dengan alamat email kita.
Kemudian pergi ke menu Administration > Settings > Email Notifications,
kemudian klik link Send a test email di pojok kanan bawah.
Tidak lama kemudian, seharusnya test email dari Redmine sudah masuk di mailbox kita.
Dengan demikian, Redmine sudah berhasil kita instal dan konfigurasi dengan baik.
Selanjutnya, kita akan paketkan supaya bisa dideploy di Tomcat.
Generate WAR
Pertama, kita harus inisialisasi dulu konfigurasi warble.
warble config
Dia akan menghasilkan file config/warble.rb. Mari kita edit sehingga menjadi seperti ini.
Warbler::Config.new do |config| config.dirs = %w(app config lib log vendor tmp extra files lang) config.gems += ["activerecord-jdbcmysql-adapter", "jruby-openssl", "i18n", "rack"] config.webxml.rails.env = ENV['RAILS_ENV'] || 'development'endSelanjutnya, kita tinggal menjalankan perintah warble untuk menghasilkan file war.
warblewarning: application directory `lang' does not exist or is not a directory; skippingrm -f redmine-1.2.warCreating redmine-1.2.warFile war yang dihasilkan tinggal kita deploy ke Tomcat
cp redmine-1.2.war /opt/apache-tomcat-7.0.12/webapps/redmine.war
Jalankan Tomcat, dan Redmine bisa diakses di http://localhost:8080/redmine
August 6, 2011 at 10:34 pm
Konfigurasi email kan bisa diletakkan di config/email.yml
Untuk rack, bisa pakai versi 1.1.1 karena ada bug (walau udah diresolve juga), jadi mending pakai rack 1.1.1
http://www.redmine.org/projects/redmine/wiki/RedmineInstall
August 7, 2011 at 2:34 pm
Tadinya juga saya taruh di email.yml, seperti instalasi versi sebelumnya. Tapi ternyata kena warning, katanya disuruh taruh di configuration.yml. Ya sudah saya pindahkan. Mungkin ada perubahan kebijakan di versi 1.2 ini.
Berdasarkan dokumentasi resmi, nama filenya memang configuration.yml.
Versi rack sudah saya update di gist. Biasanya butuh waktu sampai terupdate juga di blog ini.
October 3, 2011 at 10:38 am
Halo mas endy…
Saya lagi mau install Redmine nih di kantor saya, mengikuti petunjuk di blog mas endy, itu link Download JRuby kok mengacu ke alamat JRuby ya, kayaknya salah ng-link ya…
October 3, 2011 at 11:45 am
Oh iya, lupa dikasi link. Sudah saya perbaiki. Thx koreksinya
October 12, 2011 at 1:42 pm
Saya sudah coba create war pake kompi linux yang udah disetting requirements-nya, terus file war saya deploy di komputer lain, sebelumnya sdh saya install mysql dan create database sesuai dengan settingan di redmine. knapa muncul pesan error
“ActiveRecord::JDBCError in WelcomeController#index
Table ‘redmine.settings’ doesn’t exist,
RAILS_ROOT: C:/apache-tomcat-6.0.32/webapps/redmine-1.2/WEB-INF’
apanya yang kurang ya pak endy..?
Salam
Sapardi