Apache2の設定

カテゴリ:Ubuntu

前回の続きです。

以前書いた設定が難しい書式ではなかったので、バックアップせずにフォーマットしてしまったのですが、新たに同じように書いたものがなぜかうまくいきません。

「またか」と思い直して、調べました。

/etc/apache2/apache2.confを編集して、サーバールートの設定、CGIの許可、.htaccessを有効にします。そしてルート直下でCGIを動作させます。なおドキュメントルートは/media/WWWとしています。

164行目からを編集

< Directory /media/WWW>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

文末にサーバーネームを追加します。

ServerName localhost

/etc/apache2/conf-available/にcgi-enabled.confを作成して、CGIが動作するようにします。

<Directory "/media/WWW">
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl
</Directory>

/etc/apache2/conf-available/serve-cgi-bin.confを編集して、サーバールートの設定、.htaccessを有効にします。

11行目

ScriptAlias /cgi-bin/ /media/WWW/
<Directory "/media/WWW/">
    AllowOverride All

/etc/apache2/sites-available/000-default.confを編集してドキュメントルートを設定します。

12行目

DocumentRoot /media/WWW

同じく/etc/apache2/sites-available/default-ssl.confにもドキュメントルートを設定します。

5行目

DocumentRoot /media/WWW

.htaccessでmod_rewriteモジュールを使っているので、インストールされているかどうか確認します。

$ cat /etc/apache2/mods-available/rewrite.load
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

あるようなので、有効にします。

$ sudo a2enmod rewrite
[sudo] パスワード: 
Enabling module rewrite.
To activate the new configuration, you need to run:
  service apache2 restart

Apache2をリスタートします。

sudo /etc/init.d/apache2 restart

以上で元通りに動作するようになりました。

前回までは、サーバールートやCGI、htaccessの設定はapache2.conftと000-default.confを編集するだけで良かったんですが、追加作成するファイルがあったり、シンボリックリンクの確認もあったりして、難儀しました。

ローカルサーバー環境と言っても、ハイパーリンクやperlスクリプトの動作確認だけなので、もうちょっと手軽に動作できるサーバーウェアがあるとありがたいのですが。

アイコン