Как исправить ошибки Apache mod_authz_host в Linux —

При установке службы apache2 в Red Hat Enterprise Linux, Arch, Scientific Linux, Debian Server, Ubuntu Server или любом другом дистрибутиве, его поддерживающем, вы можете обнаружить ошибку модуля mod_authz_host, которая препятствует выполнению службы , Скорее всего, эта ошибка будет проблемой при каждом перезапуске службы apache2. Эта ошибка обычно возникает в виде синтаксического предупреждения о первой строке  файл, но теоретически вы можете получить какую-то другую ошибку.

Независимо от того, с какой линией у вас могут возникнуть проблемы, исправление не имеет ничего общего с тем, что mod_authz_host не установлен или даже не загружен в ОЗУ. Фактически, если вы получаете эту ошибку, это означает, что служба сервера apache2 правильно загружает  модуль. Проблема просто связана с тем фактом, что директива где-то неуместна, и перестановка кода должна быстро решить вашу проблему. Обратите внимание, что вы иногда будете видеть инструкции по установке mod_authz_host в apache2, что не имеет отношения к этому обсуждению. Ваши ошибки не происходят из-за отсутствия определенного пакета, а также из-за невыполненной зависимости. То, как разработчики решили сформулировать эти ошибки, приводит к распространенным заблуждениям.

Исправление директив модуля restrict.conf

Для обсуждения мы будем использовать энциклопедию дистрибутива Linux по адресу distrowatch.com для наших примеров. Официальная документация apache2 использует dev.example.com в качестве примера, и в любом случае вы не захотите использовать ни один из этих адресов.

Открой  файл с текстовым редактором. Поскольку это находится в защищенном каталоге, вам нужно иметь root-доступ. Мы использовали , но вы также можете использовать vi или другой текстовый редактор, который вы предпочитаете. Вам даже не обязательно использовать консольный редактор, но обязательно используйте gksu вместо sudo, если это необходимо.

После того, как вы загрузили файл, обратите пристальное внимание на то, что читает, например:

Заказать отказать, разрешить

Отрицать все

Разрешить с distrowatch.com

Этот текст должен существовать только внутри блоки. Обратите внимание на пробел в первом теге. Если у вас есть эта строка текста, плавающая за пределами каких-либо блоков, либо добавьте теги вокруг нее, либо переместите так, чтобы она читалась следующим образом:

    Заказать отказать, разрешить

    Отрицать все

    Разрешить с distrowatch.com

Помните, что вам нужно заменить distrowatch.com реальным URL, с которым вы работаете. Если вы обнаружите какие-либо строки, которые напрямую ссылаются на dev.example.com, то вы либо скопировали их непосредственно из примера кода, либо они добавлены по умолчанию. Домен example.com просто существует для иллюстрации в технических документах и ​​не служит никакой реальной цели. Официальная документация по адресу httpd.apache.org/docs/2.2/howto/access.html действительно ссылается на них. Вы, вероятно, можете безопасно удалить их, когда добавите новый текст в.

Если вам когда-нибудь понадобится включить каталог в ваш файл restrict.conf, вы можете заменить теги с теги, но вам нужно убедиться, что место в первом теге еще раз. Обязательно сохраните документ, а затем закройте его, прежде чем перезапускать службу apache2. У вас не должно быть никаких дальнейших проблем с этого момента.

Вот что означает сервер apache, когда он возвращает ошибку, например:

Фактическая ошибка будет иметь номер строки вместо восьмиугольника, но это указывает на то, что директивы не надежно заключены внутри указанных тегов. Вы можете перейти непосредственно к строке, указанной в ошибке, при отладке скрипта, чтобы проверить, что с ним не так. Хотя рассматриваемая ошибка скажет вам, что журнал ошибок Apache может содержать больше информации, он, вероятно, просто усилит те же понятия, которые обсуждались здесь.

Будущие синтаксические ошибки могут быть исправлены аналогичным образом. Возможно, вы обнаружите, что после исправления этой ошибки служба apache2 выдает еще одну ошибку. Это нормально, как бы странно это ни звучало, потому что он выполняет код только до первой строки, с которой обнаруживает проблему. Если бы в дальнейшем были проблемы, то они бы никогда не дошли до них. Если у вас возникнут такие проблемы, обратите особое внимание на номер строки при редактировании  файл. Если вы используете nano для редактирования файла, то вы всегда можете удерживать нажатой клавишу Ctrl и нажать клавишу C, чтобы найти строку, на которой находится курсор в данный момент. Это сделает процесс отладки более гладким.

Вы можете обнаружить, что у вас есть несколько блоков, плавающих вокруг таким образом, которые ни к чему не привязаны. Каждый из них должен иметь теги на них. Удалите лишние блоки в любое время, когда вы обнаружите, что у вас есть несколько копий одного и того же URL с одинаковыми точными директивами, поскольку эти дубликаты могут потенциально вызвать проблемы. Как правило, вам когда-либо нужна только одна копия какого-либо конкретного URL-адреса, поскольку вам не следует передавать дополнительные директивы об одном на сервер apache2, поскольку они могут в конечном итоге противоречить друг другу.

Ссылка на основную публикацию
Adblock
detector