【プロジェクト管理ツール】 Redmine ~ Linux / 初期設定編 ~

Redmine

 * Ruby on Railsで作成(なので、インストールが必要)


■ 手順・概要

[01] OSのインストール
[02] 必要なパッケージのインストール
[03] 必要なパッケージのインストール
[04] Apacheのインストール
[05] MySQLのインストール
[06] Rubyのインストール
[07] bundler(Ruby用のパッケージ管理ツール)のインストール
[08] Phusion Passenger(RailsApache上で動かすためのApacheモジュール)のインストール
[09] Redmineのインストール
[10] Redmineの設定ファイル作成
[11] Apache と連携する

構成

 * OS        : CentOS 7.2.1511
 * DB        : MySQL Ver 14.14
 * webサーバ : Apache HTTP Server ver2.4.6
 * Ruby      : Vet2.0.0
 * Redmine   : Ver3.2

■ 手順・詳細

 ※ *develパッケージは、追加開発用パッケージ

[0] 以下のサイトから必要なモジュールをダウンロードしておく

 * Redmine
http://www.redmine.org/projects/redmine/wiki/Download

[1] OSをインストールする

 * 今回は、CentOS 7をインストールする
 * 詳細は以下の関連記事を参照のこと。
http://blogs.yahoo.co.jp/dk521123/36252928.html

[2] SELinuxをpermissiveモードにする

 * エディタで /etc/sysconfig/selinux を開き、 SELINUX= の値を permissive に変更

sudo vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=permissive

[3] 必要なパッケージをインストールする

yum -y groupinstall "Development Tools"

[4] Apache をインストールする

http://blogs.yahoo.co.jp/dk521123/36300671.html
より抜粋

# Apacheとヘッダファイルのインストール
sudo yum -y install httpd httpd-devel

# 【任意設定】Apache自動起動
systemctl enable httpd.service
# enabledで表示されたら自動起動が有効になっている
systemctl is-enabled httpd.service

# firewalldでHTTP/HTTPSを許可
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent
# 設定を反映
firewall-cmd --reload
# 確認「http」があればOK
firewall-cmd --zone=public --list-services

# バージョン確認 
httpd -v
~~~~

[5] MySQLをインストールする

5-1) MySQLをインストール
 * 以下の関連記事の
 「■ インストール/初期設定」
 「■ MySQL自動起動」
 「■ rootの設定」
 を行い、「systemctl start mysqld.service」で起動する
http://blogs.yahoo.co.jp/dk521123/36283180.html
5-2) Redmine用のユーザを作成
mysql -u root -p

CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY '******';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY '******';
FLUSH PRIVILEGES;
exit

****** : はパスワードを修正する

[6] Ruby をインストールする

http://blogs.yahoo.co.jp/dk521123/36302627.html
より抜粋

# バージョン確認 
ruby -v
# もし古いバージョンがあれば...
# sudo yum remove ruby

# RubyとPassengerのビルドに必要なヘッダファイルなどのインストール
sudo yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel

# Rubyのインストール
sudo yum install ruby

# バージョン確認
ruby -v

[7] bundlerをインストールする

* Redmineが使用するgemパッケージをインストールするのに、Ruby用のパッケージ管理ツールであるbundlerをインストール
# --no-rdoc --no-ri はドキュメントのインストールを省略するためのオプション
sudo gem install bundler --no-rdoc --no-ri

[8] Phusion Passenger をインストールする

sudo gem install rack -v=1.6.4 --no-rdoc --no-ri

sudo gem install passenger
# 消したい場合は、「sudo gem install passenger」

sudo yum install ruby-devel gcc gcc-c++ libcurl-devel apr-devel apr-util-devel ImageMagick ImageMagick-devel

