apache2のV2.4.7を使用する場合の注意点とヒント

apache2のV2.4.7のデフォルト設定は、V2.4.6のデフォルト設定とは異なり、htmlファイルを格納するディレクトリ(フォルダ)は以下のように変更されています。

V2.4.6 html ファイルのディレクトリ /var/www

V2.4.7 html ファイルのディレクトリ /var/www/html

ubuntu 14.04LTS上でapache2 V2.4.7を利用する場合には、練習問題のhtmlファイルを/var/www/html/に配置させるか、練習問題と同じように設定を変更して/var/www/に配置させることなどが考えられます。

htmlファイルを/var/www/とする場合には、/etc/apache2/sites-available/000-default.confファイルを管理者権限で開いて、以下の部分を変更、追加します。

変更前
DocumentRoot /var/www/htm

変更後
#DocumentRoot /var/www/htm
DocumentRoot /var/www

さらに、CGIプログラムを格納するディレクトリもapache2 V2.4.7のデフォルト設定と、apache2 V2.4.6のデフォルト設定では異なります。

V2.4.6 CGI ファイルのディレクトリ /usr/lib/cgi-bin

V2.4.7 CGI ファイルのディレクトリ /var/www/html

ubuntu 14.04LTS上でapache2 V2.4.7を利用する場合には、練習問題のCGIファイルを/var/www/html/に配置させて、htmlファイル内でCGIを呼び出す部分をそれに合うように変更することが考えられます。また、練習問題と同じディレクトリ名でCGIファイルを使う場合には、apache2の設定を変更して/usr/lib/cgi-binに配置させることなどが考えられます。

CGIファイルを/usr/lib/cgi-binに格納する場合には、/etc/apache2/sites-available/000-default.confファイルを管理者権限で開いて、以下の部分を変更、追加します。

変更前

<Directory  "/var/www/html">
    AllowOverride All
    Options +ExecCGI
    Require all granted
</Directory>

変更後

#<Directory  "/var/www/html">
#    AllowOverride All
#    Options +ExecCGI
#    Require all granted
#</Directory>

<Directory  "/usr/lib/cgi-bin">
    AllowOverride All
    Options +ExecCGI
    Require all granted
</Directory>

さらに、/etc/apache2/conf-available/serve-cgi-bin.confファイルを管理者権限で開いて、以下の部分も続けて変更します。

変更前

     <IfDefine ENABLE_USR_LIB_CGI_BIN>
#            ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
             ScriptAlias /cgi-bin/ /var/www/html/*/cgi-bin/
#            <Directory "/usr/lib/cgi-bin">
             <Directory "/var/www/html/*//cgi-bin/"

変更後

     <IfDefine ENABLE_USR_LIB_CGI_BIN>
             ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
#            ScriptAlias /cgi-bin/ /var/www/html/*/cgi-bin/
             <Directory "/usr/lib/cgi-bin">
#            <Directory "/var/www/html/*//cgi-bin/"

設定ファイルを変更した後は、必ずapache2を管理者権限で再起動(resart)させます。また、設定ファイルを変更、追加する場合にはバックアップをとっておいた方が無難です。