△▲ WebProg 初心者の質問 Part15 ▼▽
すいません、Apache + ruby_modをUbuntuで入れたのですが、
そのまんまソースコードが表示されてしまいます。
なにをどのように設定したらいいのか教えてください。
したいこと
tDiaryのデザイン変更のために、ローカル鯖でtDiaryを実行したい
したこと
apt-get install apache2 libapache2-mod-ruby ruby
でインストール
a2enmodでuserdirを有効化
a2enmodでrubyを有効化
自分のディレクトリにpublic_htmlを作成して、その中でtDiaryを展開した
index.rbなどは777の属性になっている
http://localhost/tdiary/index.rbにアクセスするとソースがそのまま表示される という状態です…
設定の見落としがあったら教えていただきたいです…
httpd.confにAddHandlerが要る
てゆうかubuなんとかのパッケージ知らないけどそれでmod_ruby2が入るんだ。
入るとしてmod_perlの時はSetHandlerだのPerlSendHeaderだの色々設定した。
>>595 http.confに
AddHandler cgi-script .rb .cgi
を付け加え、apacheをrestartしたらこんどは
Forbiddenなりました…
どうすればいいのでしょか…。馬鹿ですみません…
modがあるのにCGIで動かしていいの?
そのへんすらよくわかっていないヘタレなのです…
google先生にきいても、なんかRailsのことばかりが出てきて、
そんなのいらないからどうすればいいの…?という状況で…
# .soがどこにあるか探して指定してね
LoadModule ruby_module /usr/lib/apache/*/mod_ruby.so
# 拡張子.rbに反応
<IfModule mod_ruby.c>
RubySafeLevel 1
RubyRequire apache/ruby-run
<Files *.rb>
SetHandler ruby-object
RubyHandler Apache::ERubyRun.instance
</Files>
</IfModule>
httpd.confにこんなん書けば良いらしいけどね。真偽は不明。
>>600 ありがどうございます。
やってみたのですが、やはりソースコードがそのまんま表示されます。
mod_ruby.soは
/usr/lib/apache2/modules/mod_ruby.so
にあるので、それにしています。
単純にaaa.rbというファイルに
puts 'Hello World!'
とし、実行権限与えて、表示させると、そのまんまコードが表示されます…
Hello World!
ではなく、
puts Hello World!
と表示されるのが正しいのでしょうか?
すでにWebProgの話題じゃないことに気がつこうぜ
やっぱり
>>602が出たか。動いたら設定を聞こうと思っていたけどもういいや。
ちなみに過去ログでも去年の2月頃に同じ質問が出て未解決のまま終わってた。
Rubyのことは良く知らんがここじゃないか
> RubyHandler Apache::ERubyRun.instance
eRubyってコードを埋め込むやつだろ。
昔俺がためしに入れてみた時の設定ファイルでは
RubyHandler Apache::RubyRun.instance
こうなってるが。
>>602 まあ、WebProgを弄るために必要な最低限の設定もこの板の範疇ではなかろうか。
共有鯖で実験されるよりかよっぽどいい。
どうみても「自宅サーバー」板の話題じゃないか
動作するようになってからまた来てください
>>602-605 すみません。
自宅サーバー板で質問してみます。
解決したら、まとめをこちらに投下させていただきます。
ありがとうございました。