GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Instal dan Konfigurasi Redmine di CentOS 7

Redmine adalah salah satu perangkat lunak manajemen proyek dan pelacakan masalah sumber terbuka yang paling populer. Ini adalah lintas platform dan lintas basis data dan dibangun di atas kerangka kerja Ruby on Rails.

Redmine menyertakan dukungan untuk beberapa proyek, wiki, sistem pelacakan masalah, forum, kalender, pemberitahuan email, dan banyak lagi.

Dalam tutorial ini kita akan membahas langkah-langkah yang diperlukan untuk menginstal dan mengonfigurasi Redmine versi terbaru di server CentOS 7 menggunakan MariaDB sebagai back-end database dan Passenger + Nginx sebagai server aplikasi Ruby.

Prasyarat #

Pastikan Anda telah memenuhi prasyarat berikut sebelum melanjutkan dengan tutorial ini:

  • Nama domain menunjuk ke IP publik server Anda. Dalam tutorial ini kita akan menggunakan example.com .
  • Masuk sebagai pengguna dengan hak istimewa sudo.

Instal paket yang diperlukan untuk membangun Redmine dan Ruby dari sumber:

sudo yum install curl gpg gcc gcc-c++ make patch autoconf automake bison libffi-devel libtool  sudo yum install readline-devel sqlite-devel zlib-devel openssl-develh readline  glibc-headers glibc-develsudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel

Membuat database MySQL #

Redmine mendukung MySQL/MariaDB, Microsoft SQL Server, SQLite 3 dan PostgreSQL. Dalam tutorial ini kita akan menggunakan MariaDB sebagai back-end database.

Jika Anda belum menginstal MariaDB atau MySQL di server CentOS, Anda dapat menginstalnya dengan mengikuti petunjuk berikut.

Login ke shell MySQL dengan mengetikkan perintah berikut:

sudo mysql

Dari dalam shell MySQL, jalankan pernyataan SQL berikut untuk membuat database baru:

CREATE DATABASE redmine CHARACTER SET utf8;

Selanjutnya, buat akun pengguna MySQL dan berikan akses ke database:

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Pastikan Anda mengubah change-with-strong-password dengan kata sandi yang kuat.

Setelah selesai, keluar dari shell mysql dengan mengetik:

EXIT;

Menginstal Penumpang dan Nginx #

Penumpang adalah server aplikasi web yang cepat dan ringan untuk Ruby, Node.js dan Python yang dapat diintegrasikan dengan Apache dan Nginx. Kami akan menginstal Passenger sebagai modul Nginx.

Instal repositori EPELdan paket yang diperlukan:

sudo yum install epel-release yum-utils pygpgmesudo yum-config-manager --enable epel

Aktifkan repositori Phusionpassenger:

sudo yum-config-manager --add-repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo

Setelah repositori diaktifkan, perbarui daftar paket dan instal Nginx dan Passenger dengan:

sudo yum install nginx passenger passenger-devel

Membuat Pengguna Sistem Baru #

Buat pengguna dan grup baru, yang akan menjalankan instance Redmine, untuk kesederhanaan kami akan memberi nama pengguna redmine :

sudo useradd -m -U -r -d /opt/redmine redmine

Tambahkan nginx pengguna ke grup pengguna baru dan ubah /opt/redmine izin direktorisehingga Nginx dapat mengaksesnya:

sudo usermod -a -G redmine nginxsudo chmod 750 /opt/redmine

Menginstal Ruby #

Versi Ruby di repositori CentOS cukup usang dan tidak didukung oleh Redmine. Kami akan menginstal Ruby menggunakan RVM.

Beralih ke penggunaredmine dengan mengetik:

sudo su - redmine

Impor kunci GPG dan instal RVM:

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBcurl -sSL https://get.rvm.io | bash -s stable

Untuk mulai menggunakan sumber RVMrvm berkas:

source /opt/redmine/.rvm/scripts/rvm

Sekarang kita dapat menginstal Ruby dengan menjalankan:

rvm install 2.5rvm --default use 2.5
Jika Anda ingin menginstal Ruby melalui Rbenv, periksa panduan ini.

Menginstal Redmine di CentOS #

