私は Ubuntu を初めて使用し、12.04 をインストールしました。以前は Windows で wamp サーバーを使用していましたが、OS を変更した後、www フォルダーからいくつかのファイルを/var/www
Ubuntu に移動しました。しかし、ブラウザーでそのフォルダーを表示しようとすると、何も表示されません。
おそらく権限の問題があります。/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 は次のように表示するのではなく、それを表示します。
これを修正するには、index.* ファイルを削除するか、別の名前に変更します。または、DirectoryIndex
ディレクティブを変更して apache をリロードすることもできます ( /etc/init.d/apache2 reload
)。
デフォルトでは、apacheDocumentRoot
は です/var/www
。そのフォルダの下にあるファイルのみが表示されます。さらに、シンボリックリンクは、宛先が同じユーザーによって所有されている場合にのみたどられます。 の下にファイルがある場合は/var/www
、それを気にする必要はありません。
Apache は、ユーザーが読み取れないファイルをリストしません。最後のグループ (以下でマーク)がwww-data
存在する限り、すべて問題ありません。r
x
^
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/
を表示できるようになります。