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

Apache2 configuration error: “<virtualhost> не был закрыт »ошибка</virtualhost>

Итак, я уже проверил свой файл конфигурации, и я действительно не вижу случая, когда какой-либо тег не был должным образом закрыт ... но я продолжаю получать эту ошибку конфигурации ... Не могли бы вы просмотреть ошибку а файл конфигурации ниже? Будем очень благодарны любой помощи.

К вашему сведению, я уже искал жизнь из-за ошибки и тщательно просмотрел журнал, я действительно ничего не могу найти.

Ошибка:

apache2: синтаксическая ошибка в строке 236 /etc/apache2/apache2.conf: синтаксическая ошибка в строке 1 / etc / apache2 / sites-enabled / 000-default: / etc / apache2 / sites-enabled / 000-default: 1 : не было закрыто.

Строка 236 apache2.conf:

# Include the virtual host configurations:                                      
Include /etc/apache2/sites-enabled/   

Содержимое 000-default:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>


<VirtualHost *:443>
        SetEnvIf Request_URI "^/u" dontlog
        ErrorLog /var/log/apache2/error.log
        Loglevel warn
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/apache.pem

        ProxyRequests Off
        <Proxy *>
                AuthUserFile /srv/ajaxterm/.htpasswd
                AuthName EnterPassword
                AuthType Basic
                require valid-user

                Order Deny,allow
                Allow from all
        </Proxy>
        ProxyPass / http://localhost:8022/
        ProxyPassReverse / http://localhost:8022/
</VirtualHost>

ОБНОВИТЬ

У меня было множество других проблем с моей установкой, поэтому я просто вытер их и переустановил. Если я столкнусь с той же проблемой, я сделаю репост.

Всем спасибо за вашу помощь / предложения.

У меня была такая же проблема в моей конфигурации virtualHosts, и я решил ее, преобразовав файл формата Windows в файл формата Unix.

Все символы «\ r» (возврат каретки CR) необходимо преобразовать в «\ n» unix (перевод строки LF)

В Windows либо каталог bin Apache должен находиться в $ PATH, либо вам нужно перейти к нему. Тогда вы можете запустить:

httpd -t

Обычно вы увидите:

Syntax Ok

Если вы хотите специально проверить свои виртуальные хосты:

httpd -S

И он начнет упоминать каждый хост для каждого порта.

Вы получаете ту же ошибку с httpd -t?

Можете ли вы удалить файл 000 по умолчанию и снова запустить команду? Если вы все еще получаете сообщение об ошибке, значит, вы просматриваете не тот файл.

Кстати, ваш заголовок немного наводит на размышления, я не вижу упоминания «VirtualHost» в ошибке, заголовок предполагает, что мы должны искать «без соответствия», что не соответствует действительности.

Также

allow from

должно быть

Allow from

то же самое касается

require

должно быть

Require

вы можете попробовать grep "<Virtualhost>" -r /etc/apache2 чтобы проверить все теги открытых виртуальных хостов

Ради потомков у меня была очень похожая ошибка:

Syntax error on line 41 of /etc/apache2/sites-enabled/000-default.save: </VirtualHost> without matching <VirtualHost> section

Открыв этот файл, я обнаружил q перед открытием <VirtualHost> тег. Я понятия не имею, как он туда попал, но его удаление устранило проблему и позволило запустить Apache.

У меня была такая же проблема сегодня при запуске apache 2.4.18. Проблема заключалась в отсутствии новой строки в конце файла. Поэтому не забудьте поставить дополнительную строку после </VirtualHost>

Я ненавижу отвечать в будущем, но в строке 5 ваш тег искажен, а именно <Directory /> должно быть <Directory "/">

У меня также были проблемы с символами окончания строки между unix и Windows и моими файлами конфигурации apache.