# 以下で「passenger-install-apache2-module」を探す
sudo find / -name passenger-install-apache2-module
# 結構長い
sudo /usr/local/bin/passenger-install-apache2-module --auto
# 出力される以下の行をコピーしておく
#
# LoadModule passenger_module /usr/local/share/gems/gems/passenger-5.0.30/buildout/apache2/mod_passenger.so
# <IfModule mod_passenger.c>
#   PassengerRoot /usr/local/share/gems/gems/passenger-5.0.30
#   PassengerDefaultRuby /usr/bin/ruby
# </IfModule>
#
# 見逃してしまったら、以下のコマンドで表示してくれる
#
# passenger-install-apache2-module --snippet

[9] Redmineをインストールする

# 図形描写に利用するフォントとして IPA フォント
sudo yum install ipa-pgothic-fonts

# Redmineのダウンロード/インストール(インストール先を「/usr/local/redmine」にした場合)
sudo svn co https://svn.redmine.org/redmine/branches/3.2-stable /usr/local/redmine

[10] Redmineの設定ファイルを作成する

10-1) RedmineMySQL への接続設定を行う(config/database.ymlの作成)
# RedmineMySQL への接続設定を行う(config/database.ymlの作成)
sudo cp /usr/local/redmine/config/database.yml.example /usr/local/redmine/config/database.yml
sudo vi /usr/local/redmine/config/database.yml
~~~~~~
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "******"
  encoding: utf8

****** : はユーザ名・パスワードを修正する
~~~~~~
10-2) Redmineの設定ファイル config/configuration.yml の作成
# Redmineの設定ファイル config/configuration.yml の作成
sudo cp /usr/local/redmine/config/configuration.yml.example /usr/local/redmine/config/configuration.yml

[11] Apache と連携する

11-1) ディレクトredmineapacheに変更する
# chownの-Rオプションで指定ディレクトリ配下の所有者をapache:apacheに変更
sudo chown -R apache:apache /usr/local/redmine
11-2) gemパッケージのインストール
sudo -u apache /usr/local/bin/bundle install --without development test
11-3) Redmineの初期設定と初期データ登録を行う
# セッション改ざん防止用秘密鍵の作成
sudo -u apache /usr/local/bin/bundle exec rake generate_secret_toke

# データベースのテーブル作成
sudo -u apache /usr/local/bin/bundle exec rake db:migrate RAILS_ENV=production

# デフォルトデータの登録
sudo -u apache RAILS_ENV=production REDMINE_LANG=ja /usr/local/bin/bundle exec rake redmine:load_default_data
11-4) Apache - redmine との間の設定ファイルを追加する
sudo vi /etc/httpd/conf.d/redmine.conf
=> 以下の【ファイル内容 : /etc/httpd/conf.d/redmine.conf】を参照

# 文法チェック(「Syntax OK」が表示されたらOK)
apachectl configtest
【ファイル内容 : /etc/httpd/conf.d/redmine.conf】
# 「[8] Phusion Passenger をインストールする」で「passenger-install-apache2-module」での
# 出力結果に「#Add」の2行を追加したものを保存
LoadModule passenger_module /usr/local/share/gems/gems/passenger-5.0.30/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/share/gems/gems/passenger-5.0.30
  PassengerDefaultRuby /usr/bin/ruby

  #Add
  RackBaseURI /redmine
  RackEnv production
</IfModule>
11-5) シンボリックリンクを作成する
# Apacheの DocumentRoot に指定されているディレクトリ(デフォルトは /var/www/html)に、
# Redmineのpublicディレクトリ(例: /usr/local/redmine/public)に対するシンボリックリンクを作成
# シンボリックリンクの名称は、URLのディレクトリ名部分で使いたい名前(例:redmine)にする。
sudo ln -s /usr/local/redmine/public /var/www/html/redmine
11-6) Apacheを再起動する
# 再起動
systemctl restart httpd.service
11-7) ブラウザを開き、『http://【(localhostなど)】/redmine』でアクセスして、Redmineのページが表示されたらOK

■ その他の事項

クリーンアップ

sudo -u apache /usr/local/bin/bundle exec rake tmp:cache:clear tmp:sessions:clear