redmineはRuby on Rails(以下RoR)で作られたプロジェクト管理ツールです。個人的にはRubyやRoRはよく使ってるのでインストールしてみました。サーバはdebian lennyを使います。
参考URL :
- http://redmine.jp/install/
- http://devml.blogspot.com/2009/01/no-such-file-or-directory-nonexistent.html
ダウンロード
まずはソースを取得します。SVNで公式サイトから落とします。
% svn co http://redmine.rubyforge.org/svn/branches/0.8-stable redmine
% cd redmine
カレントディレクトリにredmineが落ちてきます。今のうちにredmineディレクトリに移動しておきます。
設定ファイル修正
次にymlファイルを修正します。デフォルトではdatabase.ymlはdatabase.yml.exampleという名前になってますので、cpなりmvなりでdatabase.ymlを作ります。あと、メール機能を動かすので同時にemail.ymlも作っておきます
% cp config/database.yml.example config/database.yml
% cp config/email.yml.example config/email.yml
database.ymlは標準でmysqlを使う設定にしてます。今回はこのままmysqlを使います。
まずはdatabase.ymlのproductionの記述例です。
production:
adapter: mysql
database: redmine
host: localhost
username: ***********
password: ***********
encoding: utf8
socket: /var/run/mysqld/mysqld.sock
socketはdebianでmysqlパッケージをインストールすると要ります。sockファイルの場所が上記のようになっていてデフォルトで読みにいく場所にないので。あとencodingを付けていますが環境によってはこの後のrakeでエラーになることがあるようです。その場合はコメントアウトしてください。
次にemail.ymlの記述例です。
production:
delivery_method: :smtp
smtp_settings:
address: clmoon.net
port: 25
domain: clmoon.net
# authentication: :login
# user_name: redmine@example.net
# password:
公式サイトにはenvironment.rbを修正と書いてますが0.8ではemail.ymlがその役目を負っているようです。下三行は公式どおりコメントアウトしました。
DBの準備
次はデータベースの中身を用意します。rakeコマンドを使ってテーブル作成後、データを挿入していきます。
% rake db:migrate RAILS_ENV=production
% rake load_default_data RAILS_ENV=production
db:migrateはsocketを書いておけば問題ないと思います。load_default_dataは今は非推奨オプションみたいなので実行すると警告がでますが問題ないでしょう。ここでエラーになる人はdatabase.ymlのencordingをコメントアウトしてみてください。
起動
起動するかテストします。
% script/server -e production
ログに出力されたポート番号を元にアクセスしたらRedmineの画面が出ます。
Apache2と連携
最後にApache2と連携させます。そのほうが管理楽なんで。Passengerというツールを使うことでそれが可能になります。
# gem install passenger
# passenger-install-apache2-module
passenger-install-apache2-moduleでapache2のモジュールをインストールします。インストールに必要なパッケージがなければどのパッケージをインストールするか指示があるのでそれに従います。全部そろっていればコンパイルされ、Apache2の設定を変更してくれというメッセージが出ます。
デフォルトではhttp.confに書いてくれと言っていますが標準に沿ってみようと思います。
# vi /etc/apache2/mods-available/passenger.load
内容はこんな感じ。
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.2/ext/apache2/mod_passenger.so
パスは環境によって変わるので指示に従って書いてください。うちの環境はRubyは手作業で入れたのでlocalになってます。
続いてconfファイル。こちらのパスも適宜変更してください。
# vi /etc/apache2/mods-available/passenger.conf
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.1.2
PassengerRuby /usr/local/bin/ruby
次にバーチャルホストを設定してみます。
# vi /etc/apache2/sites-available/redmine
<VirtualHost *:80>
ServerName redmine.clmoon.net
DocumentRoot /var/rails/redmine/public
ErrorLog /var/log/apache2/redmine-error.log
LogLevel warn
CustomLog /var/log/apache2/redmine-access.log combined
</VirtualHost>
一応ログを出力するようにしておきました。DocumentRootに配置したRedmineのpublicディレクトリのパスを指定しておきます。これでファイルの編集は完了です。
Apacheの起動
最後に設定したファイルをApacheに反映させます。
# a2enmod passenger
# a2ensite redmine
# /etc/init.d/apache2 restart
Apache2の再起動が済んだらアクセスします。ここでApacheがエラーを返している場合はうまく起動してません。/var/log/apache2/redmine-error.logとかを確認してみてください。
passengerがエラーを返している場合はredmineの動作でエラーが発生しています。
No such file or directory – /nonexistent
こういうエラー文があるときは権限関係でのエラーが考えられます。配備したredmineディレクトリの所有者、グループがapacheの使う所有者・グループになっているか確認します。なってなければ変更しましょう。
# chown -R www-data.www-data /var/rails/redmine
もう一度アクセスすると表示されるはずです。
No comment yet