如何从安装在Ubuntu 18.04 VirtualBox上的Wordpress Web界面写入/上载

如何从安装在Ubuntu 18.04 VirtualBox上的Wordpress Web界面写入/上载,wordpress,apache,virtualhost,mod-userdir,Wordpress,Apache,Virtualhost,Mod Userdir,主机: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 Succ

主机: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/时,我会看到标准的安装网页。我填写了标准的设置表单,但总是得到“对不起,我无法编写wp-config.php文件。您可以手动创建wp-config.php…”

我可以遵循这些说明,但这基本上意味着我不能在我的开发网站上从wordpress浏览器界面编写文件。这也意味着即使我手动配置了wp-config.php,也无法通过标准WordPress web界面上传照片或文档,或添加插件和主题

可能存在一个安全协议,阻止我允许web服务器上载/编辑/更改文件,即使启用了userdir。据我所知,“ApacheModule mod_userdir”网页以及附带的“每用户web目录”网页都没有介绍这一点

无论是WordPress还是其他CMS都是如此。目录都是标准的755。我不需要将任何目录设置为777

我不想使用FTP方法,我希望看到我的文件以user:group chris:chris的身份从WordPress web界面上传/添加,而不是像www-data:www-data这样的东西


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

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

你现在也可以

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

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

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

    你现在也可以

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

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

    谢谢您的回复!这可能是答案,但请允许我问:那么对于第4个问题,只需
    chown-R www-data:www-data~/public\u html
    sudo usermod-a-G www-data-chris
    ,对吗?另外,我不完全确定www数据是否是mod_userdir下的用户。为什么仅仅编辑userdir.conf使其在IfModule mod userdir.c语句中包含启用了
    userdir的chris
    还不够?/var/www/html由root:root拥有。作为测试,我刚刚将/public\u html/wp content/uploads更改为www data:www data,并能够将图像上载到站点。我试试看。谢谢你的回复!这可能是答案,但请允许我问:那么对于第4个问题,只需
    chown-R www-data:www-data~/public\u html
    sudo usermod-a-G www-data-chris
    ,对吗?另外,我不完全确定www数据是否是mod_userdir下的用户。为什么仅仅编辑userdir.conf使其在IfModule mod userdir.c语句中包含启用了
    userdir的chris
    还不够?/var/www/html由root:root拥有。作为测试,我刚刚将/public\u html/wp content/uploads更改为www data:www data,并能够将图像上载到站点。我试试看。