Amazon Web Hizmetleri (AWS) üzerine Redmine Nasıl Kurulur - Ubuntu 18.04 LTS - Bölüm 1

2/17/2020
11 minutes
Lukáš Beňa.
Redmine, açık kaynaklı bir proje yönetimi ve sorun takip web uygulamasıdır. Ruby on Rails üzerinde çalışır ve çapraz platform ve çapraz veritabanı olması için tasarlanmıştır. Bu öğreticide, Redmine'ı Amazon Web Services (AWS) üzerine nasıl kuracağınızı öğreneceksiniz.

Amazon Web Services (AWS) üzerinde Redmine'i yüklemek için iki ana seçenek vardır:

  • Basit bir AWS Linux örneği (EC2 veya Lightsail) kullanarak Redmine'i manuel olarak yüklemek veya
  • Önceden yapılandırılmış tek tıklamayla yüklenen Redmine Lightsail örneğini kullanmak.

Eğer ilk seçeneği tercih edersek, Redmine dağıtımının her yönünün tam kontrolünü elde ederiz. Öte yandan, ikinci seçenek, tüm kurulum ve yapılandırma detaylarıyla uğraşmadan Redmine'i birkaç dakika içinde hızlı ve kolay bir şekilde çalışır hale getirme imkanı sunar.

Bu öğreticinin ilk bölümü, Redmine'i basit bir AWS Linux örneğine nasıl yükleyeceğinizi açıklar.

Önkoşullar

İşleme başlamadan önce, aşağıdaki önkoşulların sağlandığından emin olun:

  • Yönetici ayrıcalıklarına sahip bir Amazon Web Services hesabınız var.
  • redmine.mydomain.com gibi Redmine uygulamanız için bir alan adınız var.
  • Alan adınızın DNS yapılandırmasına erişiminiz var.

Basit bir Linux EC2 veya LightSail örneğine Redmine yüklemek

Bu öğreticinin amacıyla, Ubuntu 18.04 LTS çalıştıran bir AWS EC2 veya Lightsail örneği başlattığınızı varsayıyoruz.

Redmine'i bu Linux örneğine MySQL veritabanı, NGINX web sunucusu ve Phusion Passenger uygulama sunucusu kullanarak yükleyeceğiz.

DNS Sunucusunu Yapılandırma

Örneğinize bağlanmadan önce DNS'nizi yapılandırmanız gerekmektedir. Redmine alan adınız (redmine.mydomain.com) için bir DNS girişi oluşturun ve AWS Linux örneğinizin genel IP adresine işaret edin.

Bunu AWS Route 53 hizmetini kullanarak yapabilirsiniz.

image001

AWS Route 53 Kullanarak DNS Yapılandırması

Ubuntu 18.04 LTS örneğinizin genel IP'sini EC2 Yönetim Konsolu'nda veya Lightsail Konsolu'nda bulabilirsiniz.

image003

AWS EC2 Yönetim Konsolu

image005

AWS Lightsail Konsolu

DNS girişiniz yapılandırıldıktan sonra Linux örneğinize bağlanın ve aşağıdaki adımları tamamlayın.

MySQL veritabanını yükleyin ve yapılandırın

1. MySQL sunucusunu yükleyin:

sudo apt update

sudo apt install mysql-server mysql-client

2. İlk MySQL sunucusu yapılandırmasını gerçekleştirin:

sudo mysql_secure_installation

Aşağıdakiler için sorulacaksınız:

  • VALIDATE PASSWORD PLUGIN'i etkinleştirme (evet deyin ve GÜÇLÜ şifreler seçin)
  • root kullanıcı şifresini seçme.
  • anonim kullanıcıları kaldırma (evet deyin).
  • root uzaktan oturum açmasını engelleme (Ubuntu Linux örneğinizin dışından veritabanına bağlanmayı planlıyorsanız hayır deyin, aksi takdirde evet deyin).

3. MySQL sunucusunun çalıştığını kontrol edin:

sudo systemctl status mysql

(komut yanıtının bir parçası olarak active (running) görmelisiniz)

4. Redmine için yeni bir veritabanı ve yeni bir veritabanı kullanıcısı oluşturun:

sudo mysql

mysql > CREATE DATABASE redminedb CHARACTER SET utf8mb4;

mysql > GRANT ALL ON redminedb.* TO 'redminedbusr'@'localhost' IDENTIFIED BY 'password';

mysql > flush priviledges;

mysql > EXIT

Ruby Kurulumu

Linux dağıtımınıza varsayılan Ruby sürümünü kurun. Farklı bir sürüme ihtiyacınız varsa, RVM (Ruby Sürüm Yöneticisi)'ni kullanabilirsiniz.


1. Ruby Kurulumu:

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


RVM

1. rvm'yi kurun, çalıştırın, otomatik başlatmaya ekleyin

curl -sSL https://get.rvm.io | sudo bash -s master
/etc/profile.d/rvm.sh dosyasını kaynakla
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 gibi adlandırabilirsiniz, önemli olan bu kullanıcının redmine uygulamanızla ç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 ekle

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. varsayılan olarak ruby 2.6 ayarla

