Ubuntu Server に Redmine をインストールしてみる

Redmineとは、Ruby on Railsで書かれたBTSです。Bugzillaとかに変わって最近人気なようなので、試しにUbuntu Serverにインストールしてみました。


基本的には公式に書いてある通りやれば、たいして難しい事でもないのですが、いくつか小ハマリがあったので、残しておきます。


Redmine.JP

Redmine の構築

まずは依存するいくつかのパッケージを apt でインストール。ベースのRubyを入れます。DBはMySQLで構築する予定なので、MySQL関連も一緒に入れます。

$ sudo apt-get install ruby rubygems mysql-server mysql-client


RedmineRuby on Rails 依存なので、その関係の gem インストール。

$ sudo gem install rails mysql


ベース部分のインストールができたら、次は本体を入れます。レポジトリから落としてきて配置するだけです。

$ svn checkout http://redmine.rubyforge.org/svn/trunk/ redmine
$ sudo mv redmine /var/lib/rails/
$ sudo chown root:root /var/lib/rails/redmine
$ cd /var/lib/rails/redmine


続いては DB の設定。

$ mysql -u root -p
SQL> GRANT ALL PRIVILEGES ON *.* TO redmine@localhost IDENTIFIED BY 'redminepassword' WITH GRANT OPTION;
SQL> create database redmine
SQL> \q


Redmine 本体側の設定もします。config/database.yml で接続する DB の設定をします。複数設定を書いて置いて、切り替えて使うような使い方もできるみたい。rake を使って DB 周りの初期化をします。

$ config/database.yml
production:
  adapter: mysql
  database: redmine
  username: redmine
  password: redminepassword
  host: localhost
  encoding: utf8
$ sudo rake config/initializers/session_store.rb
$ sudo rake db:migrate RAILS_ENV=production
$ sudo rake redmine:load_default_data RAILS_ENV=production

一応 config/email.yml で e-mail の設定も。

$ sudo vi config/email.yml
production:
  delivery_method: :smtp
  smtp_settings:
    address: localhost
    port: 25
    domain: mkataigi.com


基本的にはこれだけで大丈夫なハズ。Rails の組み込みのサーバを起動させればもう見えます。

$ sudo script/server -e production

http://localhost:3000/ でアクセスできます。

Passenger 上で動かす

公式に Passenger で動かす方法も書いてあるのでやってみます。Passenger とは、apache モジュールで Rails をデプロイするものです。


まずは Passenger を入れます。

$ sudo gem install passenger


どうやらパスも通しておかないといけないようなので、設定します。

$ vi ~/.bashrc
export APXS2=/usr/local/apache2/bin/apxs
export PATH=/usr/local/apache2/bin:$PATH


次は passenger-install-apache2-module という、インストールスクリプトを実行するようなのですが、これが見つかりません。locate で探すとちょっと予想外のところに入っていたので、フルパス指定で実行。

$ sudo /var/lib/gems/1.8/bin/passenger-install-apache2-module


実行するといくつか足りてないライブラリを指定されるので、表示されるとおりに実行してインストール。一通りインストールして、再度上記スクリプトを実行したところ、インストールできたみたい。


あとは、apache 側で設定します。

$ sudo vi /etc/apache2/mods-available/ruby_passenger.load
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
$ sudo vi /etc/apache2/mods-available/ruby_passenger.conf
PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.11
PassengerRuby /usr/bin/ruby1.8
$ cd /etc/apache2/mods-enabled
$ sudo ln -s ../mods-available/ruby_passenger.load .
$ sudo ln -s ../mods-available/ruby_passenger.conf .
$ sudo vi /etc/apache2/sites-available/redmine
RailsBaseURI /redmine
DocumentRoot /var/www
$ cd ../sites-enabled/
$ sudo ln -s ../sites-available/redmine 001-redmine


Redmineapache で見える場所にリンクを貼ります。

$ cd /var/www
$ sudo ln -s /var/lib/rails/redmine/public redmine

Rails って、public の部分にリンク貼ればいいんですね。


あとは apache を再起動すれば OK。

$ sudo service apache2 restart

http://localhost/redmine/ で確認します。ポート指定いらなくなった。


ちゃんと動いてる!ヨカッタヨカッタ。