2013-07-12 73 views
16

我已将xampp安装到Ubuntu 12.04。我已经把我的项目文件夹中的/ opt/LAMPP/htdocs中/ project_is_hereXampp - Ubuntu - 无法在lampp/htdocs中访问我的项目

当我在浏览器localhost/soap/php(SOAP/PHP是在我的htdocs文件夹),这是键入index.php我收到以下错误:

Access forbidden! 

You don't have permission to access the requested directory. There is either no index document or the directory is read-protected. 

If you think this is a server error, please contact the webmaster. 

Error 403 

localhost 
Apache/2.4.3 (Unix) OpenSSL/1.0.1c PHP/5.4.7 

任何想法如何解决这个问题?我认为这是放置该项目的正确位置,因为我试过其他地方,它说位置不存在,这个错误消失在这里,我得到了这个。

任何想法?

回答

37
  1. 在linux终端中导航到您的lampp目录。

    cd /opt/lampp 
    
  2. 在命令行键入:

    sudo chmod 777 -R htdocs 
    

问题应该得以解决。

月1日编辑:

你刚才所做的是:

您导航到包含受保护的目录中。你的问题是,它是一个受到系统访问保护的文件夹。当你命令chmod 777 -R htdocs时,你所做的是为你的计算机上的每个人设置读/写/执行权限 - 允许。

现在,你知道每个数字的含义。它说这个数字是关于谁的。现在,每个从0到7的数字都设置了权限级别。我只是简单地为你提供一个链接。

http://www.pageresource.com/cgirec/chmod.htm

我忘了补充为什么有 '-R'。 “-R”使命令递归,并会影响htdocs目录以及htdocs目录的所有子目录和

+0

[你不应该给你的web根目录777权限。](http://askubuntu.com/questions/20105/why-should-var-www-not-have-chmod-777 ) –

6

我已经experinced同样的问题,这些等所有子目录,这是我的解决方案:


1.in终端

cd /opt/lampp/etc/ 
  • 如果已安装升华文本简单地只需要输入:
  • subl httpd.conf

    3。当配置文件在崇高打开时,您必须检查这三个块是否如下:

    <Directory /> 
        AllowOverride All 
        Require all granted 
    </Directory> 
    

    ======================== ========

    <Directory "/opt/lampp/htdocs"> 
    Options Indexes FollowSymLinks ExecCGI Includes 
    AllowOverride All 
    Require all granted 
    </Directory> 
    

    ================================

    User your username 
    Group your group name 
    

    例如:

    我的用户名mhmd也是我的组名mhmd

    User mhmd 
    Group mhmd 
    

    ,我希望它会帮助你..

    +0

    知道这个问题是相当古老的,但是,这个答案是最好的,并节省大量的时间。 – Woody

    +0

    @Woody非常感谢:) –

    -2

    它会很有用,

    [email protected]:~$ sudo chown -R test:test /var/www/html/folder 
    
    [email protected]:~$ sudo chmod -R 666 /var/www/html/folder //-system user 
    
    [email protected]:~$ sudo chmod -R 777 /var/www/html/folder // -browser 
    

    这是什么777? - > 7:你,7:我们,7:他们。

    +0

    777&666是文件权限,777 =没有权限限制。任何人都可以做任何事情。一般不是一个理想的设置。 666 =所有用户都可以读取和写入文件。 – Rahul

    +0

    使用:sudo chmod -R + w/var/www/html/folder –

    0

    我已经给了所有权限,仍然收到了错误信息。 转到 - > /etc/apache2/sites-available/000-default.conf 设置:DocumentRoot到/ opt/lampp/htdocs

    全部解决了。 将“DocumentRoot”更改为您的项目所在的文件夹。

    0

    一个可能的原因是您正在使用虚拟主机。

    在这种情况下,在终端使用该命令

    sudo nano /opt/lampp/etc/extra/httpd-vhosts.conf 
    

    然后,在文件的结尾处添加的代码块

    <VirtualHost *:80> 
        DocumentRoot "/opt/lampp/htdocs" 
        ServerName localhost 
        ServerAlias localhost 
        ErrorLog "logs/localhost-error_log" 
        CustomLog "logs/localhost-access_log" common 
    </VirtualHost> 
    

    最后重新启动XAMPP

    sudo /opt/lampp/lampp restart