CentOS 6にRedmine 2.5をインストールする
tracはLinuxにはいまいち入れづらいのでRedmineを使おうと画策中。
とりあえずインストール方法をまとめてみた。
●事前準備
OSをyum updateで最新にする。そして以下のパッケージを入れる。
SCMはとりあえずSubversionとgitを使えるようにする。
# yum install ruby ruby-devel # yum install mysql-server mysql-devel # yum install ImageMagick ImageMagick-devel # yum install gcc gcc-c++ # yum install openssl opnessl-devel zlib zlib-devel # yum install readline readline-devel curl curl-devel # yum install httpd httpd-devel apr apr-devel apr-util apr-util-devel # yum install subversion git
分けて書いてるけどもちろん一行で全部入れても良い。
公式というか公式ブログにはepelが要るとかlibyaml-develが要るとか書いているけどそんな事はなかったぜ。
# chkconfig httpd on
●データベースを作る
Redmineの2.5はデータベースの設定を先に作っておくことでモジュールのインストール時に適切なデータベース用のモジュールを取ってきてくれるそうだ。
/etc/my.cnfをいじる。最低限[mysqld]にcharacter-set-server=utf8と[mysql]を作ってその中にdefault-character-set=utf8を書くだけでOK。
# service mysqld start # chkconfig mysqld on # mysql mysql> create database redminedb; mysql> create user redmine@localhost identifeid by 'password'; mysql> grant all on redminedb.* to redmine@localhost;
grant allの後ろにprivilegesを入れてもいい。とりあえず分かりやすくするためにredminedb、redmine、passwordと名前を変えた。この辺はお好みで。
●Redmineのソースを貰ってくる
とりあえず/usr/local/src/redmine-2.5に入れる。/usr/local/redmineにリンクをはってそこで使えるようにする。
# cd /usr/local/src # svn checkout http://svn.redmine.org/redmine/branches/2.5-stable redmine-2.5 # cd /usr/local # ln -s src/redmine-2.5 redmine
もちろんSVNからではなく公式から2.5のZIPを貰ってきて展開しても良い。
●Redmineのデータベース設定をする
# cd /usr/local/redmine/config # cp database.example.yml database.yml
database.ymlには以下のような感じで入れる
production: adapter: mysql database: redminedb host: localhost username: redmine password: password
●rubygemsを貰ってくる
CentOS 6標準のrubygemsは1.3.7で大層古い(redmineをインストールするには特に問題ないそうだが)。ここは一つgitで最新を貰ってこよう。
# cd /usr/local/src # git clone https://github.com/rubygems/rubygems.git rubygems # cd rubygems # ruby setup.rb
2014年10月06日時点では2.4.2というのが入る。こちらもバージョンを指定して公式からZIPを貰ってきて展開するのでもOKだ。
●gemで色々とってくる。
# gem install bundler $ cd /usr/local/redmine $ bundle install --without development test
bundleはroot以外で実行しやがれと怒りくさるのでroot以外で。
sudoでrootになれる必要があるかも知れない。
●初期設定
この辺は公式の丸写し。何をしているかは分からん。
# rake generate_secret_token # RAILS_ENV=production rake db:migrate # RAILS_ENV=production rake redmine:load_default_data
とりあえずここまででRedmine単体は動くようになった。
# ruby /usr/local/redmine/script/rails server -e production
で3000番で待ち受けるようになる。
●apacheと連係させる
# gem install passenger # passenger-install-apache2-module →1を選ぶ。Rubyを選ぶ。結構時間がかかる。 # cd /usr/local/src # chown -R apache:apache redmine-2.5
さて、apacheでRedmineをどう公開するかだが、普通は1台のサーバーでRedmineとSubversionやGitを同時にホストするだろうからここは
http://www.example.com/redmineでRedmineを
http://www.example.com/svnでSubversionを
http://www.example.com/gitでGitを
ホストすると仮定してRedmineの公開ディレクトリーを設定する。
# cd /var/www/html # ln -s /usr/local/redmine/public redmine
/etc/httpd/conf.d/redmine.confを作成して以下の記述を追記する。
LoadModule passenger_module /usr/lib64/ruby/gems/1.8/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/lib64/ruby/gems/1.8/gems/passenger-4.0.53 PassengerDefaultRuby /usr/bin/ruby </IfModule> RackBaseURI /redmine <Directory /usr/local/redmine> Order deny,allow Allow from All AllowOverride all Options -MultiViews </Directory>
これでとりあえずはWebサーバーとして使えるようになったはず。
今回いくつとりあえずと言っただろうか。