最近Ubuntu 14.04をインストールし、lamp-server
をインストールし、/var/www
ディレクトリにWebページを配置しましたが、ブラウザーでlocalhostを開いたときに何もありませんでした。 ZendがApacheを更新したためだと思います。
理由が何であれ、ブラウザからアクセスできるように、phpファイルをどこに保存するかを知りたいです。
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
/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
コマンドでデフォルトの仮想ホストを無効にすることです。