Ок. Это довольно странная ошибка:
Я создал папку с именем '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. Ваши каталоги доступны
и сайты с поддержкой
предназначены только для конфигураций виртуального хоста , а не , а не файлов содержимого вашего веб-сайта. Они должны храниться в / 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
.