-->
./
<!-- フラ&#65533;ュが見れな&#65533;のためにここに何か書&#65533; --> フラ&#65533;ュがインス&#65533;&#65533;ルされて&#65533;&#65533;たいで&#65533;&#65533;&#65533;

2009年12月25日

Railsでのアクセスログの記録

別にこんなことをしなくてもApacheや他のソフトがログを記録してくれているのですが、一つのファイルに対するアクセス状況を把握しやすいので便利かと思います。だいぶん前に作ったものですが、今回、日付の部分を修正しました。実際は部分的な抜粋になっています。

class Ctx1Controller < ApplicationController                                             
    #before_filter :set_default_content_type                                             

  def kennkei
    fh = open("#{RAILS_ROOT}/log/kennkei_log",'a+')
    fh.flock(File::LOCK_EX)            
    today = Time.now                   
    wdays = ["日", "月", "火", "水", "木", "金", "土"]
    fh.print today.strftime("%Y-%m-%d %H:%M:%S"), " ", wdays[today.wday], " "
    fh.print " IP=>", request.remote_ip, " HOST=> ", `host #{request.remote_ip}`.chop
    fh.print "リファラ=>", request.referer, "\n"                                    
    fh.flock(File::LOCK_UN)                                                         
    fh.close                                                                        
  end
end


 開発環境であるAptanaで見るとこんな感じです。
ホームページ
ishikawa_kennkei_aptana_20091226
ishikawa_kennkei_aptana_20091226 posted by (C)hirono-hideki

ログファイル
ishikawa_kennkei_aptana-log_20091226
ishikawa_kennkei_aptana-log_20091226 posted by (C)hirono-hideki


Powered by ScribeFire.



posted by hirono at 03:58| Comment(0) | TrackBack(0) | Rails

2009年12月05日

Aptana Studio, build: 2.0.2でSubversionを使う。

Subversiveプラグイン - EclipseWiki

 早く段階でこのホームページを見ていれば、まだ救いがあったような気もしますが、Eclipseはバージョンの変化もあり、プラグインの数も多いので情報を探すのが大変でした。3ヶ月ほど前のUbuntu9.04の時は、同じことが割とすんなり出来たのですが、あるいはSubclipseプラグインというのを使っていたのかもしれません。

 ようやくプラグインのインストールが出来たものの、使い方がわかりづらくメニューがほとんど英語なので難儀しました。ネットで調べてもまとまった説明のサイトを見つけることが出来ず、ほとんど試行錯誤でやりました。AptanaもEclipseもポータブルなので、最悪、配布パッケージのzipを解凍し直せばよいと、かなり適当にやったのですが、時間を掛けただけ、なんとかうまくいったみたいです。

 はじめ、ローカルのAptanaで作成したプロジェクトを「さくらインターネット」のSubversionサーバにコミットしたのですが、これでは「さくらインターネット」で動かなかったのです。2,3ヶ月前のUbuntu9.04の時は、Ubuntu9.04のRailsのバージョンも2.3.3だったので、問題はなかったのですが、Ubuntu9.10では2.3.5になっていて、他のgemからインストールしたものと合わなくなっていたみたいです。Ubuntu9.10のgemのバージョンは1.3.5です。
(Ubuntu9.10でも、Railsのバージョンは「さくらインターネット」に合わせたものを使いました。Railsは複数のバージョンをインストールし、使い分けることが出来ます。)

 問題なのは、さくらインターネットの方では、Railsが2.2.2より新しいバージョンのものを使うのが難しいということです。RailsをApacheで動かすには、さくらインターネットの場合、CGIにするしかなく、RailsでCGIのサポートがされなくなったという事情のようです。

 さくらインターネットの方で作成したRailsのプロジェクトを、Ubuntu9.10のAptanaの方からチェックアウトすることにしましたが、これもすんなりとはいきませんでした。

 Aptanaの方では、動作確認をするだけなのでApacheを使う必要はなく、環境設定をする必要がほとんどないのですが、ApacheでCGIを使うさくらインターネットの方では、いくつか面倒な作業が必要になります。すべてをSubversionに任せては、コミットするたびに設定ファイルの内容が置き換わってしまうので、最低限、environment.rbとdatabase.ymlは、Subversionの管理から除外する必要があります。

 さくらの側のenvironment.rbの先頭には、次のように記述してあります。
