goo blog サービス終了のお知らせ 

へたれエンジニア日記(旧跡地)

こちらへ引っ越しました。http://d.hatena.ne.jp/toritori0318/

Redmineインストール その7 passenger

2008-05-19 00:31:30 | Redmine
はい。
Redmineインストール7回目です。
たぶん今回で最後?

今回はPassenger(mod_rails)の設定です。
他サイトと同じような説明になってしまうと思いますので
あんまり参考にならないかも。


まずはgemでpassengerをインストールします。
gem install passenger

次にapacheモジュールのインストール。
モジュールが足りない時はメッセージで知らせてくれます。
私の環境では「httpd-devel」と「apr-devel」の
インストールを促されました。
また、インストールの途中で以下のApache設定が表示されますので
コピペしておきましょう。
環境によって変更されるものなので、必ずここでのコピペを忘れずに。
LoadModule passenger_module …
RailsSpawnServer …
RailsRuby …

そしてhttpd.confの変更です。
yumでapacheをインストールしている場合は
/etc/httpd/conf.d配下に「passenger.conf」
というファイルを作成してもよいでしょう。
前回インストールの環境と同じロケーション(/redmine/)を使用するため
aliasも設定しておきます。
<VirtualHost *:80>
DocumentRoot "/home/rails/redmine/public"
ServerName xxxx.expamle.co.jp
ServerAdmin toritori0318@xxxx.expamle.co.jp
ErrorLog /var/log/httpd/xxxx.expamle.co.jp-error_log
Alias /redmine/ "/home/rails/redmine/public/"
<Directory "/home/rails/redmine/public">
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>


これだけでOKです。
あとはapacheを再起動するだけ!


(参考文献)
http://redmine.jp/



…という感じで起動までは全然問題ないんですが、
現状だとApacheのエラーログが大変なこと。
1回1回のアクセス毎に、エラーログに以下のようなログが
どんどん溜まっていってしまうのです。
[27402:Hooks.cpp:370] Processing HTTP request: /redmine/attachments/download/23
[27385:ApplicationPoolClientServer.h:426] Client 0x83358a0: received message: ['get', '/xxx/redmine', 'true', 'nobody']
[27385:ApplicationPoolClientServer.h:426] Client 0x83358a0: received message: ['close', '8']


見るからにエラーではなくデバッグログっぽいんですが、
これを抑制する方法がわからないんです。
他サイトでも似たような事例が見当たらないってことは
自分の環境だけ?
まあ今の所は無視してますが、無駄なログは抑制したい所です。

Redmineインストール その6 初期設定

2008-05-05 00:38:06 | Redmine
はい。
Redmineインストール6回目です。

前回まででRedmineのインストールが完了しているので
今回は設定についてのお話を。

必須とまでは言いませんが、
行っておいたほうが良い設定について書いてみます。


■メール設定
デフォルトだとSMTP認証で設定されているため
メールが送信されないことが多いようです。
メール通知を行っているのに送信されない場合は
「$RAILS_ROOT/config/environment.rb」
を以下のように修正してみましょう。
config.action_mailer.smtp_settings = {
:address => "127.0.0.1",
:port => 25,
:domain => "somenet.foo",
# :authentication => :login,
# :user_name => "redmine",
# :password => "redmine",
}



■日本語の設定
「$RAILS_ROOT/lang/ja.yml」には
Redmineに表示される日本語の設定が記述されています。
デフォルトでもいいのですが、
自分好みに変えてしまうのも良いでしょう。
例1.「問題(チケット)」を「タスク」に変更。
例2.「名前」と「苗字」を入れ替える。
field_firstname: 苗字
field_lastname: 名前



■wikiヘルプ日本語化
デフォルトではwikiヘルプが英語のままです。
これはファイルを置き換えるだけで日本語に変えることが可能です。
まず、以下のzipをダウンロードします。
http://redmine.jp/faq/wiki/wiki_syntax_ja/

次に「$RAILS_ROOT/public/help/」配下に
ダウンロードしたファイルを解凍します。
これだけでOKです。


■リポジトリの文字化け対策
リポジトリのソースをブラウザ上で表示したときに
文字化けを起こす場合があります。
その時は「管理」→「設定」から
「リポジトリのエンコーディング」を指定すれば解消できます。
複数指定可能です。


それでは次回、mod_railsの設定に挑戦してみます。
もうすでに実装しているのですが、
まだよくわからないところがあるんですよねぇ…


(参考文献)
http://redmine.jp/




Redmineインストール その5 apache連携

2008-04-26 21:02:12 | Redmine
はい。
Redmineインストール5回目です。

前回はmongrelで起動するまででしたが、
今回はさらに、apacheでmongrelと連携してみましょう。
とは言ってもバーチャルホストでプロキシ設定するだけです。


まずはapacheのコンフィグファイル
「/etc/httpd/conf.d/mongrel.conf」
を以下のように編集します。
(コンフィグファイルに関する注意点は
Subversionの設定時と同じです)
<VirtualHost *:80>
ServerName xxxx.expamle.co.jp
ServerAdmin toritori0318@xxxx.expamle.co.jp
DocumentRoot /home/rails/redmine
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>


