如何从安装在 Ubuntu 18.04 VirtualBox 上的 Wordpress Web 界面写入/上传
Posted
技术标签:
【中文标题】如何从安装在 Ubuntu 18.04 VirtualBox 上的 Wordpress Web 界面写入/上传【英文标题】:How to Write/Upload from Wordpress Web Interface Installed on Ubuntu 18.04 VirtualBox 【发布时间】:2019-06-18 15:59:27 【问题描述】:主机:Windows 10 64bit
VirtualBox: Ubuntu 18.04 Apache 2.4、mysql 5.7.25、php 7.2.10 用户目录模块启用
我已经安装了 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。据我所知,“Apache Module mod_userdir”网页及其随附的“每用户网络目录”页面均未涵盖此内容。
无论是 WordPress 还是其他一些 CMS,都会出现这种情况。目录都是标准的 755。我不应该将任何目录设置为 777。
我宁愿不使用 FTP 方法,我希望看到我的文件从 WordPress 网络界面上传/添加为 user:group chris:chris 而不是像 www-data:www-data 这样的东西。
我必须遵循哪些步骤才能让 WordPress 在普通主机上按预期运行,以便它可以自动创建自己的 wp-config.php 文件,并直接从 Web 界面添加主题和插件?
【问题讨论】:
【参考方案1】:默认情况下,apache 以用户 www-data 运行。您的文件设置为 755,并且 chris 是所有者。这意味着,chris 可以运行、编辑和执行文件 (7),其他用户只能读取和执行它们,但不能更改 (5)。所以 Apache 无法更改文件。
你现在可以
-
将 apache 更改为以用户 chris 身份运行
更改文件以允许 www-data 写入它们 (777)
将所有权更改为 www-data 并使用 www-data 用户编辑/上传文件
将所有权更改为 www-data 并将用户 chris 添加到 www-data 用户组
将整个wp目录的所有者更改为www-data:www-data一次(chown -R www-data:www-data /var/www/yoursite [or /home/chris/public/... in您的情况]),然后创建您需要在您的帐户下编辑的目录(很可能是 /wp-content/plugins/yourplugin 或 /wp-content/themes/yourtheme 之类的目录)。或者,如果它们已经创建,则将它们的所有者设置为 chris。
很可能,5. 可以正常工作,因为 wordpress 只需要对您的自定义插件和主题的读取权限,并且您不需要编辑这些之外的任何内容。我真的不推荐任何其他选项,只是列出它们以便您了解图片。
【讨论】:
感谢您的回复!这可能是答案,但请允许我问:所以对于数字 4,只需chown -R www-data:www-data ~/public_html
和 sudo usermod -a -G www-data chris
,对吗?另外,我不完全确定 www-data 是 mod_userdir 下的用户。为什么仅仅编辑 userdir.conf 使其在 IfModule mod-userdir.c 语句中包含 UserDir enabled chris
还不够?
/var/www/html 归 root:root 所有。
作为测试,我刚刚将 /public_html/wp-content/uploads 更改为 www-data:www-data 并且能够将图像上传到站点。我试试4个。以上是关于如何从安装在 Ubuntu 18.04 VirtualBox 上的 Wordpress Web 界面写入/上传的主要内容,如果未能解决你的问题,请参考以下文章