harry’s memorandum

おれおれメモ

瞳孔が開くほど簡単にredmineを構築できる「Bitnami」 (1)

Redmineって便利だけどインストールが結構面倒じゃないですか。
特にCentOSにインストールする場合だと、rvmでrubyのバージョン指定して、passengerコンパイルして、apacheのconfいじって.....ええと正直きつい。
http://blog.redmine.jp/articles/2_3/installation_centos/

そこで「Bitnami」登場です。

BitNami Redmine Stack provides a one-click install solution for Redmine.

http://bitnami.com/stack/redmine/installer

「Bitnami Redmine」はフルスタックソリューションです。bitnami-redmine-2.3.2-1の場合は以下すべてを含んでいます。デフォルトは/opt以下にインストールします。 

本当に超楽です。CentOS6.4 と bitnami-redmine-2.3.2-1 を使ってredmine構築まで行ってみます。


インストール方法

インストーラダウンロード

まずbitnamiのサイトでインストーラをダウンロードします。
f:id:dharry:20130829005701p:plain

インストーラ実行

インストーラを実行。終わり。お疲れ様でした。

$ sudo ./bitnami-redmine-2.3.2-1-linux-x64-installer.run

インストールは簡単すぎるので、少しTIPSを備忘録として残しておきます。


monitでプロセス監視

monitはプロセスを監視するツールです。なぜかmonitはインストールされないので、DAGリポジトリなどからyumでmonitをインストールします。

$ wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
$ rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm
$ yum install monit
$ ln -s /opt/redmine-2.3.2-1/config/monit/bitnami.conf /etc/monit.d/bitnami.conf
$ chkconfig --level 345 monit
$ /etc/init.d/monit start

必要に応じて/etc/monit.conf や /opt/redmine-2.3.2-1/config/monit/conf.d/*.conf を修正してください。

logrotateを設定してログの肥大を防ぐ

bitnamiにはlogrotate.confも用意されています。必要に応じてconfを修正してください。

$ ln -s /opt/redmine-2.3.2-1/config/logrotate/bitnami.conf /etc/logrotate.d/bitnami.conf

Bitnami Redmine を自動起動

Bitnami Redmineのサービス起動スクリプトは /opt/${installdir}/ctlscript.sh です。これを/etc/init.d以下にコピーします。

$ cp -p /opt/redmine-2.3.2-1/ctlscript.sh /etc/init.d/bitnami-redmine

chkconfigで自動起動の登録をするため、コピーした/etc/init.d/bitnami-redmineを少しだけ修正します。シェバン(#!/bin/sh)のあと1つ改行を入れたあと、chkconfig: と description: を追加します。この意味は 「man chkconfig」のRUNLEVEL FILESセクションを参照してください。

#!/bin/sh
#
# chkconfig: 345 80 30
# description: BitNami Redmine Service

chkconfigでサービス登録。

$ chkconfig --add bitnami-redmine

/etc/init.dにコピーしたファイル名が--add で登録する名前になります。

Redmineのサブディレクトリを変更

デフォルトのパスは http://yourhost/redmine になっています。ここでは http://yourhost/redmine => http://yourhost/bts へ変更します。
最初は、Alisasを変更します。

$ cat /opt/redmine-2.3.2-1/apps/redmine/conf/httpd-prefix.conf
#Alias /redmine/ "/opt/redmine-2.3.2-1/apps/redmine/htdocs/public/"
#Alias /redmine "/opt/redmine-2.3.2-1/apps/redmine/htdocs/public"
Alias /bts/ "/opt/redmine-2.3.2-1/apps/redmine/htdocs/public/"
Alias /bts "/opt/redmine-2.3.2-1/apps/redmine/htdocs/public"

Include "/opt/redmine-2.3.2-1/apps/redmine/conf/httpd-app.conf"

次にRAILS_RELATIVE_URL_ROOT と PassengerPreStart を変更します。

$ cat /opt/redmine-2.3.2-1/apps/redmine/conf/httpd-app.conf
<Directory "/opt/redmine-2.3.2-1/apps/redmine/htdocs/public">
    PassengerEnabled on
    Options -MultiViews
    AllowOverride All
    <IfVersion < 2.3 >
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
    Require all granted
    </IfVersion>
    #SetEnv RAILS_RELATIVE_URL_ROOT "/redmine"
    SetEnv RAILS_RELATIVE_URL_ROOT "/bts"
    PassengerAppRoot "/opt/redmine-2.3.2-1/apps/redmine/htdocs"
</Directory>

#PassengerPreStart http://127.0.0.1:80/redmine
PassengerPreStart http://127.0.0.1:80/bts

apacheを再起動

$ /etc/init.d/bitnami-redmine restart apache

このようなエラーが表示される場合はmonitがインストールしていない可能性があります。

which: no monit in (/opt/redmine-2.3.2-1/perl/bin:/opt/redmine-2.3.2-1/git/bin:/opt/redmine-2.3.2-1/sqlite/bin:/opt/redmine-2.3.2-1/ruby/bin:/opt/redmine-2.3.2-1/subversion/bin:/opt/redmine-2.3.2-1/php/bin:/opt/redmine-2.3.2-1/mysql/bin:/opt/redmine-2.3.2-1/apache2/bin:/opt/redmine-2.3.2-1/common/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

monitを動かす必要がなくてもエラーを抑止するのでインストールしておいた方が良いです。