如何从 Ubuntu 18.04 VirtualBox 上安装的 Wordpress Web 界面 Write/Upload

How to Write/Upload from Wordpress Web Interface Installed on Ubuntu 18.04 VirtualBox

主机: Windows 10 64 位

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/ 时,我得到了标准安装网页。我填写标准设置表格,但总是得到 "Sorry, but I can't write the wp-config.php file. You can create the wp-config.php manually..."

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

可能有一个安全协议阻止我允许 Web 服务器访问 upload/edit/change 文件,即使启用了 userdir。据我所知,"Apache Module mod_userdir" 网页及其随附的 "Per-user web directories" 页面均未涵盖此内容。

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

我不想使用 FTP 方法,我希望从 WordPress 网络界面中看到我的文件 uploaded/added 作为 user:group chris:chris比 www-data:www-data.

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

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

您现在可以

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

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