Web上からチマチマ登録するのもあれだったので、CSVのユーザ情報を一括で users テーブルにぶち込むためのスクリプトを作りました。作った後にタイムゾーンとかの設定が users テーブルじゃなくて user_preferences にあることを知りましたが、あまり細かいことを追求する時間はなかったので、とりあえずcodereposにアップしました。ご自由にお使い下さい。
Redmine(というかRails)的にこういう類のスクリプトをどこに保存するべきかわからなかったので、codereposには platform/redmine/contrib というディレクトリをでっち上げています。「作法的にはここだろ」というものがあれば教えてもらえると嬉しいです。
Railsは ver 1.2以来さわっていなかったのですが、ActiveRecordは以外に変わっていなかったのですんなり書けました。でもPerl の手癖が抜けなくて 変数宣言に my つけたり、行末にセミコロンつけたり(これは動くけど)で大変でした。
Now Loading...
はじめに – Phusion Passengerとは
Redmine 0.8.0をインストールの記事を書いた直後に0.8.1がリリースされていたので、アップデートがてらPhusion Passengerを使ってApacheでRemineを動かしてみたいと思います。Phusion Passengerとは、別名mod_railsとも呼ばれるApacheモジュールとして実装されたRailsの実行環境で、インストールや設定が簡単なのが特徴です。
Phusion Passengerのインストール
まずは passenger をビルドするために Apache の apxs などをインストールしておきます。例によって環境は Ubuntu 8.10 です。
$ su -
# aptitude install apache2-dev ruby1.8-dev
# export APXS2=/usr/bin/apxs2
終わったらpassengerのインストールです。といっても以下のコマンドを実行するだけですが。
# gem install passenger
# passenger-install-apache2-module
インストールが完了すると下記のように Apache の httpd.conf に書き込む設定内容が表示されるので、これを /etc/apache2/sites-available/default にコピペします。
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6
RailsRuby /usr/bin/ruby1.8
あとは DocumentRoot を Redmine のインストールディレクトリ下の public に設定します。
Redmineが/var/www/redmineにインストールされている場合は
DocumentRoot /var/www/redmine/public
と設定します。なお、DocumentRoot を /var/www に設定しておき、http://localhost/redmine/ のように Redmine をサブディレクトリとして扱いたい場合は以下のようにRedmine のインストールディレクトリにシンボリックリンクを張ります。
# ln -s $REDMINE_ROOT/public /var/www/redmine
そして Apache の設定ファイルに
を追加します。これで /redmine/ のURLでアクセスできるようになります。
というわけで設定が終わったら Apache を起動してみましょう。
# /etc/init.d/apache2 restart
今回は http://ホスト名/redmine/ でアクセスしてみます。どうでしょう?RedmineのTOPページが表示されたでしょうか?404や403エラーになる場合、Apacheのエラーログが /var/log/apache2/error.log にあるので、これを見てみると原因が分かるかもしれません。
Passengerの詳細な設定項目についてはPhusion Passenger users guideに詳しく書いてあるので一読してみると良いと思います。
「使ってみないとその善し悪しはわかりません」ということで、プロジェクト管理ツールであるRedmineをインストールしてみました。Installing Redmine通りにやっても微妙にうまくいかなかったので備忘録がてらメモを残しておきます。環境はUbuntu 8.10 + MySQL 5.0.67です。
事前準備
- Ruby 1.8.6 – 今回はUbuntu の 1.8.7 (2008-08-11 patchlevel 72) を使いました
- RubyGems 1.3.1
- Rake 0.8.3
- openssl
- RMagick
が必要です。まずはRubyGemsをダウンロードして解凍してインストールしましょう。
これがおわったらgemsでRakeをインストールします。
あとは openssl と rmagickです。
$ sudo aptitude install libopenssl-ruby librmagick-ruby
これで準備完了です!
Redmineのインストール
RubyForgeから0.8.0をダウンロードして解凍します(できたディレクトリを便宜上 $REDMINE_ROOT とします)。そして空のデータベースを作成しておきます。本家のドキュメントではproductionのDBしか作ってないですが、development, testも作っておくとよいでしょう。
mysql> create database redmine character set utf8;
mysql> create database redmine_development character set utf8;
mysql> create database redmine_test character set utf8;
DBを作成したら $REDMINE_ROOT/config/database.yml.example を database.yml としてコピーし、以下のように編集します。
--- config/database.yml.example 2008-12-30 19:09:27.000000000 +0900
+++ config/database.yml 2009-02-11 12:13:15.000000000 +0900
@@ -10,25 +10,28 @@
adapter: mysql
database: redmine
host: localhost
encoding: utf8
+ socket: /var/run/mysqld/mysqld.sock
development:
adapter: mysql
database: redmine_development
host: localhost
encoding: utf8
+ socket: /var/run/mysqld/mysqld.sock
test:
adapter: mysql
database: redmine_test
host: localhost
encoding: utf8
+ socket: /var/run/mysqld/mysqld.sock
test_pgsql:
adapter: postgresql
socket: /var/run/mysqld/mysqld.sock を足しているのは、何も設定しないと rails が/tmp/mysql.sock を参照するようになっていて、UbuntuのMySQLの設定とかみ合っていないからです。また、このsocketのパスは人によってはカスタマイズしているかもしれないので、うまくいかない場合は /etc/mysql/my.cnf を参照し、そこで指定しているパスと同じものを指定するようにしてください。また、username/password もデフォルトから変えている場合は、それも合わせて database.yml に変更を加えてください。
次にデータベースの初期設定を行ないます。本家のドキュメントによると RAILS_ENV=”production” を指定するようになっていますが、今回はお試しなので development でやってみます。
$ rake db:migrate RAILS_ENV="development"
終わったら $REDMINE_ROOT/tmp/{files,log,tmp} ディレクトリのパーミッションを変更します。
$ sudo chmod -R 777 files log tmp
今回は説明を簡素化するために端折ってますが、本来なら 777 の設定はよろしくないので、真面目にやるのであれば Webサーバを実行するユーザがこれらのディレクトリを所有するように chown するのがよいでしょう。
あとはfcgiスクリプトをコピーして、サーバを起動します。
$ cp public/dispatch.fcgi.example public/dispatch.fcgi
$ ruby script/server
問題なくサーバが起動したら http://サーバ名:3000/ にアクセスしてみましょう。下記のような画面が表示されればインストール完了です。

使ってみた感想
さっくり30分ぐらい使ってみた感想としてはインターフェースが簡素ということでしょうか。すごく質素なページしか表示されないので、最初何をやればいいのかよくわかりませんでした。チケットの新規発行はトラッカーは設定してないと使えなかったりとか、真面目にドキュメントを読まないとわからなかったりするので、もう少し初心者向けのチュートリアルがRedmine自体に組み込んであると良いのかなと思いました。
コメント