我的apache2站点配置文件需要一些帮助

时间:2017-09-14 09:09:44

标签: php apache2

我试图让apache2指向一个基于PHP的应用程序(在这种情况下按字,但配置需要通用,足以适用于任何php应用程序)。 并且它显示一些基本的HTML文件访问页面或错误与"您没有权限"。我真的不懂apache而且根本不懂PHP。这是我当前的site_config文件(取消了缩进):

<VirtualHost *:80>
        ServerAdmin <app_user>@localhost
        ServerName amazonaws.com/<app_name>
        ServerAlias *.amazonaws.com/<app_name>
        DocumentRoot /home/<app_user>/<app_location>/staging/current
        <Directory /home/<app_user>/<app_location>/staging/current >
                AllowOverride All
                Options -Indexes
                Order allow,deny
                Allow from all
        </Directory>
        LogLevel error

        ErrorLog ${APACHE_LOG_DIR}/error.log
</VirtualHost>

我还希望这样做,以便您可以在同一个方框中设置多个网站,但我不确定如何更改VirtualHost arg *:80来解释这一点,我只是得到忽视错误的负担。

我的apache2.conf中也有以下行:

DirectoryIndex index.php index.html

所有文件的文件夹权限都设置为0755&amp;项目目录中的文件夹

apache2 -v的输出:

Server version: Apache/2.4.7 (Ubuntu)

P.S。我对PHP一无所知,对apache2知之甚少,所以对此我说话就像一个总菜鸟。

1 个答案:

答案 0 :(得分:0)

解决第一个问题我不得不改变以下几行:

Order allow,deny
Allow from all

为:

Require all granted

这最终允许apache允许用户访问文件夹,第二件事是添加别名:

Alias /<app_name> "/home/<app_user>/<app_location>/staging/current"

它开始按预期工作,所以现在我的网站配置看起来像:

Alias /<app_name>"/home/<app_user>/<app_name>/<app_environment>/current"
<Directory "/<app_name>"/home/<app_user>/<app_name>/<app_environment>/current">
        AllowOverride All
        Options -Indexes
        Require all granted
</Directory>

<VirtualHost *:80>
        DocumentRoot "/<app_name>"/home/<app_user>/<app_name>/<app_environment>/current"
        ErrorLog "/var/log/apache2/<app_name>.error_log"
        CustomLog "/var/log/apache2/<app_name>.access_log" combined
</VirtualHost>