V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
alay9999
V2EX  ›  问与答

Ubuntu 下 Xampp 的权限及配置问题

  •  
  •   alay9999 · 2013-07-14 09:39:31 +08:00 · 5114 次点击
    这是一个创建于 3911 天前的主题,其中的信息可能已经有所发展或是发生改变。
    安装,运行都没问题,然后我登陆 FTP(用现在 Ubuntu 的账号),但是没有权限操作。
    查看 htdocs 目录用户和用户组为 root root。把当前用户放到 root 组里 未解决。

    设置 root 密码,解锁 root 用户,用 root 登录 FTP ,,被告知用户名密码错误……

    把 htdocs 设置成当前用户所有,可以操作文件了,PHP运行的时候又没了各种权限,原路回去,改回 root 所有……PHP还是没有权限……

    各种虐心啊,我I现在重新安装了 Xampp ,求问这个问题如何解决,谢谢~
    28 条回复    1970-01-01 08:00:00 +08:00
    msg7086
        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权限的话也可以读写操作。
    alay9999
        2
    alay9999  
    OP
       2013-07-14 10:15:46 +08:00
    @msg7086 新手,看不很明白,就想简单点,那想越来越复杂
    msg7086
        3
    msg7086  
       2013-07-14 10:19:02 +08:00   ❤️ 1
    一般来说,把事情的根本给搞明白才是最简单的路线。

    用一些万能傻瓜软件的话,要做一些略微出格的事情(比如开个ftp账号)就会变得非常麻烦了……
    alay9999
        4
    alay9999  
    OP
       2013-07-14 10:30:29 +08:00
    @msg7086 我基本已经进这个圈了……

    用U盘装不上CentOS,不得不Ubuntu,Ubuntu装Lnmp结果PHP没被编译,Kloxo不支持……这点一键话的都给我堵死了

    Vsftpd装上发现原来我不会配置……
    ratazzi
        5
    ratazzi  
       2013-07-14 10:37:04 +08:00   ❤️ 1
    哪有这样玩的,都用 root 跑,Linux 上基本每个服务都有单独的用户
    msg7086
        6
    msg7086  
       2013-07-14 10:38:22 +08:00   ❤️ 1
    我是用的debian 7.0 + dotdeb第三方源,直接apt安装所有的组件。自己编译各种软件很容易造成问题,不如用别人编译好的,而且很多人都使用过觉得没问题的预编译包。个人意见仅供参考。
    alay9999
        7
    alay9999  
    OP
       2013-07-14 10:51:07 +08:00
    @ratazzi 可是我怎么控制那些文件啊,我不恩那个每次上传文件都 sudo wget ……
    alay9999
        8
    alay9999  
    OP
       2013-07-14 10:51:51 +08:00
    @msg7086 想在好像不是编译问题,就是权限问题,可惜我理不清
    msg7086
        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

    应该就可以了
    alay9999
        10
    alay9999  
    OP
       2013-07-14 10:59:15 +08:00
    @msg7086 怎么查看apache的用户和组别?还有 -R g+w权限不懂……也没搜到
    msg7086
        11
    msg7086  
       2013-07-14 11:06:42 +08:00   ❤️ 1
    @alay9999 如果你用deb系的话可以装个htop来查看进程,很方便。

    top也行,看看apache/httpd运行在哪个用户下。

    设权限用chmod,不会的话看教程。
    ratazzi
        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 访问权限
    alay9999
        13
    alay9999  
    OP
       2013-07-14 11:27:21 +08:00
    @msg7086 成功了,

    top 看不到httpd,不会翻页伤不起,于是刷新了几下页面,httpd就蹦出来了

    用户为 nobody.nogroup,加进去……

    看看group文件里有个apache,也加进去……

    chmod不熟悉,不知道那是参数,只知道777,所以才问,不好意思了~
    msg7086
        14
    msg7086  
       2013-07-14 11:32:41 +08:00   ❤️ 1
    呃,最好不要用nobody nogroup,专门给apache配一个用户和用户组吧。
    alay9999
        15
    alay9999  
    OP
       2013-07-14 11:35:25 +08:00
    @msg7086 这个真不会,上次照着教程试了一下好像失败了,另外现在php好像没有写权限怎么搞呢
    alay9999
        16
    alay9999  
    OP
       2013-07-14 12:21:23 +08:00
    @msg7086 真神奇htdocs的所有者是root.root……自然没权限,全给nobody.nogroup搞定
    msg7086
        17
    msg7086  
       2013-07-14 12:35:54 +08:00
    @alay9999 修改apache的设置。

    话说真不知道你怎么装的apache,我记得deb下的httpd默认就自动归给www-data的。归给nobody:nogroup会有各种奇葩的问题。
    alay9999
        18
    alay9999  
    OP
       2013-07-14 14:56:18 +08:00
    @msg7086 Xampp 傻瓜式安装啊
    alay9999
        19
    alay9999  
    OP
       2013-07-14 15:02:13 +08:00
    @msg7086 任他奇葩去吧,大不了回头重新折腾,多搞几次就会了。目前还没奇葩
    alay9999
        20
    alay9999  
    OP
       2013-07-14 19:06:02 +08:00
    @msg7086

    Apache的用户和用户组修改了,就是httpd.conf里面的。
    然后网站目录和logs目录修改成了同样的用户和用户组,
    网站目录分配了同组读写权限,FTP用户跟Apache同组

    然后还有问题吗?就是Xampp的默认首页不正常,其他程序读写好像没问题
    msg7086
        21
    msg7086  
       2013-07-14 19:14:27 +08:00
    @alay9999 Sounds good.
    alay9999
        22
    alay9999  
    OP
       2013-07-14 19:19:05 +08:00
    @msg7086 我就是好奇能不能让他的默认首页也正常。现在改用户用户组啥的比较熟练了……
    msg7086
        23
    msg7086  
       2013-07-14 19:21:13 +08:00
    @alay9999 你加油…… (我没用过这种大软件包,也很久没用apache了。

    你可以找找apache的配置文件看他default指向哪里,然后改对应目录的权限。
    alay9999
        24
    alay9999  
    OP
       2013-07-14 19:27:52 +08:00
    @msg7086 default没找见,看到了 ServerRoot,但是直觉上这个目录权限不该乱动了
    msg7086
        25
    msg7086  
       2013-07-14 19:29:08 +08:00
    @alay9999 ServerRoot是软件地址。

    根目录的话你找一下DocumentRoot,以及vhost里的default项目。现在我得睡觉了,你可以自己研究研究。
    alay9999
        26
    alay9999  
    OP
       2013-07-14 19:30:29 +08:00
    @msg7086 睡得真早。我继续玩~
    msg7086
        27
    msg7086  
       2013-07-14 19:31:14 +08:00
    @alay9999 4点半,马上天亮了,不能再拖了……
    alay9999
        28
    alay9999  
    OP
       2013-07-14 19:54:16 +08:00
    @msg7086 居然是肉身翻墙的高人
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3888 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 05:09 · PVG 13:09 · LAX 22:09 · JFK 01:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.