PHP Не работает в определенных каталогах [закрыто]

Ок. Это довольно странная ошибка:

Я создал папку с именем '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, я действительно не знаю, как или что произошло. (Я знаю, думал, все домены - это копия-паста с другого сервера, на котором я был)

Я в растерянности. Пожалуйста, пролейте свет на мой путь?

1
задан 17 May 2013 в 17:27
1 ответ

Это неправильный способ установки 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 .

5
ответ дан 3 December 2019 в 17:09

Теги

Похожие вопросы