2017-09-14 72 views
0

我試圖讓Apache2的指向一個基於PHP應用程序(Word新聞在這種情況下,但在配置必須是通用的,足以對任何PHP應用程序的工作)的一些幫助。 ,它會顯示一些基本的HTML文件訪問頁面或錯誤「你沒有權限」。我真的不知道apache,我根本不知道PHP。這是我目前的site_config文件,因爲它代表(與替換撤消):需要與我的Apache2網站配置文件

<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的所有文件夾&在項目目錄

輸出的 apache2 -v

Server version: Apache/2.4.7 (Ubuntu) 

Ps我對PHP一無所知,對apache2一無所知,因此對我來說,作爲一個總的noob。

+1

什麼是Apache的版本?您爲某些部分使用的語法('允許,拒絕全部允許')已經改變並且自2.4以來已經過時。 – Chris

+1

添加版OP,我改變了'訂單allow'行'要求所有granted'現在它的顯示PHP的WordPress的錯誤,這是一種進步,這樣的感謝。 – Thermatix

+0

您不要更改''行。您可以使用不同的ServerName屬性創建其他配置。 – Progrock

回答

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>