Saat artikel ini ditulis, Redmine versi stabil terbaru adalah versi 4.0.1.

Sebelum melanjutkan dengan langkah selanjutnya, Anda harus memeriksa halaman unduh Redmine untuk melihat apakah versi yang lebih baru tersedia.

Pastikan Anda menjalankan langkah-langkah berikut sebagai redmine pengguna.

1. Mengunduh Redmine #

Unduh arsip Redmine dengan perintah curl berikut:

curl -L http://www.redmine.org/releases/redmine-4.0.1.tar.gz -o redmine.tar.gz

Setelah unduhan selesai, ekstrak arsip:

tar -xvf redmine.tar.gz

2. Konfigurasi Database Redmine #

Salin file konfigurasi database contoh Redmine:

cp /opt/redmine/redmine-4.0.1/config/database.yml.example /opt/redmine/redmine-4.0.1/config/database.yml

Buka file dengan editor teks Anda:

nano /opt/redmine/redmine-4.0.1/config/database.yml

Telusuri production bagian dan masukkan database MySQL dan informasi pengguna yang kami buat sebelumnya:

/opt/redmine/redmine-4.0.1/config/database.yml
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. Menginstal dependensi Ruby #

Arahkan ke redmine-4.0.1 direktori dan instal bundler dan dependensi Ruby lainnya:

cd ~/redmine-4.0.1gem install bundler --no-rdoc --no-ribundle install --without development test postgresql sqlite

4. Buat Kunci dan Migrasikan Basis Data #

Jalankan perintah berikut untuk membuat kunci dan memigrasikan database:

bundle exec rake generate_secret_tokenRAILS_ENV=production bundle exec rake db:migrate

Mengonfigurasi Nginx #

Beralih kembali ke pengguna sudo Anda:

exit

Buka editor teks Anda dan buat file blok server Nginx berikut:

sudo nano /etc/nginx/conf.d/example.com.conf
/etc/nginx/conf.d/example.com.conf
passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby;
passenger_instance_registry_dir /var/run/passenger-instreg;

server {
    listen 80;
    server_name example.com www.example.com;

    root /opt/redmine/redmine-4.0.1/public;

    # 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.

Sebelum memulai ulang layanan Nginx, lakukan tes untuk memastikan tidak ada kesalahan sintaks:

sudo nginx -t

Jika tidak ada kesalahan, outputnya 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

Konfigurasi Nginx dengan SSL #

Jika Anda tidak memiliki sertifikat SSL tepercaya untuk domain Anda, Anda dapat membuat sertifikat SSL Let's Encrypt gratis dengan mengikuti petunjuk berikut.

Setelah sertifikat dibuat, edit konfigurasi domain Nginx sebagai berikut:

sudo nano /etc/nginx/conf.d/example.com.conf
/etc/nginx/conf.d/example.com
passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby;
passenger_instance_registry_dir /var/run/passenger-instreg;

# 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/redmine-4.0.1/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 atur jalur yang benar ke file sertifikat SSL. Semua permintaan HTTP akan dialihkan ke HTTPS.

Mengakses Redmine #

Buka browser Anda, ketik domain Anda dan dengan asumsi instalasi berhasil, layar yang mirip dengan berikut akan muncul:

Kredensial login default untuk Redmine adalah:

  • Nama pengguna:admin
  • Sandi:admin

Saat Anda login 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.


Cent OS
  1. Cara Menginstal dan Mengkonfigurasi Nginx di CentOS 7

  2. Cara Menginstal dan Mengonfigurasi Redis di CentOS 7

  3. Cara Menginstal dan Mengkonfigurasi CyberPanel di CentOS 8

  1. Cara Menginstal dan Mengonfigurasi GitLab di CentOS 7

  2. Cara Menginstal dan Mengonfigurasi Redis di CentOS 8

  3. Cara Instal dan Konfigurasi Redmine di CentOS 8

  1. Cara Menginstal dan Mengonfigurasi Samba di CentOS 8

  2. Cara Menginstal dan Mengonfigurasi GitLab CE di CentOS 7

  3. Cara Menginstal dan Mengonfigurasi Zabbix di CentOS 7