Назад | Перейти на главную страницу

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

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

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