我是 Linux 和 Apache 的新手。我试图配置 Apache2 来为我在本地 Linux Mint 机器上开发的网站提供服务。我还没有尝试使用 PHP。
尽管尝试按照所有说明进行操作,但我仍然收到 404 Not Found 或 403 Forbidden。
存放网站的目录名称为Web,有权限
drwxr-xr-x 4 www-data www-data 4096 May 15 18:46 Web
我也尝试过自己的用户组,但没有成功。 Web 中的所有文件都具有通常的 r-x 或 r-- Group 和 Others 的权限。
/etc/hosts 是
127.0.0.1 localhost
/etc/apache2/ports.conf 是
Listen 127.0.0.1:80
/etc/apache2/sites-available/Web.conf 是
<VirtualHost 127.0.0.1:80>
ServerName Web
ServerAdmin webmaster@localhost
DocumentRoot /xxx/xxxx
</VirtualHost>
注意 /xxx 是我本地机器上的自定义分区,xxxx 是这个分区中的一个目录。
/etc/apache2/sites-enabled 是
lrwxrwxrwx 1 root root 27 May 23 13:04 Web.conf -> ../sites-available/Web.conf
最后,/etc/apache2/apache2.conf 包含这个
<Directory /xxx/xxxx/Web/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
我终于让 localhost 工作了,但不是上面那样。我只是在 /var/www/html 中创建了一个指向 Web 目录的链接。
/var/www/html 是
-rw-r--r-- 1 root root 11321 Apr 14 15:11 index.html
lrwxrwxrwx 1 root root 17 May 22 16:54 Web -> /xxx/xxxx/Web
这在 apache2.conf 中没有成功,我不必启用该站点(与 a2ensite 建立链接)。
网址
localhost/Web
现在可以正常工作了。
有效,但不可能是正确的方法。我究竟做错了什么?
/xxx/xxxx
也需要 www-data
可读才能作为文档根。您还需要在目录块中定义的权限。
<Directory /xxx/xxxx/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
或设置您的
DocumentRoot /xxx/xxxx/Web