それではapacheで起動できているか確認です。
apache再起動後に以下のURLにアクセスします。
http://localhost/

Redmineが表示されたら連携成功です。


ただし、このままの設定だと
apacheに他のアプリケーションが乗っている場合も
Redmineのパスを見にいってしまいます。
そこで
http://localhost/redmine/
というURLを参照したときのみ、
リバースプロキシを適用してみたいと思います。

まず、先ほど修正したファイルを以下のように変更します。
<VirtualHost *:80>
ServerName xxxx.expamle.co.jp
ServerAdmin toritori0318@xxxx.expamle.co.jp
DocumentRoot /home/rails/redmine
ProxyPass /redmine/ http://localhost:3000/
ProxyPassReverse /redmine/ http://localhost:3000/
</VirtualHost>


apacheの設定はこれだけです。
apacheを再起動して以下のURLにアクセスしてみましょう。
http://localhost/redmine/


Redmineが表示されると思いますが、
何か変なレイアウトになっていませんか?
実はURLロケーションを変更してしまうと
スタイルシートなどのパスがうまく読み取れないようです。
ですのでRedmineのコンフィグを適切に変更する必要があります。


Redmineルートに移動し「config/routes.rb」を開きます。
ファイルに
ActionController::Routing::Routes.draw do |map|

という記述がありますので、
その次の行に以下の1行を追加します。
ActionController::AbstractRequest.relative_url_root = "/redmine"


これで基本的な設定は終了です。
mongrelを再起動してRedmineにアクセスすると
今度はレイアウトもきちんと見れるようになっているはずです。


あとはメニューの
「管理」→「設定」
から
「ホスト名」を
localhost/redmine
に設定しておけば
メール通知時などのパスも適切に設定してくれます。


それでは次回、
Redmineを立ち上げた後に行ったほうが良いと思われる
設定について書きたいと思います。



(参考文献)
http://blog.mj-site.net/2007/05/redminemongrel.html
http://syo.cocolog-nifty.com/freely/2007/05/redmineapachepr_6c1c.html

Redmineインストール その4 mongrel

2008-04-20 20:20:52 | Redmine
はい。
Redmineインストール4回目です。

Redmineの自動起動設定ということで、
Mongrelサーバのインストールになります…
が!

先ほども記事にした通り
Passenger(mod_rails for Apache)という
とても便利なモジュールが公開されたので
最終的にはPassengerでのWeb公開方法まで記事にしたいと思います。
それはまた後日に(というか自分がまだ作業してない)



それではmongrelのインストールから。
基本的にはこちらのサイトを参考にさせて頂きました。
http://rubyist.g.hatena.ne.jp/muscovyduck/20070402/p1


gemでmongrelをインストールします。
途中でいろいろ聞かれますが全てYesで。
gem install mongrel
gem install mongrel-cluster

次に、mongrelのプロセスIDを書き込むためのディレクトリを作成します。
権限も付与しておきましょう。
mkdir /var/run/mongrel
chown rails.rails /var/run/mongrel
chmod 775 /var/run/mongrel

次にmongrelのコンフィグファイルを作成します。
railsを実行するユーザで行います。
cd /home/rails/redmine
mongrel_rails cluster::configure -e production -p 3000 -c `pwd` -l log/mongrel.log -P /var/run/mongrel/redmine.pid -N 1

このコマンドでredmineルート/config配下に
mongrel用のconfigファイルが作成されます。

さらに、コンフィグファイルとスクリプトを紐付けるための
シンボリックリンクを作成します。
(ここから先はrootユーザで行います)
mkdir -p /etc/mongrel_cluster/redmine
ln -s /home/rails/redmine/config/mongrel_cluster.yml /etc/mongrel_cluster/redmine/mongrel_cluster.yml



ここまででmongrelサーバの設定は完了です。
mongrelを起動してみましょう。
mongrel_rails cluster::start

Webブラウザから以下のURLにアクセスしてみます。
http://localhost:3000/

うまく表示されたら一度サーバを止めます。
mongrel_rails cluster::stop



次に、自動起動の設定です。
自動起動するためのスクリプトをmongrelからコピーします。
(コピー元スクリプトはインストール環境により異なるかもしれません)
cp /usr/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.5/resources/mongrel_cluster /etc/init.d/mongrel_cluster_redmine

コピーしたら自動起動スクリプトを編集します。
以下の環境変数をインストールした環境に合わせます。
CONF_DIR=/etc/mongrel_cluster/redmine
PID_DIR=/var/run/mongrel_cluster
USER=rails

スクリプトが起動するかどうか確認します。
/etc/init.d/mongrel_cluster_redmine start

再度Webブラウザで確認し、Redmineホームが表示されたらOKです。

最後にサービスの登録です。
chkconfig --add mongrel_cluster_redmine
chkconfig mongrel_cluster_redmine on



これでRedmine自動起動の設定は終了です。

次回は、mongrelサーバとApacheの連携について説明したいと思います!
mod_rails公開によりニーズがなくなったのかもしれませんけど…