我是 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 将显示它,而不是像这样:
要修复此问题,请删除 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/
,您将能够看到它。