【问题标题】:Configuring Apache for localhost为 localhost 配置 Apache
【发布时间】:2017-10-23 09:26:06
【问题描述】:

我是 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 中的所有文件对 Group 和 Others 都具有通常的 r-x 或 r-- 权限。

/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  

现在可以正常工作了。

它有效,但它不可能是正确的方法。我究竟做错了什么?

【问题讨论】:

  • 您是否在更改其配置后重新加载了 Apache 配置或重新启动了服务器?在 Ubuntu/Debian 上,可以使用 sudo service apache2 reload 来完成。尝试重新加载并适当地编辑您的答案。
  • 是的,每次有机会我都会这样做,要么 sudo service apache2 reload 要么 sudo service apache2 restart 。
  • 日志是怎么说的?
  • /var/log/apache2 中的错误日志仅在我每次重新加载 Apache 时报告。访问日志通常只显示:localhost:80 127.0.0.1 - - [23/May/2017:15:43:52 +0200] "GET /Web/ HTTP/1.1" 404 494 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52. 我不知道如何从日志中获取更多信息。
  • 我看到这篇文章有很多点击率。因此,我认为有必要(两年后)澄清这个问题。如果您托管 多个 localhost 网站,请在 /var/www/html 中为每个网站添加一个链接。另外,需要在apache2.conf中添加文件夹权限。我希望这对其他人有所帮助。

标签: linux apache


【解决方案1】:

/xxx/xxxx 还需要被www-data 读取才能作为文档根目录工作。您还需要目录块中定义的权限。

<Directory /xxx/xxxx/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

或者设置你的DocumentRoot /xxx/xxxx/Web

【讨论】:

  • 我设置了DocumentRoot /xxx/xxxx/Web 并拥有&lt;Directory /data/Gallery/Web/&gt; ... &lt;/Directory&gt;,将Web 上的权限设置为drwxr-xr-x 4 me www-data 4096 May 15 18:46 Web(我是所有者),做了sudo service apache2 reload 并清空了浏览器缓存。使用 url localhost/Web 我仍然得到 404 Not Found。
  • /data/Gallery/Web/ 当然是我所说的/xxx/xxxx/Web/。我用xxx让事情更清楚。还是谢谢你的回答。
猜你喜欢
  • 2016-12-25
  • 2012-08-12
  • 2021-04-22
  • 2018-11-03
  • 1970-01-01
  • 2011-03-28
  • 1970-01-01
  • 1970-01-01
  • 2020-06-19
相关资源
最近更新 更多