Redmine 3.2 のインストール手順 (CentOS 7, Apache 2.4, MySQL)

投稿者 : OSCA

[PR] "出川哲朗の充電させてもらえませんか?"で登場したロケ地を紹介するファンサイト「あの場所へ行こう!」はこちら。

 本稿では Redmine 3.2 を CentOS 7 にインストールする手順について解説します。

インストールする環境/構築要件

本稿では、インストールする OS に CentOS 7 を利用し、Redmine の動作環境要件を下記の通りとして構築します。

  • Ruby はバージョン 2.2.3 で動かす
  • Apache 2.4 上で Redmine を動かす
  • Apache 2.4 は yum でインストールする
  • データベースサーバーには MySQL 5.7 を利用する
  • MySQL 5.7 は yum でインストールする

また、サーバーの設定では以下を前提とします。

  • サーバーのホスト名 : myhost.com
  • メールサーバーホスト : localhost

そして、本稿の作業は全て root ユーザーにて実行します。 さて、それではインストールを始めていきます。

1. Apache 2.4 をインストールする

 まずは WEB サーバー・ソフトウェア Apache 2.4 をインストールします。 ここでは yum を利用してインストールします。

# yum install httpd
# systemctl enable httpd.service

1行目 : yum で Apache をインストール
2行目 : OS 再起動時に自動的に Apache が起動するようにサービスを有効化

2. MySQL 5.7 をインストールする

 つづいて、MySQL 5.7 をインストールします。 CentOS 7 への MySQL 5.7 の詳しいインストール手順は、別稿「MySQL 5.7 を CentOS 7 に yum インストールする手順」を参考にしてください、本稿では最低限の解説で手順を進めていきます。

 まず MySQL のリポジトリ情報をインストールして、それから yum を利用して MySQL 5.7 をインストールします。 また mysql-devel は、後に Redmine をインストールする際に必要となるため、あらかじめインストールしておきます。

# yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
# yum install mysql mysql-server mysql-devel
# systemctl enable mysqld.service

MySQL のサービスを開始します。

# systemctl start mysqld.service

MySQLに付属している mysql_secure_installation コマンドを実行して初期設定を行います。 root の初期パスワードは /var/log/mysqld.log に記述されています。

# mysql_secure_installation

MySQL にログインして、Redmine 用のデータベースとユーザーを作成します。 ここではサンプルとしてデータベース名を「redmine」、新規ユーザー名「redmine」、新規ユーザーのパスワード「redmine」として設定しています。 各自適切に変更し、以下の説明で読み替えてください。

# mysql -u root -p
mysql> CREATE DATABASE redmine charset="utf8";
mysql> GRANT ALL PRIVILEGES ON redmine.* TO redmine@localhost IDENTIFIED BY 'redmine';

3. Ruby 2.2.3 をインストールする

Ruby 2.2.3 をインストールします。 ここでは rbenv + ruby-build を利用してインストールを行います。 本稿ではコマンドだけを記述します、rbenv + ruby-build を利用しての Ruby のインストール手順については別稿をご覧ください。

# yum install git
# cd /opt
# git clone git://github.com/sstephenson/rbenv.git
# echo 'export RBENV_ROOT="/opt/rbenv"' >> /etc/profile
# echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> /etc/profile
# echo 'eval "$(rbenv init -)"' >> /etc/profile
# mkdir /opt/rbenv/plugins
# cd /opt/rbenv/plugins
# git clone git://github.com/sstephenson/ruby-build.git

一度ターミナルを閉じて開き直し、続けて次のコマンド実行します。

# yum install gcc make openssl-devel readline-devel
# rbenv install 2.2.3
# rbenv global 2.2.3

4. Phusion Passenger をインストールする

Apache 上で Ruby on Rails アプリケーションを動かすために Phusion Passenger をインストールします。 passenger-install-apache2-module の実行時に表示される Passenger のインストール先は後の手順で必要となりますので控えておいてください。
更に詳しいインストール手順については別稿をご覧ください。

# gem install passenger
# yum install gcc gcc-c++ libcurl-devel openssl-devel zlib-devel httpd-devel apr-devel apr-util-devel ImageMagick ImageMagick-devel

一度ターミナルを閉じて開き直し、続けて次のコマンド実行します。

# passenger-install-apache2-module

<参考>

5. Redmine 3.2 をインストールする

Redmine をインストールします。 2015年12月現在 Redmine の最新版は 3.2.0 でしたのでそれをインストールします。 Redmine の設置ディレクトリは /opt 配下としました。

Redmine のインストールの前に必要なライブラリをインストールしておきます。 本稿では Redmine が図形描写に利用するフォントとして IPA フォントを、また GEM ライブラリの取得のための bundle をインストールしておきます。

# yum install ipa-pgothic-fonts
# gem install bundle

インストールが終わったら一度ターミナルを閉じて立ち上げなおしてください。

それでは Redmine をインストールしていきます。 まずは Redmine をダウンロードページからダウンロードして展開します。

# curl -O http://www.redmine.org/releases/redmine-3.2.0.tar.gz
# tar xzvf redmine-3.2.0.tar.gz
# mv redmine-3.2.0 /opt/

Redmine に MySQL への接続設定を行います。 Redmine フォルダの下の config ディレクトリに database.yml というファイルを作成し、以下を記述します。

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: redmine
  encoding: utf8

Redmine の設定を行います。 Redmine フォルダの下の config ディレクトリに configuration.yml というファイルを作成し、以下を記述します。

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: "localhost"
      port: 25
      domain: 'myhost.com'

  rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf

インストール後 bundle コマンドにより、必要な GEM をインストールします。

# cd /opt/redmine-3.2.0/
# bundle install --without development test

シークレットトークンの生成を行い、MySQLのデータベースにテーブル等を一式作成します。

# bundle exec rake generate_secret_token
# RAILS_ENV=production bundle exec rake db:migrate

最後に、Apache が Redmine の実行者になるので Redmine のファイルの所有者を apache ユーザーに変更します。

# chown -R apache:apache /opt/redmine-3.2.0

6. Apache を設定する

Apache に passenger と VirtualHost の設定を行います。 /etc/httpd/conf/httpd.conf の末尾に以下の行を追記します。

LoadModule passenger_module /opt/rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/passenger-5.0.22/buildout/apache2/mod_passenger.so
PassengerRoot /opt/rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/passenger-5.0.22
PassengerDefaultRuby /opt/rbenv/versions/2.2.3/bin/ruby
<VirtualHost *:80>
    ServerName myhost.com
    DocumentRoot /opt/redmine-3.2.0/public
    <Directory /opt/redmine-3.2.0/public>
        AllowOverride all
        Options -MultiViews
    </Directory>
</VirtualHost>

Apache の設定を再読込します。

# systemctl restart httpd.service

※ここで SE Linux が有効になっていると mod_passenger.so が読み込めない場合があります。 SE Linux を無効化するか設定を変更する必要があります。

7. Redmine へアクセスする

上記までの手順で Redmine のインストールが完了し動作が開始しています。 あなたのサーバー http://myhost.com/ にアクセスしてみてください。 Redmine の画面が表示されましたか? (iptables や SELinux によりアクセスが遮断されないようにお気をつけを。)

更新履歴

  • 2015年12月12日 – 初版を投稿しました。

Rubyのトップへ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。 個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca