DreamHostにRedmineを入れてみた

DreamHostはサーバをレンタルしてくれたりする海外のサービス。http://www.dreamhost.com/

Tracは簡単に導入できるけど、Redmineが使ってみたくなったので自分でセッティングしてみた。その備忘録。

概要

  • 参考にしたサイト

http://redmine.jp/tech_note/install/

$ cat /etc/issue
Debian GNU/Linux 4.0 \n \l
$ uname -a
Linux greengoblin 2.6.32.8-grsec-2.1.14-modsign-xeon-64 #2 SMP Sat Mar 13 00:42:43 PST 2010 x86_64 GNU/Linux
$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
$ rails -v
Rails 2.3.5
$ gem -v
1.3.5

インストール作業

リポジトリからソースをダウンロード
$ svn co http://redmine.rubyforge.org/svn/tags/0.9.3 redmine

最新版はここでチェックするとよいかと。
http://www.redmine.org/wiki/redmine/CheckingoutRedmine

DBの作成

DreamHost の管理画面 > 「MySQL Databases」 > 「Create a new MySQL database:」で作成。

名前が「redmine」とか「redmine_development」だと、既に存在しているとのことで弾かれた。レンタルサーバということを実感。

文字コードはどうなっているんだろうと思ってちょっと見てみた。

DreadHost では「character_set_system」以外はlatin1 となっているが。。

mysql> show variables like '%char%';
+--------------------------+--------------------------------------------+
| Variable_name            | Value                                      |
+--------------------------+--------------------------------------------+
| character_set_client     | latin1                                     |
| character_set_connection | latin1                                     |
| character_set_database   | latin1                                     |
| character_set_filesystem | binary                                     |
| character_set_results    | latin1                                     |
| character_set_server     | latin1                                     |
| character_set_system     | utf8                                       |
| character_sets_dir       | /data/mysql/librandi/share/mysql/charsets/ |
+--------------------------+--------------------------------------------+
8 rows in set (0.01 sec)

管理画面からDBを作成して、見てみるとutf8でcreate されていた。

mysql> show create database hoge_redmine_development;
+--------------------------+-----------------------------------------------------------------------------------+
| Database                 | Create Database                                                                   |
+--------------------------+-----------------------------------------------------------------------------------+
| hoge_redmine_development | CREATE DATABASE `hoge_redmine_development` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+--------------------------+-----------------------------------------------------------------------------------+
1 row in set (0.00 sec)

うーん。。ちょっとわからんな。宿題ということで。
結果的には、後で行う言語設定のところで「ja」を選択したら問題なく日本語も表示された。

  • 参考

http://dev.mysql.com/doc/refman//5.1/ja/charset-connection.html#
http://dev.mysql.com/doc/refman/5.1/ja/charset-metadata.html

Railsの設定とDBのセッティング
  • セッション暗号化用鍵の生成

config/initializers/session_store.rb を生成。

 $ rake config/initializers/session_store.rb
  • データベースの初期化
 $ rake db:migrate RAILS_ENV=production
 $ rake redmine:load_default_data RAILS_ENV=production
  • メール送信設定(config/email.yml)

config/email.ymlを作成。

production:
  delivery_method: :async_smtp
  smtp_settings:
    address: localhost
    port: 25
    domain: host.example.jp

どこに送ればいいかわかんなかったので、とりあえずtelnetlocalhostに投げてみる。

$ telnet localhost 25              # telnet でlocalhost の25番ポート(SMTP) に接続
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 greengoblin.dreamhost.com ESMTP

HELO localhost                     # 接続クライアントを知らせる
250 greengoblin.dreamhost.com
MAIL FROM: hoge@hoge.com           # ??
250 2.1.0 Ok
RCPT TO: example@gmail.com         # 宛先
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
From: hoge@hoge.com                # 送信者の欄に入るもの
Subject: kenmei                    # 件名
Hello honbun                       # 本文
.                                  # 入力終了の合図
250 2.0.0 Ok: queued as 81EC1B4D61
quit

ちゃんと届いたのでOK.

Webサーバの設定

管理画面 > 「Manage Domains」 > 「Add New Domain / Sub-Domain」で、

「Passenger (Ruby/Python apps only):」にチェックをつける。

Rails のpublic ディレクトリがドキュメントルートになるようにする。


自前で用意するときはこのページが参考になるかも。
http://redmine.jp/tech_note/apache-passenger/

管理画面から、言語設定やユーザ登録設定、認証設定など。

最初はadmin/admin でしかログインできないので注意。

Digest認証

公開する必要がないので認証をかけておく。Rails のpublic ディレクトリ以下にある.htaccess を利用する。

[greengoblin]$ cat public/.htaccess
AuthDigestProvider file
AuthUserFile /path/to/.htdigest
AuthName "realm"
AuthType Digest
require valid-user
$ htdigest -c /path/to/.htdigest "realm" (ユーザ名)
> (パスワード)
> (パスワード2回目)

apache のバージョンによって設定が違うので注意!

  • apache2.0 はAuthDigestFile

http://httpd.apache.org/docs/2.0/ja/mod/mod_auth_digest.html

  • apache2.2 はAuthUserFile

http://httpd.apache.org/docs/2.2/mod/mod_auth_digest.html


Subversionリポジトリも管理画面から設定したら問題なく見れた。

よーし。
これからバシバシとプロジェクトをこなしまくるZE!

たぶん。。