alay9999
V2EX  ›  问与答

Ubuntu 下 Xampp 的权限及配置问题

  •  
  •   alay9999 · Jul 14, 2013 · 5893 views
    This topic created in 4705 days ago, the information mentioned may be changed or developed.
    安装,运行都没问题,然后我登陆 FTP(用现在 Ubuntu 的账号),但是没有权限操作。
    查看 htdocs 目录用户和用户组为 root root。把当前用户放到 root 组里 未解决。

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

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

    各种虐心啊,我I现在重新安装了 Xampp ,求问这个问题如何解决,谢谢~
    28 replies    1970-01-01 08:00:00 +08:00
    msg7086
        1
    msg7086  
       Jul 14, 2013   ❤️ 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
       Jul 14, 2013
    @msg7086 新手,看不很明白,就想简单点,那想越来越复杂
    msg7086
        3
    msg7086  
       Jul 14, 2013   ❤️ 1
    一般来说,把事情的根本给搞明白才是最简单的路线。

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

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

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

    把aaa的group设为www-data

    把httproot的权限设置为 -R g+w

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

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

    设权限用chmod,不会的话看教程。
    ratazzi
        12
    ratazzi  
       Jul 14, 2013   ❤️ 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
       Jul 14, 2013
    @msg7086 成功了,

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

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

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

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

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

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

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

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

    根目录的话你找一下DocumentRoot,以及vhost里的default项目。现在我得睡觉了,你可以自己研究研究。
    alay9999
        26
    alay9999  
    OP
       Jul 14, 2013
    @msg7086 睡得真早。我继续玩~
    msg7086
        27
    msg7086  
       Jul 14, 2013
    @alay9999 4点半,马上天亮了,不能再拖了……
    alay9999
        28
    alay9999  
    OP
       Jul 14, 2013
    @msg7086 居然是肉身翻墙的高人
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5508 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 08:13 · PVG 16:13 · LAX 01:13 · JFK 04:13
    ♥ Do have faith in what you're doing.