我试图让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知之甚少,所以对此我说话就像一个总菜鸟。
答案 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>