自由研究
[EX-CLOUDでつくる]

EX-CLOUDでつくるRedmineサーバ(後編)

自由研究
テクニカルサポート

後編の今回は実際にRedmineをインストールして操作を行うところまでを解説していきたいと思います。

Redmineの構築手順

  1. Redmineダウンロード
  2. Redmineのconfigファイル作成
  3. データベースのconfig作成
  4. 送信メールサーバのconfig作成
  5. bundlerのインストール
  6. Redmineで使用するGemのインストール
  7. セッションストア秘密鍵を生成
  8. データベースにテーブルを作成
  9. Passengerのインストール
  10. Apacheの設定

Redmineの構築手順の詳細

Redmineダウンロード

cd /usr/local/src/
wget http://rubyforge.org/frs/download.php/76495/redmine-2.1.2.tar.gz
tar zxvf redmine-2.1.2.tar.gz
mv redmine-2.1.2 /var/lib/redmine

 

Redmineのconfigファイル作成

cd /var/lib/redmine/config/

データベースのconfig作成

vi database.yml
production:
adapter: mysql2
database: db_redmine
host: localhost
username: user_redmine
password: PASSWORD
encoding: utf8

送信メールサーバのconfig作成

vi configuration.yml
production:
email_delivery:
delivery_method: :sendmail

 

bundlerのインストール

Gemの依存関係解決のためにbundlerをインストールします。

cd /var/lib/redmine/
gem install bundler --no-rdoc --no-ri

 

Redmineで使用するGemのインストール

今回はデータベースにMySQLを使うのでpostgresqlやsqliteなどの
データベースアダプタはインストールしません。

bundle install --without development test postgresql sqlite

 

セッションストア秘密鍵を生成

rake generate_secret_token

 

データベースにテーブルを作成

RAILS_ENV=production rake db:migrate

 

Passengerのインストール

gem install passenger --no-rdoc --no-ri
passenger-install-apache2-module

Press Enterと表示されたらEnterキーを押します。

インストールが成功するとpassengerモジュールをApacheでロードするための
コンフィグのサンプルが太字で表示されるのでメモしておきます。

LoadModule passenger_module /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17
PassengerRuby /usr/bin/ruby

Press ENTER to continue.と表示されたらもう一度Enterキーを押します。
そうするとApacheコンフィグのサンプルが太字で表示されるので、メモしておきます。

<VirtualHost *:80>
ServerName www.yourhost.com
# !!! Be sure to point DocumentRoot to 'public'!
DocumentRoot /somewhere/public
<Directory /somewhere/public>
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
</Directory>
</VirtualHost>

Apacheの設定

vi /etc/httpd/conf.d/passenger.conf

最初の3行はPassengerをインストールしたときにメモした太字の行を貼り付けて
それ以降の設定は環境に合わせて任意で設定します。

