WordPress在VPS上有哪些合适的权限?

时间:2013-11-10 07:39:22

标签: php wordpress apache permissions ftp

最近,我已迁移到自我管理的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 /的所有文件和文件夹都设置为usergroup apache:apache with perms 777
  • 我已尝试过文件夹/目录的权限755,775和文件的664,644。它不会起作用
  • 我正在运行的操作系统:Ubuntu Server,CentOS

这就是我现在所能想到的,稍后会更新。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分: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

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

chmod -R 775 /var/www/wordpress

重启Apache:

service apache2 restart

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

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

scp -r * user@domain.com:$(pwd)