Mulai dari mana ya.. Kenalan.
Redmine adalah aplikasi manajemen proyek yang dibuat menggunakan framework Ruby on Rails. Redmine mendukung multiple project. Jadi kita bisa menginstal Redmine untuk mengelola semua proyek yang sedang berjalan. Untuk pengelolaan proyek, Redmine memiliki Gantt chart dan Calendar. Untuk mengelola dokumentasi proyek, sudah ada wiki yang bisa dipakai. Tugas dibagikan pada team member dengan menggunakan konsep issue. Bahkan bisa melihat kode program yang sudah dibuat menggunakan version control browser. Kali ini saya ingin mengintegrasikan dengan Git. Selain Redmine bisa menggunakan Trac (yang dipakai sebagai wiki di dev.blankonlinux.or.id). Lanjut pasang-pasang.
Spesifikasi :
- OS : Debian 7.4 (Wheezy) | kasus saya debian minimalis via proxmox
- RAM : 1GB
Depedensi :
- Redmine 2.5.x
- Ruby 2.0
- Rails 3.2.x
- Git 1.7.10
- Mysql-server 5.5
- Apache2
Langsung sikat:
1. Pasang depedensi diserver.
$ sudo apt-get update $ sudo apt-get install curl gawk g++ gcc make libc6-dev libreadline6-dev \ zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev \ libncurses5-dev automake libtool bison pkg-config libffi-dev git subversion \ imagemagick libmagickwand-dev mysql-server libmysqlclient-dev apache2 \ apache2-threaded-dev libcurl4-gnutls-dev apache2 libapache2-svn \ libapache-dbi-perl libapache2-mod-perl2 libdbd-mysql-perl \ libauthen-simple-ldap-perl openssl bsdutils dialog
2. Tambahkan user git
# adduser git
2. Buat database. Ganti my_password dengan password anda,
mysql -uroot -p
CREATE DATABASE redmine CHARACTER SET utf8; CREATE DATABASE redminedev CHARACTER SET utf8; CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password'; GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; FLUSH PRIVILEGES; EXIT;
3. Pasang Ruby dan Redmine. Ruby dipasang menggunakan rvm dan Redmine dibangun dari source.
$ curl -sSL https://get.rvm.io | bash -s stable --ruby=2.0.0 source /home/nona/.rvm/scripts/rvm #ini sesuai user ketika memasang Ruby
Lanjut config-config
$ cd /opt/ $ sudo mkdir redmine $ cd redmine/ $ sudo svn co http://svn.redmine.org/redmine/branches/2.5-stable current $ cd current/ $ sudo mkdir -p tmp tmp/pdf public/plugin_assets $ sudo chown -R www-data:www-data files log tmp public/plugin_assets $ sudo chmod -R 755 files log tmp public/plugin_assets $ sudo mkdir -p /home/git/repos/ $ sudo chown -R www-data:git /home/git/repos/ #agar user git bisa mengakses
4. Konfigurasi database
$ sudo cp config/configuration.yml.example config/configuration.yml $ sudo cp config/database.yml.example config/database.yml $ sudo vim config/database.yml
Edit bagian database
production: adapter: mysql2 database: redmine host: localhost username: redmine password: "my_password" encoding: utf8
Inisiasi database Redmine
$ su - # source /home/nona/.rvm/scripts/rvm # cd /opt/redmine/current # bundle install --without development test # bundle exec rake generate_secret_token # RAILS_ENV=production bundle exec rake db:migrate # RAILS_ENV=production bundle exec rake redmine:load_default_data
5. Konfigurasi webserver,
#gem install passenger #passenger-install-apache2-module
Konfigurasi passenger
sudo vim /etc/apache2/conf.d/passenger.conf
JANGAN menyalin file konfigurasi ini, cocokkan dengan output dari passenger-install-apache2-module
LoadModule passenger_module /home/nona/.rvm/gems/ruby-2.0.0-p481/gems/passenger-4.0.48/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /home/nona/.rvm/gems/ruby-2.0.0-p481/gems/passenger-4.0.48 PassengerDefaultRuby /home/nona/.rvm/gems/ruby-2.0.0-p481/wrappers/ruby </IfModule>
Load Redmine.pm library untuk autentifikasi repository :
$ sudo ln -s /opt/redmine/current/extra/svn/Redmine.pm /usr/lib/perl5/Apache2/
6. Konfigurasi SSL,
$ sudo mkdir /etc/apache2/ssl $ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/redmine.key -out /etc/apache2/ssl/redmine.crt
7. Set virtual host, sesuaikan dengan setingan server masing-masing.
$ cd /etc/apache2/sites-available $ sudo wget https://gist.githubusercontent.com/martin-denizet/11080033/raw/46d6da9217aa249eda8d0203102380e1ba62f774/redmine.vhost
Load modul-modul apache2.
$ su a2enmod ssl a2enmod perl a2enmod dav a2enmod dav_svn a2enmod dav_fs a2enmod rewrite a2enmod headers a2dissite default a2ensite redmine.vhost service apache2 restart
8. Pasang Plugin Git
# cd /opt/redmine/current/plugins/ git clone https://github.com/martin-denizet/redmine_create_git.git source /home/nona/.rvm/scripts/rvm bundle install service apache2 restart
9. Konfigurasi server git. Pakai panduan dari DigitalOcean,
Posisi dikomputer server, login sebagai user git
$ su - git #login sebagai user git $ mkdir ~/.ssh && touch ~/.ssh/authorized_keys
Salin kunci publik komputer lokal ke file authorized_keys. (caranya terserah, bisa scp, dan lain-lain)
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
Set repository di server
$ cd /home/git/repos/ $ git init --bare project.git
Dari komputer lokal yang sudah didaftarin kunci publiknya, setup repository git :
$ git init && git remote add origin git@ipserverredmine:repos/my-project.git $ git pull origin master
Kelar, user sdh bisa lakukan push, pull dari lain-lain.
Peer, konfig mail server di Redmine.
Sekian. Jika ada pertanyaan, sila tinggalkan komentar.
Ucapan terimakasih untuk Martin Denizet dan Heker IPB, Kaka Prakasa sebagai rujukan panduan ini.
[0] http://martin-denizet.com/30-minutes-to-redmine-an-express-installation-guide/
[1] https://www.digitalocean.com/community/tutorials/how-to-set-up-a-private-git-server-on-a-vps
Regard
Tuan Pembual
Satu tanggapan untuk “Memasang Redmine+Integrasi Git di Debian Wheezy”