$KCODE = 'u' # UTF-8
require 'jcode' # 日本語ライブラリ
$LOAD_PATH.push("/home/hirono-hideki-01/local/ruby")
$LOAD_PATH.push("/home/hirono-hideki-01/lib")
ENV['GEM_HOME'] ||= '/home/hirono-hideki-01/lib/ruby/gem'
ENV['RAILS_RELATIVE_URL_ROOT']="/Rails/apt"


 他に、publicディレクトリ内には、.htaccessが必要です。Apacheの配下にpublicのシンボリックリンクも張らなければなりません。tmpとlogのディレクトリには「o+w」で書き込みのパーミッションを設定する必要もあるそうです。
 また、ファイルのコピペで、environment.rbの中のセッションIDが置き換わっても起動できないことを発見しました。

 なにかと面倒なことが多く、時間を掛け手探りで対処しましたが、この先も関連ソフトのバージョンアップに伴い同じような作業をすることを考えると気が重くなります。これまでにも繰り返した手順も多いのですが、時間がたつと忘れてしまいます。


 以下のキャプチャ画像の内容は、Subversionで同期した同じファイルを使ってRailsを動かしていますが、MySQLのデータベースは、別になっています。Railsで標準のsqlite3を使う分には、面倒はないと思います。試していませんが、データベースの内容も管理を除外しない限り、同じファイルから読み込まれるのかもしれません。

Apacheで表示したRails
sakura-rails-apt_20091205
sakura-rails-apt_20091205 posted by (C)hirono-hideki

Aptanaでの表示
u9-aptana-127_20091205
u9-aptana-127_20091205 posted by (C)hirono-hideki

ApacheのMySQL
sakura-rails-apt-MySQL_20091205
sakura-rails-apt-MySQL_20091205 posted by (C)hirono-hideki

AptanaのMySQL
u9-aptana-127-MySQL_20091205
u9-aptana-127-MySQL_20091205 posted by (C)hirono-hideki

 この先も問題の出てくる可能性はありますが、うまくいったみたいで、便利な環境が整い、一息つきました。

Powered by ScribeFire.

posted by hirono at 02:32| Comment(0) | TrackBack(0) | Rails

gemのバージョンを落として戻す。<さくらインターネット>

 % gem uninstall rubygems-update -v 1.3.5
 % gem install rubygems-update -v 1.3.3
 % update_rubygems

 さくらインターネットのサーバなので、homeディレクトリ内にインストールしているので管理者権限はいりません。

 ふと魔が差してバージョンをあげてみたところ、やはり影響が出てRailsでMySQLのドライバが使えなくなっていました。gemのバージョンを変えても、だめでしたが。
% gem install mysql
を実行すると元に戻ったみたいです。
 その前も、script/generate scaffoldでデータベースを作成し、rake db:migrateを実行したときもエラーは出ていませんでした。


Powered by ScribeFire.

posted by hirono at 00:34| Comment(0) | TrackBack(0) | Rails

2009年12月02日

Ruby on Railsのインストール(Ubuntu9.10)2009/12/02

ruby ralis
 2週間ほど前にもインストールした覚えがあるのですが、なんか手順が違ったものの案外すんなりと起動できたみたいです。

% sudo aptitude install ruby ruby-dev libsqlite3-dev swig
% sudo apt-get install rdoc

gemのインストール
http://rubyforge.org/projects/rubygems/
から最新版
rubygems-1.3.5.tgz
をダウンロード。

ダウンロードしたファイルを解凍
% tar zxvf rubygems-1.3.5.tgz

解凍したディレクトリに入る。
% cd rubygems-1.3.5/

管理者権限でスクリプトを実行。
% sudo ruby setup.rb

のちのち面倒が起こることもあるのでシンボリックリンクを作成。
% sudo ln -s /usr/bin/gem1.8 /usr/bin/gem

Railsをインストール。
% gem install rails

WEBrickを起動するため以下2つも必要だった。
% sudo apt-get install sqlite3
% sudo apt-get install libopenssl-ruby

 とりあえず、WEBrickで起動確認まで。
u9-rails3000_20091202
u9-rails3000_20091202 posted by (C)hirono-hideki


別の仮想マシンからも確認
u9a-rails-44_20091202
u9a-rails-44_20091202 posted by (C)hirono-hideki


Powered by ScribeFire.



posted by hirono at 23:53| Comment(0) | TrackBack(0) | Rails

2009年10月17日

リクエストのリファラを取得

<%= request.referer %>
または、
<%= request.env['HTTP_REFERER'] %>


Powered by ScribeFire.

posted by hirono at 12:40| Comment(0) | TrackBack(0) | Rails