今回は、Passengerを使用してRedmineをインストール。
過去記事でも投稿していますが、こちらはCentOS版。
最近ではめっきりCentOSしか触っていませんので…
ちなみに環境は、ConoHa VPSの1Gプランです!
必要パッケージのインストール
RedmineとRuby関連の使用に必要なパッケージもインストールします。
sudo yum install -y git gcc openssl-devel readline-devel zlib-devel ImageMagick ImageMagick-devel ipa-pgothic-fonts
rbenvのインストール
sudo git clone git://github.com/sstephenson/rbenv.git /usr/local/rbenv
sudo git clone https://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build
sudo mkdir /usr/local/rbenv/shims /usr/local/rbenv/versions
__/etc/profile.d/rbenv.sh__を作成し、以下の内容を記述します。
export RBENV_ROOT="/usr/local/rbenv"
export PATH="${RBENV_ROOT}/bin:${PATH}"
eval "$(rbenv init --no-rehash -)"
sudo経由でrbenvを使えるようにするために__sudo visudo__を実行して以下を変更します。
理由は、こちらを参照してください。
#
# Adding HOME to env_keep may enable a user to run unrestricted
# commands via sudo.
#
# Defaults env_keep += "HOME"
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
上記を以下の通りに変更します。
#
# Adding HOME to env_keep may enable a user to run unrestricted
# commands via sudo.
#
# Defaults env_keep += "HOME"
#
# Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rbenv/bin:/usr/local/rbenv/shims
Defaults env_keep += "RBENV_ROOT"
以下のコマンドで、rbenv.shを反映します。
source /etc/profile.d/rbenv.sh
rbenvのテスト
sudo rbenv -v
2019/05/14現在__rbenv 1.1.2-2-g4e92322__が表示されれば成功です。
rubyのインストール
sudo rbenv install --list
インストールできるrubyのversionは、上記で調べられます。
今回は2.6.3を使用するので、以下のコマンドを実行しグローバルで2.6.3を使用するようにも設定します。
sudo rbenv install 2.6.3
sudo rbenv global 2.6.3
rubyが正しく設定されているか確認します。
ruby -v
インストールした2.6.3が返ってくれば成功です。
Passengerのインストール
sudo yum install -y yum-utils
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(< /etc/redhat-release tr -dc '0-9.'|cut -d \. -f1).noarch.rpm
sudo yum-config-manager --enable epel
sudo yum clean all && sudo yum update -y
sudo yum install -y pygpgme curl
sudo curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
sudo yum install -y passenger || sudo yum-config-manager --enable cr && sudo yum install -y passenger
MariaDBのインストールと起動
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install -y MariaDB-server galera MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common MariaDB-devel
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
mysql_secure_installation
mysql_secure_installationは、こちら参照
MariaDBにログイン
mysql -u root -p
ログイン後にデータベースを作成します。
create database データベース名 character set utf8mb4;
create user 'ユーザー名'@'localhost' identified by 'パスワード';
grant all privileges on データベース名.* to 'ユーザー名'@'localhost';
use データベース名;
exit;
Nginxのインストール
sudo yum install -y nginx
Redmineのダウンロードから設定まで
今回のバージョンは、4.0.3
sudo wget -O /usr/share/nginx/redmine-4.0.3.zip http://www.redmine.org/releases/redmine-4.0.3.zip
cd /usr/share/nginx/
sudo unzip redmine-4.0.3.zip
sudo chown -R 作業ユーザー:作業ユーザー /usr/share/nginx/redmine-4.0.3
sudo ln -s redmine-4.0.3 redmine
gemのインストール
cd /usr/share/nginx/redmine
bundle install --without development test postgresql sqlite3 --path vendor/bundle
設定はこちら参照
encordingは、utf8mb4を設定します。
ガントチャートのPNG文字化け対応
rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf
初期設定
rake generate_secret_token
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
mkdir tmp public/plugin_assets
sudo chown -R nginx:nginx files log tmp public/plugin_assets
sudo chmod -R 707 files log tmp public/plugin_assets
Nginxの設定
configの設定はこちらを参照
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
FireWallの設定
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
残タスク
SSL化などはこちらを参考にどうぞ
参考までに
server {
listen 80;
server_name redmine.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name www.example.com;
root /usr/share/nginx/redmine/public;
passenger_enabled on;
client_max_body_size 100M;
ssl_certificate /etc/letsencrypt/live/redmine.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/redmine.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/redmine.example.com/fullchain.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets on;
ssl_dhparam /etc/ssl/private/dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-$
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains;';
}
参考サイト