[ubuntu-jp] apache2でcgiの設定

Jun Kobayashi fm4j-kbys at asahi-net.or.jp
Wed Oct 18 06:28:31 BST 2006


小林です。

> そこで、testというユーザを登録し、
> /home/test/public_html
> というフォルダを作成し、
> http://localhost/~test/cgi-bin/test.cgi
> としてうまく表示されるのを期待したのですが、表示されません。
> Not Found
> 
> The requested URL /~ichiko/cgi-bin/hello-ruby.cgi was not found on this
> server.
> Apache/2.0.55 (Ubuntu) Server at localhost Port 80
> と表示されます。

以下の2点の設定を行えば良いと思います。

[ホームディレクトリ以下の public_html を読むよう設定する]

userdirモジュールが有効になっていなければ有効にします。
Ubuntuでモジュールを有効にするには
  sudo a2enmod
を実行します。モジュール名を聞かれるので userdir を入力します。

[~/public_html/cgi-bin 以下のファイルをCGIとして実行されるよう設定する]

いろんな方法があると思いますが、例えば /etc/apache2/mods-available/userdir.conf に

<Directory /home/*/public_html/cgi-bin/>
    Options ExecCGI
</Directory>

を加え、/etc/apache2/apache2.conf 内の以下の行を有効にします。

AddHandler cgi-script .cgi

設定後、以下のコマンドでApacheをリロードします。
  sudo /etc/init.d/apache2 reload

これで動くはずですが、動かなければ /var/log/apache2 以下の
ログを読んで、何が悪いのか考えてみると良いでしょう。

-- 
Jun Kobayashi



More information about the ubuntu-jp mailing list