May 25, 2009

UbuntuとRedmine

To install Apache Portable Runtime (APR) development headers:

To install Apache Portable Runtime Utility (APU) development headers:

Redmine

>

Redmineとは

RedmineとはRuby on Railsで書かれているプロジェクト管理ソフト。基本的にウェブベースで管理作業ができます。wiki, SCM, 工数管理, ガントチャート, Movable TypeにもあるカスタムフィールドがRedmineにもある他、RSS配信や多言語対応などといった機能があります。Redmineの一番凄いところは複数のプロジェクトを管理できるところでしょうか。

Redmine demo (my.redmine.jp/demo)で試して、気に入ってしまえばインストール。

Redmineの導入

Reference

今回、Redmineを使用するにあたり下記のページを参考にしました。

インストールするもの
  • build-essential
  • subversion
  • ruby
  • rubygems
  • rails
  • rake
  • redmine
  • sqlite3
  • imagemagick
  • redcloth
  • passenger

・・・・・・多いね(笑

インストール

build-essential, subversionのインストール

$ sudo apt-get install build-essential
$ sudo apt-get install subversion

rubyのインストール

$ sudo apt-get install ruby-full

rubygemsのインストール

$ wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
$ tar xzf rubygems-1.3.1.tgz
$ cd rubygems-1.3.1
$ sudo ruby setup.rb
$ sudo ln -s /usr/bin/gem1.8 /usr/bin/gem

rake, railsのインストール

$ sudo gem install rake -v=0.8.3
$ sudo gem install rails -v=2.1.2

redmineのインストール

$ mkdir ~/www
$ cd ~/www
$ svn checkout http://redmine.rubyforge.org/svn/trunk redmine
$ cd ~/www/redmine
$ chmod o+w tmp log

sqliteのインストール

$ sudo apt-get install sqlite3
$ sudo apt-get install libsqlite3-dev
$ sudo apt-get install swig
$ sudo gem install sqlite3-ruby

ImageMagickのインストール

$ sudo apt-get install imagemagick libmagick-dev
$ sudo gem install rmagick -v version  #http://raa.ruby-lang.org/project/RMagick

RedClothのインストール

$ sudo gem install RedCloth

database.ymlの編集

$ cd ~/www/redmine/config
$ cp database.yml.example database.yml
$ vi database.yml
production:
adapter: sqlite3
database: redmine
host: localhost
username: お任せ
password: お任せ
encoding: utf8
dbfile: db/redmine.db
timeout: 5000

データベース作成

$ rake db:migrate RAILS_ENV=production
$ rake redmine:load_default_data RAILS_ENV=production

WRBrickで起動

$ cd ~/www/redmine
$ ruby script/server -e production

http://localhost:3000にアクセスして動いているか確認します。

Passenger

Passengerとは

先輩から「Passengerというのがあるよ」と教えてもらったので調べてみました。

Railsアプリケーションを実行するためのApacheモジュールです。

他にも「Apache上でRuby on Railsアプリケーションを動かす」に色々と書いてあります。
正式名称は"Phusion Passenger"と言うみたいです。

Passengerのインストール
$ sudo gem install passenger
$ sudo passenger-install-apache2-module

どうやら何か足りないみたいです。

 * To install Apache 2 development headers:
Please run apt-get install apache2-prefork-dev as root.
Please run apt-get install libapr1-dev as root.
Please download it from http://httpd.apache.org/
(APR Utility is an integrated part of Apache.)

エラー文に従い、apache2-prefork-dev と libapr1-dev をインストールします。

$sudo apt-get install apache2-prefork-dev
$sudo apt-get install libapr1-dev
$ sudo passenger-install-apache2-module
モジュールの設定ファイル作成

モジュールのインストールが完了したら、設定ファイルを作成します。設定ファイルに記述する文面はpassenger-install-apache2-moduleのインストール中に出てきたものをコピーします。

$ sudo vi /etc/apache2/mods-available/passenger.load
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.2/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.2
PassengerRuby /usr/bin/ruby1.8

モジュールを有効にします。

$ sudo a2enmod passenger
Apacheの設定

Apacheの設定ファイル作成。VirtualHostにする。

$ sudo vi /etc/apache2/sites-available/redmine
<virtualhost *:80>
ServerName redmine.example.jp
DocumentRoot /path/to/redmine/public
</virtualhost>

設定を有効化

$ sudo a2ensite redmine
Apacheの再起動
$ sudo /etc/init.d/apache2 restart

補足

Apacheのエラー文
$ cat /var/log/apache2/error.log
Redmineのエラー文
$ cat path/to/redmine/log/production.log
もしも、Apacheの設定ファイルがうまくいかなければ

$ sudo vi /etc/apache2/sites-available/default で
DocumentRoot を/path/to/redmine/public に変えるのも手かもしれません。