安装 CMS 时,Web 服务器无法写入目录


Webserver cannot write to directory when installing CMS

我有一个本地独立的LAMP堆栈,用于本地Web开发。我尝试安装多个CMS,它们都使用PHP将数据写入MySQL数据库和Web服务器上的文件(Concrete5,Symphony,GetSimple CMS)。

但是,当我尝试安装其中任何一个时,我会收到错误消息,每个消息都声明"我需要更改的文件无法由网络服务器写入"。

混凝土5 错误消息:

错误:Web 服务器访问文件和配置目录
/config/packages 和/files 目录必须可由您的 Web 服务器写入

交响乐错误消息:

缺少日志文件

Symphony 尝试创建日志文件并失败。确保安装文件夹是可写的。

显然这是一个权限问题,但是我尝试将 apache 的 www 目录的所有者和组(当然是递归的)更改为 root、apache 用户和组以及我自己的用户和组的许多不同组合,以及使用 chmod 将权限一直设置为 777,但我仍然从所有系统收到相同的错误。

我可以将一个常规的静态文件(如phpinfo)放入www目录中,apache可以很好地提供它,但是无论我更改什么权限,CMS都无法写入服务器。这是怎么回事?

如果你使用 seLinux,使用 chmod 授予权限是不够的。您还必须授予 apache 写入这些文件夹的权限。

更多信息可以在这里找到:http://fedoraproject.org/wiki/SELinux/apache