为什么我在 apache2.conf 中授予对 /usr/share 的访问权限

为什么我在 apache2.conf 中授予对 /usr/share 的访问权限

我注意到 apache2.conf 中有以下几行(在 ubuntu 14.04 上):

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

其理由如下:

不允许访问 /usr/share 和 /var/www 之外的根文件系统。前者由 Debian 中打包的 Web 应用程序使用,后者可用于 Web 服务器提供的本地目录。

但这什么都没告诉我。有人能用简单的英语解释一下为什么我需要授予此文件夹的访问权限吗?

答案1

如果您没有使用与您的操作系统一起打包的 Web 应用程序(或者您安装到该位置),您可以放心地忽略它。

不过,可能存在的内容包括常见的 PHP 库(例如 ADODB 等)、像 Zend 这样的框架,以及像 Cacti、Nagios、Cups 等程序。

当然,如果您认为您的应用程序不会使用这段代码,那么将其注释掉也没有什么坏处,如果您的日志中出现无法读取文件的错误,则将其添加回来。

答案2

/usr/share正如引用的段落所说,“被 Debian 中打包的 Web 应用程序使用”。

如果您从 apt 存储库安装 Wordpress,它将被安装到/usr/share

如果这仍然不够简单易懂,我们需要更详细的信息来了解你理解了哪些部分以及没有理解哪些部分。

答案3

对 davidgo 的回答的补充信息:

您可能希望仅从本地服务器授予访问权限,因此请按如下方式配置它:

<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

相关内容