Как исправить ошибку apache "не в настроенном docroot" под Ubuntu - PullRequest
4 голосов
/ 21 ноября 2011

Приветствую экспертов и гуру, я ищу некоторую помощь с проблемой конфигурации apache php.

Я уже некоторое время запускаю несколько веб-сайтов из установки apache2 на сервере Ubuntu без проблем, используя строкуNameVirtualHost * в моем файле etc / apache2 / conf.d / virtual.conf.Недавно я обновил версию сервера до последней версии lts, ​​и теперь я не могу запускать php-файлы.

Я запускаю все свои сайты для расположения "/ home / www / [site-name] / htdocs"и я установил и включил все мои сайты в / etc / apache2 / sites-available.Я также отключил сайт по умолчанию.

для каждого файла сайтов. Я указал следующее:

    # Indexes + Directory Root.
    # DirectoryIndex index.html index.htm index.php
    DocumentRoot /home/www/[site-name]/htdocs/

    # CGI Directory
    ScriptAlias /cgi-bin/ /home/www/[site-name]/cgi-bin/
    <Location /cgi-bin>
            Options +ExecCGI
    </Location>

    # Logfiles
    ErrorLog  /home/www/[site-name]/logs/error.log
    CustomLog /home/www/[site-name]/logs/access.log combined

Я перезагружаю Apache и ввожу URL для тестовой страницы php на моем сервере, и яменя встретила «Внутренняя ошибка сервера».Когда я проверяю журнал ошибок, я получаю:

Script "/home/www/[site-name]/htdocs/test.php" разрешение "/ home / www / [site-name] / htdocs /test.php "не в настроенном docroot.

Ответы [ 3 ]

13 голосов
/ 21 ноября 2011

По какой-то причине при поиске ошибки suphp часто появлялся. По этой ссылке :

Не думайте, что это имеет какое-либо отношение к корневому каталогу документов виртуального хоста Apche, на самом деле это еще один параметр в файле конфигурации suphp. Включая пути, которые содержали скрипты RoundCube, исправили этот. Например: DOCROOT = / вар / WWW: / USR / доли / RoundCube: / вар / Библиотека / RoundCube: $ {HOME} / public_html

Вам необходимо отредактировать файл /etc/suphp/suphp.conf и изменить docroot на любой подходящий.

1 голос
/ 21 ноября 2011

Похоже, вы пропустили конфигурацию виртуальных хостов для каждого имени сайта:

<VirtualHost IP:80>
    ServerName      yourdomainname
    ServerAlias  www.yourdomainname
    DocumentRoot /home/www/[site-name]/htdocs/
    ScriptAlias /cgi-bin/ /home/www/[site-name]/cgi-bin/
    <Location /cgi-bin>
        Options +ExecCGI
    </Location>
    ErrorLog        /home/www/[site-name]/logs/yourdomainname.ua-error.log
    CustomLog       /home/www/[site-name]/logs/yourdomainname-access.log combined
</VirtualHost>

<Directory "/home/www/[site-name]/htdocs/">
    Options         FollowSymLinks
    AllowOverride   None
    Order           allow,deny

    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>

    <LimitExcept GET POST OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>
0 голосов
/ 24 ноября 2011

Спасибо за помощь, я дошел до конца. Похоже, что обновление до Ubuntu 10.04 включило suPHP. Это оказалось хорошей вещью, поскольку причина, по которой я получал ошибки, заключалась в том, что управление файлами в моих htdocs становилось небрежным.

Чтобы исправить мои проблемы, мне пришлось сделать несколько вещей:

Сначала я включил сообщения об ошибках suphp в / etc / apache2 / sites-available / [site-name]. Это дало мне истинную ошибку, из-за которой у некоторых моих страниц были неправильные права доступа. Затем я установил для всех разрешений для моих папок в www значение 755, а для файлов - 644. Мне также пришлось понизить поля min_uid и min_gid в suphp.conf до 33.

...