瞳孔が開くほど簡単に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以下にインストールします。
- ruby 1.9.3-p448
- redmine 2.3.2
- apache 2.4.4
- passenger 4.0.10
- mod_pagespeed 1.6.29.2
- mysql 5.5.32
- subversion 1.7.4
- php 5.4.18
- phpmyadmin 4.0.3
- git 1.8.3
- perl 5.16.3
本当に超楽です。CentOS6.4 と bitnami-redmine-2.3.2-1 を使ってredmine構築まで行ってみます。
インストール方法
インストーラダウンロード
まずbitnamiのサイトでインストーラをダウンロードします。
インストーラ実行
インストーラを実行。終わり。お疲れ様でした。
$ 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を動かす必要がなくてもエラーを抑止するのでインストールしておいた方が良いです。