1 インストール

# apt-get install -y apache2 

インストールが終了すると勝手に apache2 が起動する。 http://localhost にブラウザでアクセスすると Default Page が表示される。

2 ディレクトリ構成

2.1 設定ファイル

see below: * http://feasible.blog73.fc2.com/blog-entry-14.html * http://www.linux.net-japan.info/install08.html

, ディレクトリ・ファイル , 説明 , /etc/apache2/apache2.conf , 大元の設定ファイル。他の設定ファイルは基本的にここから読まれる。 , /etc/apache2/sites-available/ , 有効・無効を含めた全てのサイト設定を置く。 , /etc/apache2/sites-enabled/ , 有効にするサイト設定を置く。 , /etc/apache2/mods-available/ , 有効・無効を含めた全てのモジュールを置く。 , /etc/apache2/mods-enabled/ , 有効にするモジュールを置く。

2.2 公開ディレクトリ

/var/www/html/index.html が、http://localhost/index.html として表示される。 これは、/etc/apache2/sites-available/000-default.conf に、以下のように定義されている。 DocumentRoot /var/www/html

2.2.1 ~/public_html を公開する。

# a2enmod userdir
Enabling module userdir.
To activate the new configuration, you need to run:
  service apache2 restart
# service apache2 restart

a2enmod userdir では、 /etc/apache2/mods-enabled/userdir.conf (mods-available/... のシムリンク)が生成される。

3 CGI

3.1 テスト用スクリプト, hello.cgi の準備

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";

3.2 /usr/lib/cgi-bin, ドキュメントルート

下記、userdir がいけるようになったらいけてた。 # a2enmod cgi だけでいけるんちゃうやろか。

3.3 ~/public_html, userdir

~/public_html/cgi-bin/hello.cgi のように置く。 この時点でブラウザで http://localhost/~ippei/cgi-bin/hello.cgi のように アクセスしても、 ファイルの中身が表示されるだけの筈。

3.3.1 CGI モジュールの許可

# a2enmod cgi

3.3.2 /etc/apache2/mods-enabled/userdir.conf

</Directory>

のあとに、以下を追加。 <Directory /home/*/public_html/cgi-bin> Options ExecCGI AddHandler cgi-script .cgi .pl .rb