web-dev-qa-db-ja.com

Apache2の2.4.7バージョンからローカルWebサイトを配置する場所

最近Ubuntu 14.04をインストールし、lamp-serverをインストールし、/var/wwwディレクトリにWebページを配置しましたが、ブラウザーでlocalhostを開いたときに何もありませんでした。 ZendがApacheを更新したためだと思います。

理由が何であれ、ブラウザからアクセスできるように、phpファイルをどこに保存するかを知りたいです。

50
akabhirav

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
76
Radu Rădeanu

/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コマンドでデフォルトの仮想ホストを無効にすることです。

27
Dan