目次

Redmine

Redmineとは

ここに概要のスライドがある。入門 — Redmine Slides

参考サイト

主にこのサイトの順番で環境構築を行った。

参考サイト https://blog.redmine.jp/articles/3_4/install/centos/

自環境

ソフトウェア バージョン
Redmine Redmine4.2
OS CentOS 7.8
データベース MySQL 8.0.25
webサーバ Apache/2.4.6
Ruby ruby 2.4.6

運用後

手順

以下の手順で行ったが、サイトの手順通りに関しては詳細を省く

1. SELinux 無効化

下記の設定ファイルを開き、SELINUX=disabled に変更する

$ vi /etc/sysconfig/selinux 
2. Ruby, Passengerのビルドに必要なパッケージのインストール
$ yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel
3. MySQLのインストール
 $ yum install mysql mysql-devel

  ※ MySQL の構築手順は省く

4. Apacheとヘッダファイルのインストール
$ yum install httpd httpd-devel
5. ImageMagickとヘッダファイル・日本語フォントのインストール
$ yum install ImageMagick ImageMagick-devel ipa-pgothic-fonts
6. Rubyのインストール
$ yum  install centos-release-scl-rh centos-release-scl
$ yum --enablerepo=centos-sclo-rh  install rh-ruby24 rh-ruby24-ruby-devel

参考サイト:https://oku.edu.mie-u.ac.jp/~okumura/misc/170925.html

7. インストールしたRubyの環境変数の設定

以下の手順でコンソールから行う際に既存のrubyではなく、今回インストールしたRubyを使用するように設定する

# cat << 'EOF' | sudo tee /etc/profile.d/rh-ruby.sh
#!/bin/bash
source scl_source enable rh-ruby24
EOF

参考サイト:https://www.greptips.com/posts/1288/

8. 共有ライブラリにパス設定

以下のファイルにライブラリパスを設定

$ vi /etc/ld.so.conf
====
/opt/rh/rh-ruby24/root/usr/lib64

参考サイト:http://www.8wave.net/ldconfig.html

9. bundlerのインストール
$ gem install bundler

※IPv6を利用してのインストールは失敗する。

参考サイト: 【Rails】gem updateやgem installコマンドでtimed outやCould not find a valid gemが出たときの対処法

10. Redmine用のデータベース作成

以下のコマンドでmysqlにアクセス後、テーブル作成のSQLを発行

アクセスするユーザはテーブル作成の権限があるユーザであること

mysql -u [ユーザ名] -h [ホスト名(localhost)] -p

> create database redminedb
11. Redmineのインストール
$ svn co https://svn.redmine.org/redmine/branches/4.2-stable /var/lib/redmine
12. Redmine使用時のデータベースへの接続設定

以下の内容でRedmineのインストールディレクトリ /var/lib/redmine 以下に、config/database.yml を作成する。

production:
  adapter: mysql2
  database: redminedb
  host: localhost
  username: <ユーザ名>
  password: "<パスワード>"
  encoding: utf8
13. Redmine設定ファイルの作成

Redmineからメールサーバへ接続するための設定や日本語フォントファイルのパスを記述した設定ファイルを作成する。

以下の内容で、 /var/lib/redmine/config/configuration.yml ファイルを作成する。

TODO

(現状、この設定ファイルは作成していない)

14. gemパッケージのインストール
$ cd /var/lib/redmine
$ bundle install --without development test --path vendor/bundle

色々エラーがあったので、詳細は次のリンクで→gemインストール補足

参考サイト:gemとはhttps://techplay.jp/column/529

15. セッション改ざん防止用秘密鍵の作成
$ bundle exec rake generate_secret_token
16. データベースのテーブル作成

database.yml で指定したデータベースにテーブルを作成する。

$ RAILS_ENV=production bundle exec rake db:migrate
17. デフォルトデータの登録
$ RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
18. Passengerのインストール
$ gem install passenger -v 5.1.12 --no-rdoc --no-ri
19. PassengerのApache用モジュールのインストール
$ passenger-install-apache2-module --auto --languages ruby

→エラーが発生した。(詳細はApacheモジュールのインストール)

下記のコマンドを実行後、再度上記のモジュールのインストールコマンドで解決した。

$ yum remove openssl openssl-devel
20. Apache用設定内容確認

次の21.Apacheの設定で使用する。

$ passenger-install-apache2-module --snippet
21. Apacheの設定

以下の内容で、  /etc/httpd/conf.d/redmine.conf を作成する。

# Redmineの画像ファイル・CSSファイル等へのアクセスを許可する設定。
# Apache 2.4のデフォルトではサーバ上の全ファイルへのアクセスが禁止されている。
<Directory "/var/lib/redmine/public">
  Require all granted
</Directory>

# Passengerの基本設定。
# passenger-install-apache2-module --snippet で表示された設定を記述。
# 環境によって設定値が異なるため以下の5行はそのまま転記せず、必ず
# passenger-install-apache2-module --snippet で表示されたものを使用すること。
#
LoadModule passenger_module /opt/rh/rh-ruby24/root/usr/local/share/gems/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /opt/rh/rh-ruby24/root/usr/local/share/gems/gems/passenger-5.1.12
  PassengerDefaultRuby /opt/rh/rh-ruby24/root/usr/bin/ruby
</IfModule>

# 必要に応じてPassengerのチューニングのための設定を追加(任意)。
# 詳しくはPhusion Passenger users guide(https://www.phusionpassenger.com/library/config/apache/reference/)参照。
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 864000
PassengerStatThrottleRate 10

Header always unset "X-Powered-By"
Header always unset "X-Runtime"

Alias /redmine /var/lib/redmine/public
<Location /redmine>
  PassengerBaseURI /redmine
  PassengerAppRoot /var/lib/redmine
</Location>

その後、下記のコマンドでApacheを再起動する。

$ systemctl restart httpd
22. Apache上でPassengerを動作させるための設定

権限の付与

$ chown -R apache:apache /var/lib/redmine

RedmineのURL設定

$ vi /etc/httpd/conf.d/redmine.conf
==========
Alias /redmine /var/lib/redmine/public
<Location /redmine>
  PassengerBaseURI /redmine
  PassengerAppRoot /var/lib/redmine
</Location>
==========

$ service httpd configtest
$ systemctl restart httpd
23. Redmineログイン

ブラウザのURLに「(RedmineをインストールしたIPアドレスまたはホスト名)/redmine」を入力し、アクセスする。

正しく設定されていれば、環境構築完了

24. 初期設定

Redmine.jpのサイトを参考:https://redmine.jp/tech_note/first-step/admin/

バックアップ

参考サイト:https://redmine.jp/faq/system_management/backup/

バックアップ
$ mysqldump -u <ユーザ> -p<パスワード> <Redmineデータベース名> > <出力先ファイル名>
リストア
$ mysql -u <ユーザ> -p<パスワード> <Redmineデータベース名> < <ダンプデータファイル名>