回答:
Ubuntu 14.04のリリース時に公開されたapache2バージョンは2.4.7であり、このバージョン以降、セキュリティ上の理由から、サーバーの新しいルートディレクトリは次のようになります。
/var/www/html
そのため、これから(ローカル)Webサイトのファイルを配置する必要があります。今後の更新でこの問題が再び発生することはありません。
とにかく、このディレクトリを別のディレクトリに変更する場合は、/etc/apache2/sites-available/000-default.conf
ファイルから次の行を(ルートとして)変更する必要があります(sudo nano /etc/apache2/sites-available/000-default.conf
):
DocumentRoot /var/www/html
に
DocumentRoot /path/to/another/directory
この後、新しい変更を有効にするには、次のコマンドを使用してApacheサーバーを再起動する必要があります。
sudo service apache2 restart
/var/www/html
。そのディレクトリ(またはそのサブディレクトリ)以外の場所にサイトを置くと、403エラーが発生します。あなたは追加する必要があり<Directory /path/to/your/site>
ディレクティブをして、あなたのバーチャルホストのconfigsにrequire
指示、それインチ
/etc/apache2/sites-available/000-default.conf
古いバージョンに戻すのではなく、デフォルトのパッケージファイルを変更しないでおくことを好みます。
この理由は、次回のアップグレード中に000-default.conf
ファイルがリセットされる可能性があるため、再び破損することがないためです。
その上、そのような修正は私たちを困らせるためだけに行われるのではなく、修正は正当な理由で行われました。Debianのこのバグレポートでは説明しています。
Webサーバー[sic]はデフォルトのドキュメントルートを/ var / wwwに設定しますが、サイトローカル管理者は/var/www/example.comを使用する傾向があります。これは、訪問者がexample.comの/ supposed /ドキュメントルートをバイパスしてデフォルトのドキュメントルートにアクセスする場合、セキュリティに影響します。想定されるドキュメントルートの外に機密データが配置されている場合は問題になります(たとえば、仮想の/var/www/example-com-db.conf構成ファイルを検討してください)。
より良い解決策は、サイトファイルをから/var/www
に移動すること/var/www/html/
です。
# 1. move all files excluding the `html` directory
sudo mv /var/www/[!html]* /var/www/html
# 2. Move the hidden files as well which are skipped in previous command
sudo mv /var/www/.[!.]?* /var/www/html/
また、別の可能な解決策は、別の仮想ホストを作成し、コマンドでデフォルトの仮想ホストを無効にすることです sudo a2dissite 000-default