0

最近,我迁移到了一个自我管理的 VPS 并运行了一些 WordPress 网站。但真正让我困惑的是,WordPress 是如何在没有 777 权限的情况下上传、修改文件和文件夹的。我知道一些关于 Unix 的事情,而且我知道给任何文件/文件夹 777 是非常非常危险的,但我无能为力,因为没有该权限它就无法工作。

除了为 wp-content/ 及其所有子目录和文件授予 777 权限外,我还这样做chown apache:apache -R wp-content/了,将所有权授予用户和组 apache。只有这样,一切才能“起作用”。

那么,如何让它在 VPS 上使用正确的权限和用户/组?我从谷歌搜索的某个地方看到我需要将一些用户添加到同一个组中。我不明白这是如何工作的。我还看到我需要在 wp-config.php 文件中添加 FTP 信息。

  • 我创建了一个用户名为 ftpuser 的 ftp 用户并运行了 vsftpd。为什么?嗯,WordPress 需要一个 FTP 连接,它一直提示我一个。
  • wp-content/ 的所有文件和文件夹都设置为用户组 apache:apache,权限为 777
  • 我尝试了文件夹/目录的权限 755、775 和文件的权限 664、644。它不会工作
  • 我正在运行的操作系统:Ubuntu 服务器、CentOS

目前能想到的就这些了,以后再更新。

非常感谢你的帮助。

4

1 回答 1

2

不熟悉 CentOS,但如果你有 Ubuntu,使用默认的 LAMP 堆栈,只需几个步骤。

安装 LAMP(如果您从头开始):

apt-get install lamp-server^

首先设置正确的权限:

adduser youruser www-data
chown -R www-data:www-data /var/www
chmod -R g+rw /var/www

然后你必须激活 modrewrite 才能使永久链接起作用:

a2enmod rewrite

最后编辑/etc/apache2/sites-enabled/000-default.conf启用.htaccess(apache:

# Apache 2.4
<Directory /var/www>
  Options Indexes FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

您可以/var/www在主目录中创建一个链接:

ln -s /var/www ~/www

接下来将WordPress安装在您选择的文件夹中/var/www。如果您复制/粘贴之前的项目,请确保设置权限:

chmod -R 775 /var/www/wordpress

重启阿帕奇:

service apache2 restart

转到 WordPress 面板并刷新永久链接,一切都应该正常。

WordPress 不需要 FTP,您看到的错误是因为您对文件夹没有适当的权限。由于您使用的是 VPS,我建议您使用 SSH 而不是 FTP,如果您镜像您的环境(相同的文件结构),那么您只需要运行scp从项目文件夹进行部署即可。

scp -r * user@domain.com:$(pwd)
于 2013-11-10T07:58:52.413 回答