LoadModule passenger_module /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.17
PassengerRuby /usr/bin/ruby
# Passengerが出力するHTTPヘッダを削除するための設定
# unsetの設定を入れることで該当のヘッダを出力しないように設定できます
# X-Powered-By はバージョン等の情報が出力されるヘッダです。
# セキュリティ上、出力されない方がよいでしょう
Header always unset "X-Powered-By"
# X-Rack-Cache はRackのキャッシュがヒットしたかどうかを出力するヘッダです。
# キャッシュ関係を変えるときの確認で使う以外は抑止したほうがよいでしょう。
Header always unset "X-Rack-Cache"
# X-Content-Digest はコンテンツのMD5を表示しますが、通常は不要でしょう。
Header always unset "X-Content-Digest"
# X-Runtime はサーバ側でかかった処理時間を出力します。
# チューニングなどを実施するときの確認以外では出力する必要があまりないでしょう。
Header always unset "X-Runtime"
# Passengerのチューニングのための設定
# 環境に合わせてパラメーターを設定します。
# デフォルトでもそこまで問題はありませんが、使い方によってはチューニングを
# したほうがよいでしょう。
# インスタンス数の設定
# (デフォルト6、メモリ256MBでMySQLを実行する場合2、メモリ2GBで30が推奨)
# エクスライトの場合、メモリが1GBなのでだいたい10~20程度で設定すればよさそうです。
# インスタンス数が増えるとその分メモリが消費されるので、他のアプリケーションを
# 動かす場合数を減らすなど、調整してください。
PassengerMaxPoolSize 20
# 特定の Ruby on Rails アプリケーション のプロセスの最大起動数です。
# 複数のアプリケーションを動かす場合設定が必要ですが、
# Redmineのみを動かす場合設定しなくてもよいでしょう。
PassengerMaxInstancesPerApp 4
# サイトへの滞在時間設定(アイドル時にインスタンスを終了させるまでの時間)
# Redmineの使い方次第で数値を調整したほうがよいでしょう。
PassengerPoolIdleTime 3600
# グローバルキューの使用。通常はアプリケーションごとに用意されるキューですが、
# onにするとキューを共有して使うようになります。onにするとパフォーマンスが落ちる
# こともありますが処理のかかるリクエストが多い場合は有効にする方がよいでしょう。
PassengerUseGlobalQueue on
# mod_rewriteなどの設定が正常に動作しなくなりますが、その代わりに高速化されます
PassengerHighPerformance on
# Rails の自動検出や再起動指示の検出のためにファイルシステムを確認する間隔を秒単位で指定します。
PassengerStatThrottleRate 10
# Ruby on Rails のプロセスを生成する方法を指定します。
RailsSpawnMethod smart
# Passenger の FrameworkSpawner のアイドルタイムアウト時間を指定します。
# RailsSpawnMethod が smart の場合のみ有効です。
RailsAppSpawnerIdleTime 86400
# Passenger の ApplicationSpawner のアイドルタイムアウト時間を指定します。
# RailsSpawnMethod が smart-lv2 または smart の場合のみ有効です。
RailsFrameworkSpawnerIdleTime 0

バーチャルホストの設定を行い、アクセスできるようにします。
Passengerをインストールしたときにメモした太字の行を貼り付けて
環境に応じてServerName、DocumentRoot、Directoryの設定を書き換えます

vi /etc/httpd/conf.d/virtual.conf
<VirtualHost *:80>
ServerName redmine.example.net
ErrorLog logs/redmine.example.net-error_log
CustomLog logs/redmine.example.net-access_log combined
# !!! Be sure to point DocumentRoot to 'public'!
DocumentRoot /var/lib/redmine/public
<Directory /var/lib/redmine/public>
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
</Directory>
</VirtualHost>

設定を変更したらApacheを再起動し設定を反映します。
また、ログの書き込みやファイルのアップロードのため、redmineディレクトリのownerをapacheユーザに変更します。

chown -R apache:apache /var/lib/redmine
/etc/init.d/httpd configtest
/etc/init.d/httpd restart

ブラウザでアクセスします。

    インストールが無事に完了したらブラウザでアクセスして初期設定を行います。

Redmineの初期設定

    1. Redmineへのアクセス

dd9e6f86
ブラウザでアクセスしたら、ホーム画面が表示されます。

    1. 管理者でログイン

52bd7de6
右上のログインをクリックするとログインアカウントとパスワードを入力する画面になります。
管理者アカウントはadmin初期パスワードもadminでログインができます。
a7b58027
ログインすると管理者のホーム画面が表示されます。

    1. 初期データのロード

93b707ec
初期データをロードします。
左上のAdministrationをクリックすると管理メニューが表示されます
2ccc421c
画面の中央に表示されている言語の設定をJapaneseに変更しLoad the default configurationをクリックします。
初期データがロードされます。

    1. 言語設定

管理者アカウントの言語設定を変更します。
93ff73ea
右上のMy accountをクリックすると、アカウントごとの設定が表示されます。
LanguageをJapaneseに変更し、Saveボタンをクリックします。
cc1f2068
管理者アカウントの画面は日本語に変更されました。
全体の言語設定は英語のままなので、日本語に変更します。

04f0d312
管理(Administration)の設定(Settings)画面からデフォルト言語の変更を行います

これで初期設定が完了しました。ここからはユーザを作り、プロジェクトを作り、
使いたい使い方に合わせ作りこんでいってあなただけのRedmineを作り上げてください。

Redmineを利用するならエクスクラウドのクラウドが便利です。エンジニア向けのテクニカルサポートを有償化し、価格を抑えたローコストクラウドもあります。まずはお試しで2週間つかってみてください。

この記事を書いた人

テクニカルサポート

テクニカルサポートを得意とするエクスクラウドのサポートスタッフ。

この記事のタグ

オススメの記事

ページトップへ