rvm use 2.6 --default

İtalik olarak belirtilen kısım, root kullanıcısından olmayan bir kullanıcıdan ruby kurulumu yapacaksanız gereklidir. Bunu bırakmaya karar verirseniz, kullanıcı adını "easy" yerine "redmine" olarak değiştirebilirsiniz.


Rbenv

Lütfen bu makaledeki talimatları izleyin.


NGINX ve Passenger Kurulumu

NGINX, maksimum performans ve kararlılık için tasarlanmış açık kaynaklı bir web sunucusudur. Passenger, NGINX ile entegre olarak çalışan Ruby yazılımlarını, örneğin Redmine'i web üzerinde çalıştırmak için kullanılan açık kaynaklı bir uygulama sunucusudur. Bizim durumumuzda her ikisini de kurmamız gerekiyor.

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

sudo gem install bundler --no-rdoc --no-ri


Redmine Kurulumu ve Yapılandırması

Kurulumu devam ettirmeden önce, mevcut en son Redmine sürümünü kontrol edin. Bu bilgiyi Redmine indirme sayfasında bulabilirsiniz.

image007

Redmine İndirme Sayfası

Hedef sürümünüzü not alın ve devam edin.

Not: Redmine'i root kullanıcısından kurup çalıştırmamak daha iyidir.


1. Redmine'i derlemek için gerekli bağımlılıkları kurun:

sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev


2. Redmine'i /tmp dizinine indirin:

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


3. İndirilen arşivi çıkarın ve uygulama dosyalarını kurulum dizinine kopyalayın:

cd /tmp

sudo tar zxf /tmp/redmine.tar.gz

sudo mv /tmp/redmine-4.1.0 /var/www/html/redmine/


3. Redmine veritabanı ayarlarını yapılandırın


3.1. Veritabanı yapılandırma dosyasını (database.yml) açın

cd /var/www/html/redmine/config/

cp database.yml.example database.yml

sudo nano /var/www/html/redmine/config/database.yml


3.2. Aşağıdaki değişiklikleri dosyanın production bölümüne uygulayın:

production:

adapter: mysql2

database: redminedb

host: localhost

username: redminedbusr

password: "password"

encoding: utf8mb4


3.3. Redmine'i çalıştırmak için gerekli Ruby bağımlılıklarını yükleyin:

cd /var/www/html/redmine/

sudo gem install bundler --no-rdoc --no-ri

sudo bundle install --without development test postgresql sqlite


3.4. Veritabanını göç edin ve çalışma ortamını yapılandırın.

cd /var/www/html/redmine/

sudo bundle exec rake generate_secret_token

sudo RAILS_ENV=production bundle exec rake db:migrate


NGINX'i yapılandırın

Bu, öğreticimizin son adımıdır. NGINX yapılandırmanızı tamamladıktan sonra Ubuntu 18.04 LTS sunucunuzda tamamen işlevsel bir Redmine sunucusu olacaktır.


1. Redmine uygulamanız için bir sanal sunucu oluşturun:

sudo nano /etc/nginx/sites-available/redmine.mydomain.com


2. Aşağıdaki sanal sunucu yapılandırmasını girin ve dosyanızı kaydedin:

server {

listen 80;

server_name redmine.mydomain.com;

root /var/www/html/redmine/public;

passenger_enabled on;

passenger_min_instances 1;

client_max_body_size 10m;

# server hata sayfalarını statik sayfa /50x.html'e yönlendir

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}


3. Yeni oluşturulan yapılandırma dosyasını sites-enabled dizinine bağlayarak sanal sunucunuzu etkinleştirin:

sudo ln -s /etc/nginx/sites-available/redmine.mydomain.com /etc/nginx/sites-enabled/redmine.mydomain.com


4. NGINX yapılandırmanızı doğrulayın:

sudo nginx -t

KOMUT ÇIKTISI:

nginx: /etc/nginx/nginx.conf yapılandırma dosyası sözdizimi doğru

nginx: /etc/nginx/nginx.conf yapılandırma dosyası testi başarılı


5. NGINX sunucusunu yeniden başlatın:

sudo systemctl restart nginx


Redmine'e Erişim

1. Web tarayıcınızı açın ve adres çubuğuna Redmine alan adınızı yazın. Redmine giriş ekranı görünecektir.

image009

Redmine İlk Giriş Ekranı

2. Varsayılan kimlik bilgilerini kullanarak Redmine sunucunuza giriş yapın (kullanıcı adı: admin ve şifre: admin) ve istendiğinde yönetici hesabınız için yeni bir şifre belirleyin.

3. Son olarak, yönetici hesabınızın ayarlarını, e-posta adresinizi ve zaman diliminizi yapılandırın.

image011

Tebrikler! Redmine'niz hazır!

Redmine'i Amazon Web Services (AWS) üzerinde nasıl dağıtabileceğinizi keşfetmek isterseniz, bu öğreticinin ikinci bölümüne göz atın.

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