Php 如何为ApacheWeb服务器定义用户目录

Php 如何为ApacheWeb服务器定义用户目录,php,linux,apache,Php,Linux,Apache,我已经看到了所有我能找到的帮助,因为我不能让它工作,我想我问了。我想开始开发html+php。我有一个ApacheWeb服务器,它可以为几个服务器工作,比如bugtracker和项目经理。我也在运行debian GNU Linux。问题是测试我的网页。据我所知,我只能通过将它们复制到我机器的/var/www/文件夹中的一个文件夹来使它们工作,因为那是Apache读取它们的默认位置。我在网上读到的信息表明,解决方案是更改“站点可用”文件夹中的默认文件。文件路径为:/etc/apache2/site

我已经看到了所有我能找到的帮助,因为我不能让它工作,我想我问了。我想开始开发html+php。我有一个ApacheWeb服务器,它可以为几个服务器工作,比如bugtracker和项目经理。我也在运行debian GNU Linux。问题是测试我的网页。据我所知,我只能通过将它们复制到我机器的/var/www/文件夹中的一个文件夹来使它们工作,因为那是Apache读取它们的默认位置。我在网上读到的信息表明,解决方案是更改“站点可用”文件夹中的默认文件。文件路径为:/etc/apache2/sites available/000-default.conf。我对其进行了如下修改:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride all
            Order allow,deny
            allow from all
    </Directory>

    Alias /pruebas/ "/home/ariela/ownCloud/Tutoriales/PHP/"
    <Directory "/home/ariela/ownCloud/Tutoriales/PHP/">
            AllowOverride All
            Order allow,deny
            Allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我收到403禁止的错误消息

我做错了什么?因为否则,测试我的php页面的唯一方法就是使用root,或者我缺少什么


谢谢您的回答。

检查目录及其内容的权限,可能Apache无法读取它们。如果您不想让它们都可读,您可以考虑将用户A瑞拉添加到Apache组(通常是Apache或WWW数据),这样她就可以自己更改组。 编辑:还要检查Listen指令是否允许来自环回以外的接口的客户端


Edit2:如果您使用的是Apache2.4,那么看起来访问控制配置发生了一些变化,您得到了一个新的解决方案。看看。

我检查了PHP文件夹,得到了这个drwxr-xr-x+2 ariela ariela 4096 Dec 3 06:59 PHP。我还制作了myfile.php可执行文件。我试着使用usermod-a-G www data ariela行,它成功了,我仍然得到相同的403错误…也许/var/log/apache2/error.log(取决于您的配置)给出了一些提示。这是重复多次的行。我假设所有失败的尝试:[Tue Dec 03 08:30:14.257278 2013][authz_core:error][pid 7752][client 192.168.2.100:59697]AH01630:客户端被服务器配置拒绝:/home/ariela/ownCloud/Tutoriales/PHP/myfile.phpansweed:如果显式键入http://127.0.0.1/pruebas/myfile.PHP,它是否有效?
http://localhost/pruebas/myfile.php