garbagetown

個人の日記です

Redmine

git を覚えようと色々やっていたら、何故か redmine をインストールしようとしている自分がいたので手順をメモ。

Ruby on Rails のインストール

redminerails アプリケーションなので gem install で rails をインストールする。
rails のバージョンは、redmine のドキュメント にあるとおり 2.1.2 を指定。

$ sudo gem install rails -v=2.1.2
Successfully installed activesupport-2.1.2
Successfully installed activerecord-2.1.2
Successfully installed actionpack-2.1.2
Successfully installed actionmailer-2.1.2
Successfully installed activeresource-2.1.2
Successfully installed rails-2.1.2
6 gems installed
Installing ri documentation for activesupport-2.1.2...
(snip)
Installing RDoc documentation for actionmailer-2.1.2...
Installing RDoc documentation for activeresource-2.1.2...

特に問題なく終了。

Redmine のインストール

redmine 0.8.3 を /var/lib にインストールする。まずはソースコードをダウンロード。

$ cd /var/lib
$ sudo wget http://rubyforge.org/frs/download.php/54503/redmine-0.8.3.tar.gz
(snip)
--2009-04-18 19:41:17--
http://rubyforge.iasi.roedu.net/files/redmine/redmine-0.8.3.tar.gz
Resolving rubyforge.iasi.roedu.net... 192.129.4.120
Connecting to rubyforge.iasi.roedu.net|192.129.4.120|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3167174 (3.0M) [application/octet-stream]
Saving to: `redmine-0.8.3.tar.gz'
(snip)
2009-04-18 19:41:42 (127 KB/s) - `redmine-0.8.3.tar.gz' saved [3167174/3167174]

正常にダウンロードできたら展開して圧縮ファイルは捨てる。

$ sudo tar zxvf redmine-0.8.3.tar.gz 
redmine-0.8.3/
redmine-0.8.3/vendor/
redmine-0.8.3/vendor/rails/
redmine-0.8.3/vendor/rails/actionpack/
(snip)
redmine-0.8.3/db/migrate/087_change_projects_description_to_text.rb
$ sudo rm redmine-0.8.3.tar.gz 

インストール作業はこれだけ。

テーブル設定

database.yml を編集する。運用環境のユーザ名とパスワードだけ編集して保存。

$ cd redmine-0.8.3/
$ sudo cp -p config/daatabase.yml.example config/database.yml
$ sudo vi databconfig/database.yml
production:
  adapter: mysql
  database: redmine
  host: localhost
  username: xxx
  password: xxx
  encoding: utf8

データベース作成

MySQL に database.yml で指定したデータベースを作成する。

$ mysql -u root -p
Enter password: 
(snip)
mysql> create database redmine;
Query OK, 1 row affected (0.02 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
(snip)
| redmine            | 
+--------------------+
4 rows in set (0.01 sec)

mysql> quit;
Bye

テーブル作成・初期データ投入

migrate を実行してテーブル作成、初期データ投入を行う。
rake は入れただけでは PATH が通っていなかったのでフルパスで叩いているが、賢明なる読書諸兄におかれましては PATH を通してから華麗に実行していただきたい。

$ sudo /var/lib/gems/1.8/bin/rake db:migrate RAILS_ENV= "production"
(in /var/lib/redmine-0.8.3)
rake aborted!
No such file or directory - /tmp/mysql.sock

コケた。MySQL に接続するソケットが無いとか言ってる気がする。mysqladmin コマンドに version オプションを渡してソケットファイルの場所を確認する。

$ mysqladmin -u root -p version
Enter password: 
mysqladmin  Ver 8.41 Distrib 5.0.67, for debian-linux-gnu on i486
Copyright (C) 2000-2006 MySQL AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version		5.0.67-0ubuntu6
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/run/mysqld/mysqld.sock

ファイル名すら違う。find で見つからないわけだ。

database.yml に socket パラメータを追記して rake を再実行。

$ sudo vi config/database.yml
production:
  adapter: mysql
  database: redmine
  host: localhost
  username: xxx
  password: xxx
  encoding: utf8
  socket: /var/run/mysqld/mysqld.sock

$ sudo /var/lib/gems/1.8/bin/rake db:migrate RAILS_ENV= "production"
(in /var/lib/redmine-0.8.3)
== 1 Setup: migrating =========================================================
-- create_table("attachments", {:force=>true})
   -> 0.0275s
(snip)
== 101 PopulateChangesetsUserId: migrating ====================================
== 101 PopulateChangesetsUserId: migrated (0.0054s) ===========================

できたっぽい。MySQL に繋いでテーブルが作られている事を確認する。

$ mysql -u root -p redmine
Enter password:
(snip)

mysql> show tables;
+------------------------+
| Tables_in_redmine      |
+------------------------+
| attachments            | 
(snip)
| wikis                  | 
| workflows              | 
+------------------------+
44 rows in set (0.01 sec)

mysql> quit;
Bye

パーミッションの設定

redmine を実行するユーザ(下記例の場合は xxxxx の部分)がログやその他を書き込めるよう、各ディレクトリに所有権、読み書き実行権限を設定する。

$ pwd
/var/lib/redmine-0.8.3
$ sudo chown -R xxxxx:xxxxx files/ log/ tmp/ public/plugin_aassets/
$ sudo chmod -R 755 files/ log/ tmp/ public/plugin_assetts/

WEBrick の実行と動作確認

WEBrick を起動する。

$ ruby script/server webrick -e production
=> Booting WEBrick...
=> Rails 2.1.2 application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2009-04-19 11:00:35] INFO  WEBrick 1.3.1
[2009-04-19 11:00:35] INFO  ruby 1.8.7 (2008-08-11) [i486-linux]
[2009-04-19 11:00:35] INFO  WEBrick::HTTPServer#start: pid=5021 port=3000

WEBrick が無事に上がったら、http://xxx.xxx.xxx.xxx:3000/ にアクセスして、redmine の画面が表示される事を確認する。ログインは admin/admin で。
ハイ、今日のところはここまで〜(サイクロン Z さん風に)。