FreeBSDで運用する(その3)

翌日は本業が忙しかったので、会社では次のことまではできたが、データベース環境をセットアップするところまでは辿り着くことができなかった。

  • 実機のVMware Player上でFreeBSDを立ち上げる。
  • apachehttpd.conf)の設定を行う。
  • apachehttpd.conf)にmod_perlとmod_rubyの設定を追加する。
  • apacheが正しく動作することを確認する。
  • 影舞を含むWEBデータをWindowsApache環境からコピーする。
  • 影舞の設定をFreeBSDApache環境に合わせる。
  • 影舞のページを開いて、mod_ruby上で動作していることを確認する。

この時にhttpd.confに追加したmod_ruby用の設定は以下の通り。

LoadModule ruby_module libexec/apache/mod_ruby.so
AddModule mod_ruby.c

<IfModule mod_ruby.c>

    RubyRequire apache/ruby-run
    AddHandler ruby-script .rbx
    RubyKanjiCode euc
    # RubySafeLevel 0

    # "/ruby"でアクセスされたCGIはmod_rubyで動作するように設定
    Alias /ruby/ "/usr/local/www/ruby-run/"

    <Location /ruby>
        SetHandler ruby-object
        RubyHandler Apache::RubyRun.instance
        Options ExecCGI
        Allow from all
    </Location>

    # erubyの設定
    AddType application/x-httpd-eruby .rhtml
    Action application/x-httpd-eruby /cgi-bin/eruby

    # "/kagemai/xhtml/*.cgi"はmod_rubyで動作するように設定
    Alias /kagemai/xhtml/ "/usr/local/www/htdocs/kagemai/html/"

    <Location /kagemai/xhtml>
        SetHandler ruby-object
        RubyHandler Apache::RubyRun.instance
        Options ExecCGI
        Allow from all
    </Location>

</IfModule>

また、何故かWindows版mod_ruby上では、影舞の管理機能(admin.cgi)が動作しなかったので、全体の設定を以下のようにして、管理機能だけはruby上で動作するようにしていた。

設定項目 設定内容
guest_mode_cgi ../xhtml/guest.cgi
user_mode_cgi ../xhtml/user.cgi
admin_mode_cgi ../html/admin.cgi


FreeBSD版mod_ruby上では、その点がデフォルト(ディレクトリ未指定)で正常に動作するようだ(当然か)。

mod_ruby上で影舞が動作していると、ページの右下に


Bug Tracking System 影舞 version 0.8.6
Powered by Ruby 1.8.3 + mod_ruby 1.2.4

と表示されるので動作確認できる。


眠くて仕方がないので寝ます。
お休みなさい。