/var/www 文件夹的问题

/var/www 文件夹的问题

我是 Ubuntu 新手,我安装了 12.04。我以前在 Windows 上使用 wamp 服务器,在更换操作系统后,我将一些文件从 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 将显示它,而不是像这样:

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/,您将能够看到它。

相关内容