/var/www フォルダの問題

/var/www フォルダの問題

私は Ubuntu を初めて使用し、12.04 をインストールしました。以前は Windows で wamp サーバーを使用していましたが、OS を変更した後、www フォルダーからいくつかのファイルを/var/wwwUbuntu に移動しました。しかし、ブラウザーでそのフォルダーを表示しようとすると、何も表示されません。

おそらく権限の問題があります。/var/wwwフォルダーの適切な権限は何ですか? 私のフォルダーの権限は次のとおりです/var:

drwxrwxr-x  4 root root     1024 Feb  4 20:06 www

私は走った

chmod -R 755 /var/www  
chown -R root /var/www

現在、その/var/wwwフォルダーは空ですが、そのフォルダーの下のファイルをブラウザーに表示するように Apache を構成するにはどうすればよいでしょうか?

答え1

デフォルトでは、Apache はディレクトリ一覧の代わりに次のファイルを表示するように設定されています。

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

これらすべてを再帰的にリストするには、次のようにします。

find /var/www -name 'index.*'

ディレクトリにこれらのいずれかが含まれている場合、Apache は次のように表示するのではなく、それを表示します。

Apache ファイルリストの例

これを修正するには、index.* ファイルを削除するか、別の名前に変更します。または、DirectoryIndexディレクティブを変更して apache をリロードすることもできます ( /etc/init.d/apache2 reload)。

デフォルトでは、apacheDocumentRootは です/var/www。そのフォルダの下にあるファイルのみが表示されます。さらに、シンボリックリンクは、宛先が同じユーザーによって所有されている場合にのみたどられます。 の下にファイルがある場合は/var/www、それを気にする必要はありません。

Apache は、ユーザーが読み取れないファイルをリストしません。最後のグループ (以下でマーク)がwww-data存在する限り、すべて問題ありません。rx^

drwxrwxr-x  4 user group     4014 Feb  4 23:16 filename
       ^ ^

技術的には、必要なのxはフォルダーだけです。権限を変更するためのコマンドは正しかったです:

chmod -R 755 /var/www  

フォルダにインデックスファイルがないにもかかわらずApacheがファイルをリストしない場合は、

tail -f /var/log/apache2/error.log

Apache がどのようなエラーに遭遇したかを確認します。

答え2

次のコマンドを使用してApacheをインストールします

sudo apt-get install apache2

次に/etc/apache2/sites-enabled/000-defaultファイルを開き、次の行が存在するかどうかを確認します。

DocumentRoot /var/www

他のパスが存在する場合は、それを変更してください/var/www

これで、任意の HTML ファイルを配置して、ブラウザで表示できるようになりました。また、ブラウザに追加してアクセスするとindex.html/var/wwwそれhttp://localhost/を表示できるようになります。

関連情報