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

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.
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.
AWS EC2 Yönetim Konsolu
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.
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.
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.
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.