免责声明:在任何人明智地提到谷歌(或类似的)之前,我只想指出,我提出这个问题,因为我找不到一篇文章或我喜欢的文章。
前言:
Amazon EC2微型实例(VPS)与Ubuntu 10.10服务器 + nginx + php-fpm + WordPress 。
题:
显然没有正确或错误的答案,但尽pipe如此, 给我的堆栈,你会推荐什么目录结构&&文件用户/组权限?
当然,安全始终是一个问题,所以理想的结构/权限不会有安全风险(例如:chmod 777 wp-content),但也应该没有问题(将图像上传到wp-content,插件)。 另外,请记住,我们正在处理Nginx而不是Apache。
我已经尝试了很多解决scheme,但到目前为止我还没有一个解决scheme。 希望得到一些更好的想法!
将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的forms运行,或者将用户和组更改为上面的nginx
当WordPress安装的所有类别将是755和文件将是644这是安全的
我现在正在编写一个指南,因为没有很多关于如何最好地configuration上面描述的确切架构的信息。
我的configuration类似于上述Chirs_O的configuration。
/ SRV /networking/
/site1.com/logs
/site1.com/public_html
/site2.com/logs
/site2.com/public_html
/site3.com/logs
/site3.com/public_html
在我是唯一需要在每个站点下pipe理文件的pipe理员的情况下,我通常会将文件所有权更改为特定用户,以确保我可以轻松地从本地到每个站点scp / ftp文件。
我通常使用以下命令
chown -R myuser:myuser /site1.com
这使我可以传输没有权限问题的文件,也是一个很好的安全设置来提供这些文件。
这个configuration的缺点是,你会遇到插件安装,wordpress更新等各种问题(和图片上传)。
在我做插件安装之前,wordpress更新通常使用相同的命令将站点的所有权从myuser更改为www-data
chown -R www-data:www-data /site1.com
然后,我安装任何我需要的插件,然后重置权限回myuser。
有些人离开万维网主要所有者,但我知道这不是一个很好的安全设置,但我已经遇到了nginx / php5-fpm的权限configuration,但提供了简单的文件传输在个人ftp / ssh帐户,同时允许WordPress插件安装/更新无需在特定文件夹上设置777权限,这是一个痛苦,并有它自己的安全问题。
我目前正在探索一个替代configuration,我直接在每个用户个人账户内设置个人虚拟主机,例如
/home/myuser/www/site1.com/public_html
这确保该用户的ftp / ssh帐户被限制在他们自己的主帐户中。 目前仍然有需要将所有权改回www-data for wordpress更新等,但我想弄清楚是否有一个安全的方式,这些用户帐户可以添加到www数据组,以允许两个世界的情况最好的。 将让你知道,如果我得到一个工作configuration。