Хорошо. Это довольно странная ошибка:
Я создал папку с названием 'hello
' в /etc/apache2/sites-enabled/
с hello.php. Затем я создал псевдоним, в котором говорилось /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/
был предназначен только для SymLink того, что находится внутри 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-available
и sites-enabled
каталоги предназначены для виртуальный хост только конфигурации, не файлы содержимого вашего сайта. Их следует хранить в /var/www
или каталог по вашему выбору.
Ваш AddType
и DirectoryIndex
директивы должны быть объединены в вашу основную конфигурацию 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
.