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


50

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

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


OPの質問への答えではないが、以下の答えは、関連する問題が修正しようとしながら、この質問へのつまずきいくつかの訪問者を助けることがあります。askubuntu.com/a/525120/1183を
オーギュ

回答:


76

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

10
興味深いことに、私はこの動きの背後にある理由を探してみました。もし誰かが興味があるなら、私はそれを説明するこのバグレポートをDebianで見つけました。
ダン14

4
この変更の後、エラーが禁止されています。
ダーシャナ

1
@Darshana apache2.4のデフォルト設定では、apacheが外部にアクセスすることはできません/var/www/html。そのディレクトリ(またはそのサブディレクトリ)以外の場所にサイトを置くと、403エラーが発生します。あなたは追加する必要があり<Directory /path/to/your/site>ディレクティブをして、あなたのバーチャルホストのconfigsにrequire指示、それインチ
ダン

これはうまくいきませんでした。
user124384

ここも同じです。エラー403が禁止されました。どのようにそれを解決する必要があります(より単純な方法でください)
-abhishah901

27

/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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.