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

标签 php apache permissions content-management-system selinux

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

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

Concrete5错误消息:

error: Web Server Access to Files and Configuration Directories
The /config /packages and /files directories must be writable by your webserver

Symphony 错误消息:

Missing log file

Symphony tried to create a log file and failed. Make sure the install folder is writable.

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

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

最佳答案

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

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

关于php - 安装 CMS 时 Web 服务器无法写入目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10951803/

相关文章:

php - Paypal IPN 未返回已验证

php - 如何将可变数量的参数传递给 PHP 函数

php - 在数据库 MYSQL 中插入数据,数据混合

php - 在 Ubuntu 根问题上安装 MySql

permissions - 如何在 HealthKit 中获得编写锻炼路线的许可?

php - 如何在 yii 中创建自定义自动完成文本字段

java - 在 apache tomcat 中部署除 webapp 文件夹以外的 Web 应用程序

apache - 如果服务器安装了 nginx 和 apache,我如何找出它的网站使用哪一个?

linux - 在运行时更改 Linux 消息队列权限

ios - 适用于 iOS 的 Facebook 登录 - 只有管理员可以登录,其他用户不能