良好的 Wordpress 目录结构/权限(LNMP)?

良好的 Wordpress 目录结构/权限(LNMP)?

免责声明:在任何人提及 Google(或类似的东西)之前,我只想指出,我提出这个问题是因为我找不到一篇或多篇我喜欢的文章。


前言:

Amazon EC2 微型实例 (VPS)Ubuntu 10.10 服务器+nginx+php-fpm+WordPress 的

问题:

显然,没有正确或错误的答案,但尽管如此——考虑到我的堆栈,您会推荐什么目录结构和文件用户/组权限?

当然,安全始终是人们关心的问题,因此理想的结构/权限不会存在安全风险(例如:chmod 777 wp-content),但正常运行也应该没有问题(将图像上传到 wp-content、插件)。另外,请记住,我们处理的是 Nginx,而不是 Apache。

我尝试了很多解决方案,但目前都不满意。希望能得到一些更好的想法!

答案1

将 WordPress 放在 nginx sites-enabled/site-name.conf 中定义的服务器位置的根目录中

使用 SVN 下载并安装 WordPress

$ cd public_html

$ svn co http://core.svn.wordpress.org/tags/3.1.2 .

chown www-data:www-data public_html/ -R

确保 Nginx 以 www-data 身份运行,或者将用户和组更改为上面的 nginx

安装 WordPress 后,所有类别将为 755,文件将为 644,这是安全的

答案2

我目前正在整理有关此问题的指南,因为关于如何最好地配置您上面描述的精确架构,目前还没有太多好的信息。

我的配置与上面描述的 Chirs_O 的配置类似。

/srv/www/

/site1.com/logs
/site1.com/public_html

/site2.com/logs
/site2.com/public_html

/site3.com/logs
/site3.com/public_html

在我是唯一需要管理每个站点下文件的管理员的情况下,我通常会将文件所有权更改为特定用户,以确保我可以轻松地将文件从本地 scp/ftp 传输到每个站点。

我通常使用以下命令

chown -R myuser:myuser /site1.com

这使我能够传输没有权限问题的文件,并且也是提供这些文件的良好安全设置。

这种配置的缺点是您会遇到插件安装、wordpress 更新等(以及图像上传)的各种问题。

在安装插件、WordPress 更新之前,我通常使用相同的命令将站点的所有权从 myuser 更改为 www-data

chown -R www-data:www-data /site1.com

然后我安装我需要的任何插件,然后将权限重置回我的用户。

有些人将 www-data 作为主要所有者,但我知道这不是一个很好的安全设置,但我遇到了 nginx/php5-fpm 的权限配置,它可以轻松在个人 ftp/ssh 帐户下传输文件,同时允许 WordPress 插件安装/更新,而无需在特定文件夹上设置 777 权限,这很麻烦并且有它自己的安全问题。

我目前正在探索一种替代配置,我直接在每个用户的个人帐户中设置单独的虚拟主机,例如

/home/myuser/www/site1.com/public_html

这可确保该用户的 ftp/ssh 帐户仅限于他们自己的主帐户。目前仍需要将所有权改回 www-data 以进行 wordpress 更新等。但我正在尝试找出是否有一种安全的方法可以将这些用户帐户添加到 www-data 组以实现两全其美的方案。如果我获得有效的配置,将通知您。

相关内容