Image

Bilgi Veritabanı → VPS Centos 7 Üzerinde Redmine Kurulumu

Bu kılavuzda, CentOS 7 işletim sistemine sahip bir VPS sunucuda Redmine uygulamasını kuruyoruz. Amacımız, ihtiyaç halinde anlaşılır ayarlarla çalışan bir Redmine uygulamasına sahip hazır bir sunucu elde etmektir. Bu süreçte bir veritabanı, ek paketler, Ruby kurulumu yapacak ve Nginx web sunucusunu yapılandıracağız. Bu kılavuzda işlemleri root kullanıcısı ile yapıyoruz; eğer normal bir kullanıcıysanız, komutların başına sudo ekleyin.

Önceden yapılandırılmış sunucu, sipariş formunda mevcuttur.
Sürüm 4.2.8

1. MariaDB Veritabanı Kurulumu

yum update
yum install epel-release
vi /etc/yum.repos.d/MariaDB.repo

Aşağıdaki yapılandırmayı kopyalayın:

# MariaDB 10.9 CentOS repository list
# http://downloads.mariadb.org/mariadb/repositories/

[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.9/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1

Servisi kurun:

yum install MariaDB-client MariaDB-server
systemctl enable mariadb.service
systemctl restart mariadb.service

Yeni bir veritabanı ve kullanıcı oluşturun

mysql
mysql> CREATE DATABASE redmine CHARACTER SET utf8;
mysql> GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'You_pasw0Rd-967';
mysql> EXIT;

2. Gerekli Paketlerin Kurulumu

yum install curl gpg gcc gcc-c++ make patch autoconf automake bison libffi-devel libtool
yum install readline-devel sqlite-devel zlib-devel openssl-devel readline glibc-headers glibc-devel
yum install mariadb-devel zlib libyaml-devel bzip2 ImageMagick ImageMagick-devel
yum install yum-utils pygpgme
yum-config-manager --add-repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
yum install nginx passenger passenger-devel nginx-mod-http-passenger

Kullanıcı ekleyin:

useradd -m -U -r -d /opt/redmine redmine
usermod -a -G redmine nginx
chmod 750 /opt/redmine

3. Redmine Kurulumu

su - redmine
$gpg --keyserver keyserver.ubuntu.com --recv-key 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
$curl -sSL https://get.rvm.io | bash -s stable
$source /opt/redmine/.rvm/scripts/rvm
$rvm install 2.7
$rvm --default use 2.7
$wget http://www.redmine.org/releases/redmine-4.2.8.tar.gz
$tar -xvf redmine-4.2.8.tar.gz
$cp /opt/redmine/redmine-4.2.8/config/database.yml.example /opt/redmine/redmine-4.2.8/config/database.yml

Veritabanı kullanıcısına göre dosyayı düzenleyin:

$vi /opt/redmine/redmine-4.2.8/config/database.yml

production: adapter: mysql2 database: redmine host: localhost username: redmine password: "You_pasw0Rd-967" encoding: utf8

Dosyayı kaydedin ve gerekli paketleri kurun:

$cd ~/redmine-4.2.8
$gem install bundler
$bundle install --without development test postgresql sqlite
$bundle exec rake generate_secret_token
$RAILS_ENV=production bundle exec rake db:migrate
$exit

4. Nginx Yapılandırması 

Dosyayı açın ve yapılandırmayı ekleyin:

#vi /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.2.8/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; }

Dosyayı kaydedin ve varsayılan nginx modül dosyasında çakışan satırları yoruma alın:

vi /etc/nginx/conf.d/passenger.conf

#passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini; #passenger_ruby /usr/bin/ruby; #passenger_instance_registry_dir /var/run/passenger-instreg;

Yapılandırmayı kontrol edin:

nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

systemctl restart nginx
systemctl enable nginx

Aşağıda, SSL sertifikasıyla çalışan bir Nginx yapılandırması sağladık. Kullanıyorsanız, kendi domain adınızı dosyada belirtin. Biz IP adresi kullandık.

4.1 SSL Sertifikalı Nginx Yapılandırması 

/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;

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/ssl/example.com/fullchain.pem; ssl_certificate_key /etc/ssl/example.com/privkey.pem; ssl_trusted_certificate /etc/ssl/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.2.8/public;

SSL parameters

ssl_certificate /etc/ssl/example.com/fullchain.pem; ssl_certificate_key /etc/ssl/example.com/privkey.pem; ssl_trusted_certificate /etc/ssl/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;

}

Yapılandırmayı uygulamak için servisi yeniden başlatın:

systemctl restart nginx

Redmine kurulumu başarıyla tamamlandı.





No Comments Yet