Apache2の設定

カテゴリ:Ubuntu

前回の続きです。

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

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

/etc/apache2/apache2.confを編集して、ドキュメントルートの変更、そしてhtaccess、mod_rewrite、CGIもそれぞれ有効にします。なおドキュメントルートは/media/WWW以下としています。

ドキュメントルートを変更するためデフォルト設定をコメントアウトし、その下に新たなドキュメントルート設定を追加。htaccessも有効にします。

#<Directory /var/www/>
#	Options Indexes FollowSymLinks
#	AllowOverride None
#	Require all granted
#</Directory>

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

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

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

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

作ったcgi-enabled.confを有効にします。

$ a2enconf cgi-enabled.conf
Enabling conf cgi-enabled
To activate the new configuration, you need to run:
  systemctl reload apache2

/etc/apache2/conf-available/serve-cgi-bin.confを編集して、ドキュメントルート設定、htaccessを有効にします。デフォルト設定はコメントアウトします。

#	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	ScriptAlias /cgi-bin/ /media/WWW/
#	<Directory "/usr/lib/cgi-bin">
	<Directory "/media/WWW">
#		AllowOverride None
		AllowOverride All

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

#	DocumentRoot /var/www/html
	DocumentRoot /media/WWW

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

#	DocumentRoot /var/www/html
	DocumentRoot /media/WWW

以上で設定が終わりました。Apache2をリスタートします。

sudo service apache2 restart

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

アイコン