【Redmine】 Redmine ~ Linux / 初期設定編 ~

【1】Redmine

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

【2】ダウンロード先

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

【3】手順・概要

[01] OSのインストール
[02] 必要なパッケージのインストール
[03] 必要なパッケージのインストール
[04] Apacheのインストール
[05] MySQLのインストール
[06] Rubyのインストール
[07] bundler(Ruby用のパッケージ管理ツール)のインストール
[08] Phusion Passenger(RailsをApache上で動かすための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をインストールする

[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 をインストールする

# 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」で起動する

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 をインストールする

# バージョン確認 
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) Redmine に MySQL への接続設定を行う(config/database.ymlの作成)

# Redmine に MySQL への接続設定を行う(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

****** : はユーザ名・パスワードを修正する
~~~~~~

[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 と連携する

[1] ディレクトredmineapacheに変更する

# chownの-Rオプションで指定ディレクトリ配下の所有者をapache:apacheに変更
sudo chown -R apache:apache /usr/local/redmine

[2] gemパッケージのインストール

sudo -u apache /usr/local/bin/bundle install --without development test

[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

[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>

[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

[6] Apacheを再起動する

# 再起動
systemctl restart httpd.service

[7] ブラウザを開き、『http://【(localhostなど)】/redmine』でアクセスして、Redmineのページが表示されたらOK

■ その他の事項

クリーンアップ

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

参考文献

設定
http://blog.redmine.jp/articles/3_2/install/centos/
http://weblabo.oscasierra.net/install-redmine32-centos7-1/
Apache+passengerの設定
http://www.prime-architect.co.jp/myblog/ruby-310
http://d.hatena.ne.jp/satake7/20080605/p1
Apache+Passengerでenvironmentの設定
http://shokai.org/blog/archives/5998
MySQL
http://qiita.com/ksugawara61/items/336ffab798e05cae4afc
Jenkins との連携
http://www.atmarkit.co.jp/ait/articles/1305/16/news011.html

関連記事

プラグイン導入編 バックアップ / データ移行編 Redmine でのトラブルシューティング Linux環境下での設定で発生したトラブル TomcatApache を連携させる ~設定 / Linux 編~ Apache の設定 ~ CentOS編 ~ MySQL の設定 ~ Linux / CentOS 編 ~