Redmine'ı Debian 9 üzerinde tanıtın ve yapılandırın.

7/20/2020
10 minutes
Lukáš Beňa
Redmine, farklı proje desteği, wikiler, sistem izleme sorunları, forumlar, takvimler, e-posta bildirimleri ve çok daha fazlasını içerir. Bu öğreticide, Redmine'ın yeni sürümünü Debian 9 üzerinde nasıl kuracağınızı ve özelleştireceğinizi göstereceğiz.

Başlamadan önce bunu yapmış olduğunuzdan emin olun

  • Sunucunuzda genel bir IP'ye işaret eden bir alan adı bulunmalıdır. Örnek olarak example.com'u kullanacağız.
  • Sudo tercih edilen bir kullanıcı olarak oturum açmış olmalısınız.
  • Kurulu olmalı. Nginx
  • Domain SSL sertifikası kurulu olmalıdır.


Bir MySQL veritabanı oluşturun

Redmine MySQL/MariaDB, SQL Server, SQLite 3, Microsoft ve PostgreSQL'i destekler. Veritabanı için arka uç olarak MariaDB'yi kullanacağız. Bilgisayarınızda en azından MySQL 5.7 veya MariaDB 10.3 kurulu olduğunu kontrol edin. 
Eğer Debian sunucunuzda MariaDB veya MySQL yoksa, aşağıdaki talimatları kullanarak kurabilirsiniz. 
MySQL desteğine giriş yaparak oturum açmaya başlayın:
$ sudo mysql
Yeni bir veritabanı oluşturmak için aşağıdaki SQL ifadesini çalıştırın; 
mysql> CREATE DATABASE redmine CHARACTER SET utf8mb4;
MySQL için yeni bir kullanıcı hesabı oluşturun ve veritabanına erişime izin verin: 
mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
mysql> flush priviledges; <- bu önemlidir! Aksi takdirde, değişiklikler mysql hizmetini yeniden başlatana kadar uygulanmayacaktır.
Güçlü bir şifre ile 'change-with-strong-password' ifadesini değiştirmeyi unutmayın.
Bittiğinde, MariaDB konsolundan çıkış yapmak için aşağıdaki komutu yazarak çıkın:
mysql> EXIT;


Ruby'i kurun

Ruby'nin en son sürümünü Rbenv veya RVM aracılığıyla kurun.


RVM

