読者です 読者をやめる 読者になる 読者になる

FreeBSDで運用する(その6)

知らぬ間に遠い道を選んでいる気がしてきたので、一度捨てたはずのFreeBSD5.4を試して見ることにした。
先ずは何もパッケージを入れないで、取り敢えず3月20日のノートに書いたperlスクリプトを試して見たところ、時計に問題は無さそうだ。
ただし、FreeBSD起動直後はプロセス実行時間を計算するときに、時計が戻っていると言う旨の以下の警告が出る点が気になるが。

calcru: runtime went backwards from ...

そう言えばこのメッセージはFreeBSD6.0でも表示されていた。
この点を除けば、影舞をmod_rubyで動作させるところまではあっという間に完了した。
私が行ったmod_rubyの設定は、影舞のマニュアルで説明されている方法とは異なり、2月28日のノートに書いたように、httpd.confでエイリアス定義を行った。


さて、ようやくデータベースをインストールするところまで来た。


影舞ではMySQLPostgreSQLをサポートしている。
早速、FreeBSD5.4のrootユーザで/usr/sbin/sysinstallを実行し、Configure → Packages → databasesのリストから以下のパッケージをインストールした。

MySQLの他のバージョンには4.1.10aと5.0.2が存在したが、Ruby/MySQLの説明を見ると、MySQL4.1.xは使用できないと書いてあり、5.0.2は嫌な予感がしたので避けた。
PostgreSQLの他のバージョンには7.3.9_3と8.0.1_3が存在したが、各種procedural languageのパッケージは7.4.7対応版しかないので、その2つのバージョンは棄却した。


影舞のPostgreSQL利用マニュアルMySQL利用マニュアルによればRuby/Postgres,MySQL/Ruby(またはRuby/MySQL),Ruby/DBIをインストールする必要がある。
そこで、さらにsysinstallのConfigure → Packages → databasesのリストから以下のパッケージをインストールした。

  • ruby18-dbi-0.0.23
  • ruby18-mysql-2.5.1
  • ruby18-postgres-0.7.1_2

その後は前述の影舞のマニュアル通りに設定を完了した。


次はテストである。


最初はMySQLのテストを行うために、データの保存形式をKagemai::MySQLStoreにした影舞のプロジェクトを作成しようとしたが、Internal Server Errorが発生してしまった。
/var/log/httpd-error.logを見ると、

[error] mod_ruby:
/usr/local/lib/ruby/site_ruby/1.8/dbi/dbi.rb:509:
in `load_driver': Could not load driver
(No such file to load -- DBD/Mysql/Mysql).

と言うエラーが発生していた。


夜も深けたので、つづく。