0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RedmineをCentOSにインストール

Last updated at Posted at 2019-05-14

今回は、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__を作成し、以下の内容を記述します。

/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文字化け対応

redmine/config/configuration.yml
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;';

}

参考サイト

0
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?