
Ubuntu日本語フォーラム

ログインしていません。
apache2はインストール済みなのですが、RubyつかってCGIを動かそうとすると、スクリプトそのままの表示が出てしまいます。
RubyでCGIを使う場合、どこか設定変更するのでしょうか?よろしくお願いいたします。
オフライン
まず、Ubuntuのバージョンを明らかにしてください。
【1】Exec CGiの指定はされてますか?
【2】apache2のモジュールである cgi や suexec や cgid などのモジュールは組み込み済みですか?
端末から
sudo a2enmod
として表示される物を、コピーして貼り付けてください。
また、"自宅サーバー apache2 CGI"とかでぐぐると、参考サイトは沢山出てきますよ。
オフライン
Ubuntuは9.04です。
コード:sudo a2emodを打った結果は
Your choices are: actions alias asis auth_basic auth_digest authn_alias authn_anon authn_dbd authn_dbm authn_default authn_file authnz_ldap authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cern_meta cgi cgid charset_lite dav dav_fs dav_lock dbd deflate dir disk_cache dump_io env expires ext_filter file_cache filter gnutls headers ident imagemap include info ldap log_forensic log_sql log_sql_mysql log_sql_ssl mem_cache mime mime_magic negotiation php5 proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http rewrite setenvif speling ssl status substitute suexec unique_id userdir usertrack version vhost_alias
Which module(s) do you want to enable (wildcards ok)?
です。
他に設定はしていません。よろしくお願いいたします。
オフライン
サーバー版ですか?デスクトップ版ですか?
a2enmodの結果を見ると。必要なモジュールは組み込まれているようですね。
## なお、以下はサーバーを公開する事を前提とはしていません。また、rubyはインストールされているものとします。
/etc/apache2/mods-enabled/mime.conf と言うファイルに
#AddHandler cgi-script .cgi
と言う記述がありますので、「#」を外して、
AddHandler cgi-script .cgi .rb .pl
と「.rb」を付け加えてください。
それから、設定の管理方法によって様々なんですが、他に設定ファイルを作成してないとして
/etc/apache2/sites-available/default と言うファイルの
変更前 による投稿:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
を
変更後 による投稿:
<directory /var/www/>
Options Includes ExecCGI FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</directory>
とかしてみてください。.rbファイルやhtmlファイルは/var/www以下に配置することになります。
設定をいじったら、復活の呪文を唱えることを忘れずに。
sudo /etc/init.d/apache2 restart
また、ファイル管理上ログインユーザのディレクトリで公開したほうが楽だという場合、
<Directory /home/*/public_html>
AllowOverride All
Options IncludesNoExec ExecCGI FollowSymLinks
</Directory>
とかすると、最低限良いかもしれません。
# すみません。今朝から風邪っぽかったのが、いよいよいけません。発熱しだしました。
おやすみなさい。
オフライン
# 体調不良中。詳細に回答する気力がありません。ごめんなさい。
以下の内容に回答いただけると、識者からのアドバイスを受けられると思います。 -> と識者への丸投げ失礼。
1)サーバーをインターネットに公開するかしないか
2)アクセス時のURLをhttp://loocalhost/とかのドメイン直下に指定したいか、http://localhost/~touko/などのユーザーディレクトリ毎の公開にしたいのか。
3)サーバーサイドスクリプトはrubyだけで良いのか。
4)DBサーバの要不要。
よろしくお願いします。
オフライン