好的。这是一个非常奇怪的错误:
我hello
在 处创建了一个名为 ' '的文件夹/etc/apache2/sites-enabled/
,其中包含 hello.php。然后我创建了一个别名,告诉它/hello
会转到/etc/apache2/sites-enabled/hello
。这成功了。
然后我尝试创建一个 VHost,它也能正常工作:
Alias /hello /etc/apache2/sites-enabled/hello
<VirtualHost *:80>
ServerAdmin [email protected]
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,我真的不知道发生了什么事情。(我知道,所有域名都是从我所在的另一台服务器复制粘贴过来的)
我在这里很迷茫。请您为我指明方向吧?
答案1
这是设置 Apache 的错误方法。您的sites-available
和sites-enabled
目录用于虚拟主机仅限配置,不是您网站的内容文件。这些文件应存储在/var/www
您选择的目录中。
您的AddType
和DirectoryIndex
指令应该合并到您的主 Apache 配置中/etc/apache2/apache2.conf
。
例子:
/etc/apache2/sites-available/mydomain.com
:
<VirtualHost *:80>
ServerAdmin [email protected]
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
。