【问题标题】:WordPress can't install themesWordPress 无法安装主题
【发布时间】:2012-09-12 09:56:14
【问题描述】:

我不知道如何解决这个问题,所以 wordpress 会让我上传主题。

我的开发机器上安装了 Fedora 17 的新副本。

然后我使用:yum install mysql mysql-server 安装了 mysql。接下来我安装了 WordPress,它也安装了 apache 和 php:yum install wordpress

我可以去http://localhost/wordpress 看看 WordPress 的工作情况。但是当我尝试安装我的主题时,它要求提供 ftp 凭据。然后我更新了 wp-config.php 文件并将FS_METHOD 常量设置为direct。现在它不要求提供 ftp 凭据,但它给了我这个错误:

Could not create directory. /usr/share/wordpress/wp-content/themes/my-theme-name/

httpd 服务在 'apache' 用户和 'apache' 组下运行。 /usr/share/wordpress/ 目录由 'apache' 用户和 'apache' 组递归拥有。我什至将权限设置为 777(也是递归的),即便如此,我仍然收到与上述相同的错误。

我该如何解决这个问题?

【问题讨论】:

  • 在 wpconfig 中检查 wordpress 使用的用户,我在我的服务器上遇到了同样的问题,进程在一个用户下运行,但 wordpress 正在使用另一个用户。

标签: linux wordpress apache permissions selinux


【解决方案1】:

Fedoras SELinux 配置很可能会阻止网络服务器写入磁盘的尝试。要更改您的 wordpress 文件夹的设置,您可以运行以下命令(以 root 身份):

chcon -R -t httpd_sys_content_rw_t /usr/share/wordpress/wp-content

不需要对整个文件夹做chmod 777,这是一个巨大的安全风险。当然这是直接访问文件系统,你必须禁用 ftp 访问。对于 ftp 访问,您必须查找正确的 SELinux 上下文。

【讨论】:

【解决方案2】:

您在 Wp-config.php 中检查了这些行(大约是第 105 行):

define('FTP_USER', 'usr');
define('FTP_PASS', 'P@ssw0rd');
define('FTP_HOST', 'url');

您的 Web 服务器进程在 apache 上运行,但 Wordpress 将使用 wp-config.php 中定义的帐户。所以你必须设置你的用户组来访问这些文件。

设置权限 777 不是解决办法,你要关心它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 2016-10-20
    • 2012-06-10
    相关资源
    最近更新 更多