0

主机: Windows 10 64bit

VirtualBox:启用了 Ubuntu 18.04 Apache 2.4、MySQL 5.7.25、PHP 7.2.10 userdir 模块

我已经安装了 WordPress:

chris@montford:~/public_html$ wp core download
Downloading WordPress 5.0.3 (en_US)...
md5 hash verified: 83bec78836aabac08f769d50f1bffe5d
Success: WordPress downloaded.

当我在 Chromium 中访问 /localhost/~chris/ 时,我得到了标准的安装网页。我填写标准设置表单,但总是得到“对不起,我无法编写 wp-config.php 文件。您可以手动创建 wp-config.php...”

我可以按照这些指示进行操作,但这基本上意味着我无法我的开发网站上的 wordpress 浏览器界面写入文件。这也意味着即使我手动配置了 wp-config.php,我也无法通过标准 WordPress Web 界面上传照片或文档或添加插件和主题。

即使启用了 userdir,也可能有一个安全协议阻止我允许 Web 服务器上传/编辑/更改文件。据我所知,“Apache Module mod_userdir”网页及其随附的“每用户网络目录”页面均未涵盖此内容。

无论是 WordPress 还是其他一些 CMS,都会出现这种情况。目录都是标准的 755。我不应该将任何目录设置为 777。

我宁愿不使用 FTP 方法,也希望看到我的文件从 WordPress Web 界面上传/添加为 user:group chris:chris,而不是像 www-data:www-data 之类的东西。

我必须遵循哪些步骤才能让 WordPress 在普通主机上按预期运行,以便它可以自动创建自己的 wp-config.php 文件,并直接从 Web 界面添加主题和插件?

4

1 回答 1

2

默认情况下,apache 以用户 www-data 运行。您的文件设置为 755,并且 chris 是所有者。这意味着,chris 可以运行、编辑和执行文件 (7),其他用户只能读取和执行它们,但不能更改 (5)。因此 Apache 无法更改文件。

您现在可以

  1. 将 apache 更改为以用户 chris 身份运行
  2. 更改文件以允许 www-data 写入它们 (777)
  3. 将所有权更改为 www-data 并使用 www-data 用户编辑/上传文件
  4. 将所有权更改为 www-data 并将用户 chris 添加到 www-data 用户组
  5. 将整个 wp 目录的所有者更改为 www-data:www-data 一次(chown -R www-data:www-data /var/www/yoursite [或 /home/chris/public/... 在你的情况下] ),然后创建您需要在您的帐户下编辑的目录(很可能是 /wp-content/plugins/yourplugin 或 /wp-content/themes/yourtheme 之类的目录)。或者,如果它们已经创建,则将它们的所有者设置为 chris。

最有可能的是,5. 可以正常工作,因为 wordpress 只需要对您的自定义插件和主题的读取权限,并且您不需要编辑这些之外的任何内容。我真的不推荐任何其他选项,只是列出它们以便您了解图片。

于 2019-01-24T22:30:54.163 回答