1
msg7086 2013-07-14 09:53:43 +08:00 1
我只说一下我平时做系统时的过程
我用的是debian,nginx PHP MySQL全部走apt-get安装。装完以后把域名根目录指向 /var/www/xxxx.yyy 。 然后安装vsftpd,开新账号,把homedir指向 /var/www/xxxx.yyy ,把group改成www-data,把/var/www/xxxx.yyy的权限设置成-R g+w。这样可以保证上传的文件对PHP有读权限,而PHP生成的文件只要父级目录有gw权限的话也可以读写操作。 |
3
msg7086 2013-07-14 10:19:02 +08:00 1
一般来说,把事情的根本给搞明白才是最简单的路线。
用一些万能傻瓜软件的话,要做一些略微出格的事情(比如开个ftp账号)就会变得非常麻烦了…… |
4
alay9999 OP @msg7086 我基本已经进这个圈了……
用U盘装不上CentOS,不得不Ubuntu,Ubuntu装Lnmp结果PHP没被编译,Kloxo不支持……这点一键话的都给我堵死了 Vsftpd装上发现原来我不会配置…… |
5
ratazzi 2013-07-14 10:37:04 +08:00 1
哪有这样玩的,都用 root 跑,Linux 上基本每个服务都有单独的用户
|
6
msg7086 2013-07-14 10:38:22 +08:00 1
我是用的debian 7.0 + dotdeb第三方源,直接apt安装所有的组件。自己编译各种软件很容易造成问题,不如用别人编译好的,而且很多人都使用过觉得没问题的预编译包。个人意见仅供参考。
|
9
msg7086 2013-07-14 10:54:19 +08:00 1
@alay9999
假设ftp用户是aaa:aaa,apache的用户是www-data:www-data 把aaa的group设为www-data 把httproot的权限设置为 -R g+w 应该就可以了 |
11
msg7086 2013-07-14 11:06:42 +08:00 1
|
12
ratazzi 2013-07-14 11:08:41 +08:00 1
@alay9999 sudo chown -R youruser:www-data /path/to/htdocs/xxx.com
sudo chmod -R 777 /path/to/htdocs/xxx.com/cache blabla 我个人是习惯把 xxx.com 放到 home 里,然后给 www-data 访问权限 |
13
alay9999 OP @msg7086 成功了,
top 看不到httpd,不会翻页伤不起,于是刷新了几下页面,httpd就蹦出来了 用户为 nobody.nogroup,加进去…… 看看group文件里有个apache,也加进去…… chmod不熟悉,不知道那是参数,只知道777,所以才问,不好意思了~ |
14
msg7086 2013-07-14 11:32:41 +08:00 1
呃,最好不要用nobody nogroup,专门给apache配一个用户和用户组吧。
|
16
alay9999 OP @msg7086 真神奇htdocs的所有者是root.root……自然没权限,全给nobody.nogroup搞定
|
17
msg7086 2013-07-14 12:35:54 +08:00
|
20
alay9999 OP @msg7086
Apache的用户和用户组修改了,就是httpd.conf里面的。 然后网站目录和logs目录修改成了同样的用户和用户组, 网站目录分配了同组读写权限,FTP用户跟Apache同组 然后还有问题吗?就是Xampp的默认首页不正常,其他程序读写好像没问题 |
23
msg7086 2013-07-14 19:21:13 +08:00
|
25
msg7086 2013-07-14 19:29:08 +08:00
|