1. RVM'i kurun, çalıştırın ve otomatik başlatmaya ekleyin
curl -sSL https://get.rvm.io | sudo bash -s master
source /etc/profile.d/rvm.sh
echo '[[ -s "/etc/profile.d/rvm.sh" ]] && source "/etc/profile.d/rvm.sh"' >> ~/.bashrc
2. "easy" adında bir kullanıcı oluşturun (istediğiniz şekilde adlandırabilirsiniz, önemli olan bu kullanıcının redmine uygulamasıyla çalışacak olmasıdır, root kullanıcısı değil. Güvenlik nedenleriyle yapılmalıdır)
useradd -m -G rvm -s /bin/bash easy
Ayrıca "easy" kullanıcısını sudoers grubuna eklemeniz gerekmektedir (bu kullanıcının sudo'dan bazı komutları çalıştırmasına izin vermemiz gerekiyor)
usermod -a -G sudo easy
Bunu yaptıysanız, bir sonraki adımı atlayabilirsiniz, çünkü bu komuttan sonra kullanıcınız zaten doğru grupta olacaktır. Bu kullanıcıya geçin
su - easy
3. kullanıcıyı rvm grubuna ekleyin
usermod -a -G rvm easy
Ayrıca "easy" kullanıcısını sudoers grubuna eklemeniz gerekmektedir (bu kullanıcının sudo'dan bazı komutları çalıştırmasına izin vermemiz gerekiyor)
usermod -a -G sudo easy
"easy" kullanıcısına geçin
su - easy
4. ruby kurulumu
rvm install 2.6 --patch railsexpress
5. git kurulumu
sudo apt-get install git
6. ruby 2.6 'yı varsayılan olarak ayarlayın
rvm use 2.6 --default
İtalik ile belirtilen kısım, root kullanıcısı olmayan bir kullanıcıdan ruby kurulumu yapacaksanız gereklidir. Bunu yapmayı tercih etmezseniz, kullanıcı adını "easy" yerine "redmine" olarak değiştirebilirsiniz.


Rbenv

Lütfen bu makaledeki talimatları izleyin.


Yolcu ve Nginx'yi Tanıtın #

Passenger, Apache ve Nginx ile entegre edilebilen hızlı, hafif bir Ruby, Node.js ve Python web uygulama sunucusudur. Passenger, Nginx modülü olarak tanıtılacak. 

Bir https deposu oluşturmak için gereken paketleri yükleyin:

$    sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common

GPG anahtar deposunu içe aktarın ve Phusionpassenger deposuna izin verin:

$   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'

Paket listesini güncelleyin ve Nginx Passenger Modülünü yükleyin:

$   sudo apt update

$   sudo apt install libnginx-mod-http-passenger

$   gem install passenger --no-ri --no-rdoc

$   passenger-install-nginx-module


Debian'da Redmine Kurulumu

Bir Redmine oluşturmak için gerekli bağımlılıkları yükleyerek başlayın:

$    sudo apt install build-essential libmariadbclient-dev imagemagick libmagickwand-dev curl ruby-dev libxslt-dev libxml2-dev zlib1g-dev

Sonraki adıma geçmeden önce Redmine indirme sayfasını daha yeni bir sürüm için kontrol etmelisiniz.


Redmine'i İndirin

Redmine'den arşivi indirmek için aşağıdaki curl komutunu kullanın:

$     sudo curl -L http://www.redmine.org/releases/redmine-4.0.4.tar.gz -o /tmp/redmine.tar.gz

İndirme tamamlandığında arşivi çıkarın ve /opt dizinine taşıyın:

$  cd /tmp

$  sudo tar zxf /tmp/redmine.tar.gz

$  sudo mv /tmp/redmine-4.0.4 /opt/redmine

Redmine Veritabanını Yapılandırma:

Bir örnekleme için yapılandırma dosyasını Redmine'e kopyalayın:

$     sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml

Metin düzenleyici dosyanızı açın:

$    sudo nano /opt/redmine/config/database.yml

Üretim bölümünü arayın ve önceden oluşturulan MySQL veritabanı ve kullanıcı bilgilerini girin:

/opt/redmine/config/database.yml

Production:

  adapter: mysql2

  database: redmine

  host: localhost

  username: redmine

  password: "change-with-strong-password"

  encoding: utf8

Dosyayı kaydedin ve düzenleyiciyi kapatın.


Ruby Koşullarını Yükleyin

Bundler ve diğer Ruby koşullarını yükleyin ve Redmine dizinine geçin:

$ cd path/to/redmine/

$ sudo gem install bundler

$ sudo bundle install -- without development test

Veritabanını Yeniden Yerleştirerek Anahtarları Oluşturun:

Aşağıdaki anahtar oluşturma komutunu çalıştırın ve veritabanını yeniden yerleştirin.

$ sudo bundle exec rake generate_secret_token

$ sudo RAILS_ENV=production bundle exec rake db:migrate


Doğru İzinleri Ayarlayın

Nginx, www-data'nın bir istemci ve ağ olarak çalışır. İzinleri doğru bir şekilde ayarlamak için aşağıdaki chown komutunu kullanın.

$    sudo chown -R www-data: /opt/redmine/


Nginx Kurulumu

Not: Bu blogda, letsencrypt hakkında daha fazla bilgi edinebilir ve HTTPS sertifikaları oluşturmak/satın almak için alternatif bir yol olan cert-manager hakkında bilgi alabilirsiniz.

Eğer bu öğretici için önkoşulları kontrol etmediyseniz, sistemde zaten bir SSL sertifikasıyla birlikte Nginx'e sahip olmanız gerekiyor.

Metin düzenleyicinizi açın ve Nginx sunucusu için aşağıdaki blok dosyasını oluşturun:

$    sudo nano /etc/nginx/sites-available/example.com

/etc/nginx/sites-available/example.com

# HTTP -> HTTPS yönlendirme

server {

    listen 80;

    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;

    return 301 https://example.com$request_uri;

}

# WWW -> NON WWW yönlendirme

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 parametreleri

    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 dosyaları

    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;
}
Unutmayın, SSL sertifikası dosyalarının doğru yolunu ayarlamak için Redmine alan adınızı örneğin.com ile değiştirin. Tüm HTTP istekleri HTTPS'e yönlendirilecektir. Bu kılavuz, bu kurulumda kullanılan kod parçalarını oluşturur.
Siteler için etkinleştirilen dizine sembolik bir bağlantı oluşturarak blok sunucusunu etkinleştirin:
$    sudo ln -s /etc/nginx/sites-available/örnekin.com /etc/nginx/sites-enabled/
Sözdizimi hataları olmadığından emin olmak için Nginx hizmetini yeniden başlatmadan önce bir test yapın: 
$  sudo nginx -t
Hata oluşmazsa, çıktı aşağıdaki gibi görünmelidir: 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Nihayet, Nginx hizmetini yeniden başlatmak için aşağıdaki komutu yazarak hizmeti yeniden başlatın:
$  sudo systemctl restart nginx


Redmine'e Erişim

Tarayıcınızı açın, alan adınızı yazın ve kurulum başarılıysa aşağıdaki gibi bir ekran görünecektir: 

Redmine'in varsayılan giriş bilgileri şunlardır: 
Kullanıcı adı: admin
Şifre: admin
İlk kez giriş yaptığınızda aşağıdaki gibi şifrenizi değiştirmeniz istenecektir: 

Şifre değiştirildikten sonra kullanıcı hesabı sayfasına yönlendirileceksiniz.
Redmine'i Debian sisteminizde başarıyla kurmuş oldunuz.

Redmine yükseltmesi için en iyi seçenek? Kolay.

Mükemmel proje planlama, yönetim ve kontrol için güçlü araçları tek bir yazılımda edinin.

Easy Redmine'ı 30 gün ücretsiz deneyin

Tam özellikli, SSL korumalı, günlük yedeklemeler, bulunduğunuz konumda