2012-04-24 11 views
0

Apache Webサーバー上で.rhtmlファイルを処理するためにErubisセットアップを取得しようとしています。Erubis on Apache httpd.confとセットアップ?

私はRubyをインストールしました(v 1.9.2p290)、私はRuby Gemsを通してErubis(2.7.0)をインストールしました。

httpd.confファイルを正しく設定する方法が見つからない - Apacheでerubyを設定するためのガイドが見つかりましたhttp://www.ruby-doc.org/docs/ProgrammingRuby/html/web.html - これらの設定を使用して再試行しました。 。しかし、RHTMLファイルは(それだけでフラットなテキストとしてルビー表現を出力しています)解析されていません

私は、httpd.confファイルに次の行を追加したが、それはanything--

AddType application/x-httpd-eruby .rhtml 
Action application/x-httpd-eruby /cgi-bin/eruby 
をしませんでした

私はerubisではなくerubyをインストールしていればうまくいくと思います。 erubisのウェブサイトでは、私がすでに行っている宝石を使ってインストールする以外に、これをどうやって稼働させるのか明確な例はありません。

私はまた、ファイルとconfの設定を.rhtmlから.erubyに変更しようとしましたが、その場合にも動作しませんでした。

助けてください!

答えて

3

どうやら埋め込まれたルビーを使用してのこのスタイルは、もはや移動するための方法ですが、私も&をeruby実行したかったが、要求されたページを渡すためにCGIシェルスクリプトを追加することにより、.rhtmlページを処理するためにerubisを得るための一つの方法を発見しましたエルビスに。私の解決策はここに記述されている:

http://techdog.tumblr.com/post/36496065877/configure-erubis-cgi-in-apache


私はUbuntuの12.04 & のRuby 1.8.7のApache/2.2.22を持っています。私はerubis 2.7.0の実装&を実行して、実行可能なerubisファイルをApacheのcgiフォルダにコピーしました。私の場合は/ usr/lib/cgi-bin/erubisです。

私は/etc/apache/httpd.confにこれらのディレクティブを追加することによって、.rhtmlファイルに対する要求を処理するためにerubis.shと呼ばれるCGIスクリプトに構成:私はアクションモジュールが有効になっていることを確認しました

AddType application/x-httpd-eruby .rhtml 
Application application/x-httpd-eruby /cgi-bin/erubis.sh 

をこのコマンドを実行することによって:

$ sudo a2enmod action 

を私はerubis.shが埋め込まれたルビーとページの要求を処理するために、このbashシェルスクリプトを作成しました0

#!/bin/bash 
echo "Content-type: text/html" 
echo 
echo "<!DOCTYPE HTML>" 
erubis -E Stdout <$DOCUMENT_ROOT$REQUEST_URI 

最小限のhttpヘッダーを出力し、erubisに、埋め込まれたRubyを含む要求された.rhtmlファイルを処理するように求めます。適切な場所に埋め込まれたRubyブロックの出力を得るためには、Stdout拡張オプションが必要だったようです。

+0

リンクが切断された場合の回答内のリンクの要点を要約できますか? – jonsca