Apache-2.2

PHP未在特定目錄上執行

  • May 17, 2013

行。這是一個非常奇怪的錯誤:

我用 hello.php創建了一個名為 ’ hello‘的文件夾。/etc/apache2/sites-enabled/然後我創建了一個別名,告訴/hello會去/etc/apache2/sites-enabled/hello。這成功了。

然後我嘗試製作一個 VHost,效果也很好:

Alias /hello /etc/apache2/sites-enabled/hello
<VirtualHost *:80>
   ServerAdmin noobletadmin@YYYY.com
   DocumentRoot "/etc/apache2/sites-enabled/hello"
   ServerName comercial.YYYY.com
   ServerAlias ot.YYYY.com
   AddType application/x-httpd-php .php3 .php
   AddType application/x-httpd-php-source .phps
   <Directory /etc/apache2/sites-enabled/hello/>
       DirectoryIndex index.php
   </Directory>
</VirtualHost>

但後來我讀到這sites-enabled/只是為了內部的符號連結,sites-available所以我mv sites-*e/hello sites-available/hello做了a2ensite hello,那是所有地獄都崩潰的時候。

以前,PHP 執行良好,並且“hello”執行良好 - 現在就像那裡沒有 PHP 一樣。PHP 很好,因為它是我擁有的本地文件的副本。沒有錯誤出現..任何地方。我試過/var/log/apache/了,但與我正在使用的任何目錄都沒有任何關係。

此外,在移動文件時(是的,我嘗試了不同的位置),我注意到我public_html的權限方案如下:

drwxrwxr-x.  8 5500 www-data 4096 May  3 12:08 domain1_com
drwxrwxrwx   2 root root     4096 May  2 17:25 _cgi-bin
drwxr-xr-x   3 root root     4096 May 17 14:15 comercial_YYYY_com
drwxrwxr-x.  6 5500 www-data 4096 May  3 11:47 domain2_com
drwxrwxr-x.  6 5500 www-data 4096 May  2 17:25 domain3.pt
drwxr-xr-x   7 5500 www-data 4096 May  3 17:55 orcamento_YYYY_com
drwxrwxr-x.  6 5500 www-data 4096 May 13 18:48 domain4_pt
drwxr-xr-x   3 5500 www-data 4096 May 17 11:40 to_domain5_com
drwxrwxr-x.  8 5500 www-data 4096 May 13 18:03 YYYYY.com
drwxrwxr-x. 19 5500 www-data 4096 May  3 11:20 domain5.com
drwxrwxr-x.  6 5500 www-data 4096 May  2 17:25 domain6.pt

但我沒有開啟 SELinux。我知道這一點是因為答案sestatus-bash: sestatus: command not found——我在 Debian Squeeze 上——但 php 不適用於沒有點權限 (.) 的文件夾(SELinux 的東西)。

而且,由於我似乎沒有 SELinux,我真的不知道發生了什麼或發生了什麼。(我知道,我想,所有域都是我所在的另一台伺服器的複制面)

我在這裡不知所措。請照亮我的道路?

這是設置 Apache 的錯誤方法。您的sites-availablesites-enabled目錄僅用於虛擬主機配置,而不是您網站的內容文件。這些應該儲存在/var/www您選擇的目錄中。

您的AddTypeDirectoryIndex指令應該合併到您的主要 Apache 配置中/etc/apache2/apache2.conf

例子:

/etc/apache2/sites-available/mydomain.com:

<VirtualHost *:80>
 ServerAdmin myadmin@mydomain.com
 DocumentRoot "/var/www/mydomain.com"
 ServerName mydomain.com
 <Directory /var/www/mydomain.com/>
   Options -Indexes
   Order allow,deny
   Allow from all
 </Directory>
</VirtualHost>

然後這個文件被符號連結到/etc/apache2/sites-enabled/mydomain.com.

然後,您的網站數據將儲存在/var/www/mydomain.com.

引用自:https://serverfault.com/questions/508665