Redmine adalah aplikasi manajemen proyek dan pelacakan masalah open free dan open source. Redmine termasuk aplikasi lintas platform dan lintas database, serta dibangun di atas framework Ruby on Rails.
Redmine mencakup dukungan untuk beberapa proyek, wiki, sistem pelacakan masalah, forum, kalender, pemberitahuan email, dan banyak lagi.
Dalam tutorial ini, kami akan membahas cara menginstal dan mengonfigurasi versi Redmine terbaru di server Debian 9 menggunakan MySQL sebagai back-end database dan Passenger + Nginx sebagai server aplikasi Ruby.
Prasyarat
Pastikan Anda telah memenuhi prasyarat berikut sebelum mulai dengan tutorial ini:
- Memiliki nama domain yang menunjuk ke IP publik server Anda. Kami akan menggunakan
example.com
. - Masuk sebagai pengguna dengan hak istimewa sudo.
- Memiliki Nginx terinstall di sistem.
- Memiliki Sertifikat SSL untuk domain Anda.
Membuat database MySQL
Redmine mendukung MySQL / MariaDB, Microsoft SQL Server, SQLite 3 dan PostgreSQL. Kami akan menggunakan MariaDB sebagai back-end database. Pastikan Anda memiliki setidaknya MySQL 5.7 atau MariaDB 10.3 terinstall di mesin Anda.
Jika MariaDB atau MySQL belum terinstal di server Debian Anda, Anda dapat menginstalnya menggunakan instruksi ini.
Mulai dengan masuk ke konsol MySQL dengan mengetik:
sudo mysql
Jalankan pernyataan SQL berikut untuk membuat database baru:
CREATE DATABASE redmine CHARACTER SET utf8mb4;
Buat akun pengguna MySQL baru dan berikan akses ke database:
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'ubah-dengan-password-anda';
Jangan lupa ganti ubah-dengan-password-anda
dengan kata sandi yang kuat.
Setelah selesai, keluar dari konsol MariaDB dengan mengetik:
EXIT;
Instal Ruby
Cara termudah untuk menginstal Ruby di Debian adalah dengan menggunakan apt package manager:
Instal Ruby dengan mengetik perintah:
sudo apt install ruby-full
Pada saat penulisan ini, versi Redmine yang ada di dalam repositori Debian adalah 2.3.3p222.
Instal Passenger dan Nginx
Passenger adalah server aplikasi web yang cepat dan ringan untuk Ruby, Node.js, dan Python yang dapat diintegrasikan dengan Apache dan Nginx. Kita akan menginstal Passenger sebagai modul Nginx.
Pastikan Nginx diinstal sebelum melanjutkan dengan langkah-langkah berikut.
Menginstal paket yang diperlukan untuk mengaktifkan repositori https:
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common
Impor GPG key repositori dan aktifkan repositori Phusionpassenger:
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 561F9B9CAC40B2F7 sudo add-apt-repository 'deb https://oss-binaries.phusionpassenger.com/apt/passenger stretch main'
Perbarui daftar paket dan instal modul Passenger Nginx dengan perintah :
sudo apt update sudo apt install libnginx-mod-http-passenger
Instal Redmine di Debian
Mulail dengan menginstal dependensi yang diperlukan untuk membangun Redmine:
sudo apt install build-essential libmariadbclient-dev imagemagick libmagickwand-dev curl ruby-dev libxslt-dev libxml2-dev zlib1g-dev
Pada saat penulisan artikel ini, versi stabil Redmine terbaru adalah versi 4.0.4.
1. Download Redmine
Download archive Redmine dengan menggunakan perintah curl berikut :
sudo curl -L http://www.redmine.org/releases/redmine-4.0.4.tar.gz -o /tmp/redmine.tar.gz
Setelah pengunduhan selesai, ekstrak arsip dan pindahkan ke direktori /opt
:
cd /tmp sudo tar zxf /tmp/redmine.tar.gz sudo mv /tmp/redmine-4.0.4 /opt/redmine
2. Konfigurasi Database Redmine
Salin file contoh konfigurasi (.example
) Redmine dengan mengetik perintah :
sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml
Buka file contoh konfigurasi Redmine dengan teks editor di linux terminal dengan mengetik perintah :
sudo nano /opt/redmine/config/database.yml
Cari bagian production
dan masukkan database MySQL serta informasi pengguna yang telah kita buat sebelumnya:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "change-with-strong-password"
encoding: utf8
Setelah selesai, simpan file dan keluar dari editor.
3. Install dependensi Ruby
Arahkan ke direktori redmine dan instal bundler serta dependensi Ruby lainnya:
cd /opt/redmine/ sudo gem install bundler --no-rdoc --no-ri sudo bundle install --without development test postgresql sqlite
4. Hasilkan Key dan Migrasikan Database
Jalankan perintah berikut untuk menghasilkan kunci dan memigrasi database:
cd /opt/redmine/ sudo bundle exec rake generate_secret_token sudo RAILS_ENV=production bundle exec rake db:migrate
5. Tetapkan Izin yang benar
Nginx berjalan sebagai pengguna dan grup www-data
. Tetapkan izin yang benar dengan menggunakan perintah chown berikut:
sudo chown -R www-data: /opt/redmine/
Konfigurasikan Nginx
Sekarang, Anda harus sudah menginstal Nginx dengan sertifikat SSL di sistem Anda, jika tidak memeriksa prasyarat untuk tutorial ini.
Buka editor teks Anda dan buat file server block Nginx berikut:
sudo nano /etc/nginx/sites-available/example.com
# Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /opt/redmine/public; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; passenger_enabled on; passenger_min_instances 1; client_max_body_size 10m; }
Jangan lupa untuk mengganti example.com dengan domain Redmine Anda dan setel jalur yang benar ke file sertifikat SSL. Snippets yang digunakan dalam konfigurasi ini dibuat dalam panduan ini.
Aktifkan server block dengan membuat symbolic link ke direktori sites-enabled
:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Sebelum memulai kembali layanan Nginx, lakukan tes untuk memastikan bahwa tidak ada kesalahan sintaksis:
sudo nginx -t
Jika tidak ada kesalahan, hasilnya akan terlihat seperti ini:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Terakhir, restart layanan Nginx dengan mengetik:
sudo systemctl restart nginx
Mengakses Redmine
Buka browser dan ketikkan domain Anda, Jika instalasi berhasil, akan muncul tampilan yang mirip dengan screen shot berikut ini akan muncul:
Kredensial login default untuk Redmine adalah:
- Username: admin
- Password: admin
Ketika Anda masuk untuk pertama kalinya, Anda akan diminta untuk mengubah kata sandi seperti yang ditunjukkan di bawah ini:
Setelah Anda mengubah kata sandi, Anda akan diarahkan ke halaman akun pengguna.
Kesimpulan
Anda telah mengikuti panduan menginstal Redmine pada sistem Debian. Agar lebih memahami tentang Redmine, Anda dapat memeriksa Dokumentasi Redmine dan mempelajari lebih lanjut tentang cara mengkonfigurasi dan menggunakan Redmine.