如何为apache Web服务器定义用户目录

时间:2013-12-03 10:31:48

标签: php linux apache

我已经看到了我能找到的所有帮助,因为我无法让它工作,我以为我问过。我想开始开发html + php。我有一个Apache Web服务器,所有的铃声和​​口哨声都适用于多个服务器,如bugtracker和项目经理。我也在运行debian GNU Linux。问题是测试我的网页。据我所知,我只能通过将它们复制到我机器的/ var / www /文件夹中的文件夹来使它们工作,因为这是Apache读取它们的默认位置。我在网上看到的信息表明,解决方案是更改sites-available文件夹中的默认文件。该文件的路径是:/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>

Alias pruebas和下面的目录是我添加的行,其他一切都是相同的。我在目录中有一个名为myfile.php的非常简单的文件,当我在浏览器中写入时:

http://localhost/pruebas/myfile.php  

我收到403 forbidden错误消息。

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

感谢您的回答。

1 个答案:

答案 0 :(得分:0)

检查目录及其内容的权限,也许Apache无法读取它们。如果你不想让它们对所有人都可读,你可以考虑将用户ariela添加到Apache组(通常是apache或www-data),这样她就可以自己更改组。

编辑:同时检查Listen指令是否允许来自环回以外的接口的客户端。

Edit2:如果你正在使用Apache 2.4,看起来访问控制配置已经发生了一些变化,你得到的是AH01630 error。看看documentation