Image

ナレッジベース → VPS Centos 7 への Redmine のインストール

このガイドでは、CentOS 7オペレーティングシステムで動作するVPSサーバーにRedmineアプリケーションを設定します。目的は、必要に応じて調整可能な動作するアプリケーションを備えたサーバーを準備することです。データベースのインストール、追加パッケージ、Rubyのインストール、そしてNginx Webサーバーの設定が必要です。このガイドではrootユーザーでインストールを行いますが、通常のユーザーの場合はsudoコマンドを使用してください。

事前構成されたサーバー設定は、注文フォームで利用できます。
バージョン 4.2.8

1. MariaDBデータベースのインストール

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

以下の設定をコピーします:

# MariaDB 10.9 CentOS リポジトリリスト
# 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

サービスをインストールします:

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

新しいデータベースとユーザーを作成します

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

2. 必要なパッケージのインストール

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

ユーザーを追加します:

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

3. Redmineのインストール

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

データベースで作成したユーザーに合わせてファイルを編集します:

$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

ファイルを保存し、必要なパッケージをインストールします:

$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

5. Nginxの設定 

ファイルを開き、以下の設定を貼り付けます:

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

ログファイル

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

ファイルを保存し、デフォルトのnginxモジュールファイル内の重複する行をコメントアウトします:

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;

次のコマンドで構成をチェックします 

nginx -t

nginx: 構成ファイル /etc/nginx/nginx.conf の構文はOKです

nginx: 構成ファイル /etc/nginx/nginx.conf のテストは成功しました

systemctl restart nginx
systemctl enable nginx

完了です。SSL証明書を使用する場合のNginxの設定を以下に示します。ドメインを指定し、適用してください。ここではIPアドレスを使用しました。 

5.1 SSL証明書を使用したNginxの設定 

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

HTTPからHTTPSへのリダイレクト

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

include snippets/letsencrypt.conf; return 301 https://example.com$request_uri;

}

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パラメータ

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;

ログファイル

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;

}

設定を適用するためにサービスを再起動します:

systemctl restart nginx

Redmineのインストールが正常に完了しました。





No Comments Yet