Ошибка сайта не существует для a2ensite

Конфигурационные файлы Apache в Ubuntu

Расположение конфигурационных файлов установленного веб-сервера Apache2 на системах Ubuntu выглядит следующим образом:

/etc/apache2/
|-- apache2.conf
|       `--  ports.conf
|-- mods-enabled
|       |-- *.load
|       `-- *.conf
|-- conf-enabled
|       `-- *.conf
|-- sites-enabled
|       `-- *.conf

apache2.conf – это главный конфигурационный файл. Он содержит настройки, а также собирает настройки из всех других конфигурационных файлов для соединения этих частей в целое при запуске веб-сервера.

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

Конфигурационные файлы в директориях mods-enabled/, conf-enabled/ и sites-enabled/ содержат определённые куски конфигурации, которые, соответственно, управляют модулями, глобальными фрагментами конфигурации или настройками виртуальных хостов.

Они активируются символическими ссылками на доступные файлы конфигураций, расположенных в аналогичных директориях *-available/. Для помощи в управлении используются небольшие скрипты a2enmod, a2dismod, a2ensite, a2dissite, и a2enconf, a2disconf.

Ошибка 403

Forbidden

Ошибка 403 означает, что сервер не может выполнить запрос из-за запрета на доступ к запрашиваемым файлам или страницам. Эта ошибка может возникать по ряду причин. Рассмотрим самые распространенные:

  • Индексный файл index.html не загружен в директорию public_html вашего сайта или является некорректным. Для устранения этой ошибки создайте файл с именем index.html или переименуйте уже имеющийся файл. Возможные варианты для имени файла: index.html, index.htm или index.php.
  • Для директории, в которой находится запрашиваемый файл, установлены такие права, что веб-сервер Apache не смог прочитать файл на диске сервера. Для устранения этой ошибки попробуйте изменить права доступа в разделе, отвечающем за настройку прав.
  • Файлы сайта загружены в неправильную директорию. Для устранения этой ошибки проверьте, располагаются ли файлы сайта в директории site/public_html, где site — название вашего сайта.

a2ensite и a2dissite

ИМЯ

a2ensite, a2dissite – включают или отключают сайты / виртуальные хосты apache2.

СИНОПСИС

a2ensite  сайт]
a2dissite  сайт]

ОПИСАНИЕ

a2ensite – это скрипт, который включает указанный сайт (который содержится в блоке <VirtualHost>) внутри конфигурации apache2. Он делает это создавая символическую ссылку внутри /etc/apache2/sites-enabled. А a2dissite отключает сайт удаляя эти ссылки. Не является ошибкой включить сайт, который уже включен или отключить сайт, который уже отключен.

Apache расценивает самый первый виртуальный хост включённым специально для перенаправления на него каждого запроса, не соответствующего действительной директиве. Таким образом, первым должен вызываться 000-default чтобы с сортировке быть первым перед загрузкой оставшихся хостов.

ОПЦИИ

-q, —quiet

Не показывать сообщения с информацией.

-m, —maintmode

Включает режим сопровождения, то есть вызов программы выполняется автоматически скриптом сопровождения. Эта опция не должна использоваться конечными пользователями.

-p, —purge

При отключении сайта очищает все следы модуля во внутренней базе данных состояния.

СТАТУС ВЫХОДА

a2ensite и a2dissite выходят со статусом 0 если все сайты обработаны успешно, 1 если произошли ошибки, 2 если была использована неверная опция.

ПРИМЕРЫ

a2dissite 000-default

Отключает стандартный сайт.

ФАЙЛЫ

/etc/apache2/sites-available

Директория с файлами, предоставляющими информацию о доступных сайтах.

/etc/apache2/sites-enabled

Директория с ссылками на sites-available для включённых сайтов.

Устранение ошибки с помощью apachectl

Чтобы устранить ошибку AH00526 с помощью утилиты apachectl, вы можете протестировать конфигурацию Apache с помощью подкоманды configtest. Этот инструмент проанализирует файлы Apache, чтобы определить, допустимо ли их содержимое, и, если нет, найдет неверные настройки в конфигурации.

Команда apachectl configtest полезна для выявления синтаксических ошибок в новой конфигурации веб-сервера перед перезагрузкой. Этот тест поможет вам избежать сбоев в обслуживании в случае неправильных настроек в ваших файлах Apache.

Следующий пример команды вернет сообщение об ошибке синтаксиса AH00526 и объяснит, что вероятная проблема заключается в том, что Apache ссылается на пустой файл SSLCertificateFile:

В этом примере файл /etc/ssl/certs/example.com.pem не существует, что и указано в сообщении об ошибке. Чтобы решить проблему, вам нужно добавить сертификат SSL/TLS в файл или удалить эту директиву.

Если в конфигурации нет ошибок, команда apachectl должна показать следующее:

Заключение

В этом мануале вы узнали, как устранить синтаксическую ошибку Apache AH00526. Первым шагом при исследовании любой ошибки Apache является проверка статуса сервера с помощью команды systemctl status apache2 или systemctl status httpd (в зависимости от вашего дистрибутива Linux). Так вы можете определить, правильно ли работает Apache или он не может запуститься из-за ошибки.

После того, как вы определили состояние Apache, вы можете дополнительно диагностировать его с помощью journalctl и изучить логи system для этого процесса. Затем вы можете использовать команду apachectl configtest, чтобы проверить файлы конфигурации на наличие ошибок.

Apacheapachectljournalctlsystemctl

a2enconf и a2disconf

ИМЯ

a2enconf, a2disconf – включают и отключают конфигурационные файлы apache2.

СИНОПСИС

a2enconf  конфигурация]
a2disconf  конфигурация]

ОПИСАНИЕ

a2enconf – это скрипт, который включает определённый конфигурационный файл внутри конфигурации apache2. Он делает это создавая символическую ссылку внутри /etc/apache2/conf-enabled. А a2disconf отключает определённую часть конфигурации удаляя эти символические ссылки. Не является ошибкой включить конфигурацию, которая уже включена или отключить её, если она уже отключена.

Помните, что многие конфигурационные файлы могут иметь зависимости от определённых модулей. В отличие от зависимостей модулей, они не решаются автоматически. Фрагменты конфигурации, хранящиеся в директории conf-available считаются несущественными или установленными и управляемыми с помощью обратных зависимостей (например, веб-скриптами).

ОПЦИИ

-q, —quiet

Не показывать информационные сообщения.

-m, —maintmode

Включает режим сопровождения, то есть вызов программы выполняется автоматически скриптом сопровождения. Эта опция не должна использоваться конечными пользователями.

-p, —purge

При отключении модуля очищает все следы модуля во внутренней базе данных состояния.

СТАТУС ВЫХОДА

a2enconf и a2disconf выходят со статусом 0 если все конфигурации обработаны успешно, 1 если случились ошибки, 2 если была использована неверная опция.

ПРИМЕРЫ

a2enconf security
a2disconf charset

Включает директивы Apache security, хранящиеся в конфигурационных файлах security, и отключает конфигурацию charset.

ФАЙЛЫ

/etc/apache2/conf-available

Директория с файлами доступных конфигураций веб-сервера.

/etc/apache2/conf-enabled

Директория с ссылками на файлы в conf-available для включения конфигурационных файлов.

Установка глобальной директивы ServerName

Чтобы устранить ошибку AH00558, необходимо добавить директиву ServerName в конфигурацию Apache. Apache использует директиву ServerName для сопоставления входящих HTTP-запросов с IP-адресом или именем DNS хоста (с помощью директив VirtualHost) для обработки запросов нескольких сайтов, размещенных в рамках одного сервера.

В сообщении об ошибке отмечается, что также нужно установить ​​глобальную директиву ServerName. С ее помощью Apache сможет корректно обрабатывать входящие запросы, которые не сопоставляются с VirtualHost, не выдавая при этом дополнительных ошибок.

Для максимальной совместимости с различными конфигурациями Apache используйте для вашей глобальной директивы ServerName значение 127.0.0.1. При необходимости вы можете использовать другой IP-адрес или DNS-имя, соответствующее конфигурации вашего сервера, но безопаснее всего использовать 127.0.0.1.

В системах Ubuntu и Debian откройте файл /etc/apache2/apache2.conf с правами root:

Добавьте в конец файла строку ServerName 127.0.0.1:

В CentOS, Fedora и других системах RedHat откройте файл /etc/httpd/conf/httpd.conf с правами root:

Добавьте строку ServerName 127.0.0.1 в конец файла:

Сохраните и закройте файл, когда закончите.

После добавления директивы ServerName в конфигурацию запустите apachectl, чтобы проверить ошибки в обновленной конфигурации веб-сервера.

Если apachectl не обнаружила ошибок в конфигурации, вы увидите:

Теперь вы можете перезапустить Apache, используя соответствующую команду systemctl restart для вашего дистрибутива Linux.

В системах Ubuntu и Debian запустите:

В системах CentOS, Fedora и RedHat используйте эту команду:

После перезапуска Apache сообщение об ошибке AH00558 больше не будет отображаться в ваших логах. Вы можете убедиться, что сообщения исчезли, выполнив любую из трех команд systemctl, journalctl или apachectl, которые мы использовали ранее в этом руководстве.

Настройка виртуальных хостов Apache?

Я уже подробно рассматривал как настроить Apache в отдельной статье. Поэтому не буду полностью расписывать здесь все конфигурационные файлы. Остановимся на файлах виртуальных хостов. Для удобства они вынесены в отдельные папки:

  • /etc/apache2/sites-available
  • /etc/apache2/sites-enabled

Ясно, что это разделение очень условно. Вы можете его убрать и добавлять свои виртуальные хосты прямо в основной конфигурационный файл. Все файлы из этих папок подключаются к нему с помощью директив Include. Но ведь так намного удобнее. В папке sites-available находятся все конфигурационные файлы, но они пока еще не активированы и отсюда не импортируются никуда. При активации нужного хоста на него просто создается ссылка в папку /etc/apache2/sites-enabled.

Для примера, создадим новый конфигурационный файл для виртуального хоста site1.ru. Для этого просто скопируем существующую конфигурацию для хоста по умолчанию — 000-default:

Сначала рассмотрим синтаксис того, что вы увидите в этом файле:

<VirtualHost адрес_хоста_для прослушивания:порт>ServerName доменServerAlias псевдоним_доменаServerAdmin емейл@администратораDocumentRoot /путь/к/файлам/сайтаErrorLog /куда/сохранять/логи/ошибок/error.logCustomLog /куда/сохранять/логи/доступа/access.log combined</VirtualHost>

Это минимальная конфигурация, которую вам нужно указать, чтобы создать виртуальный хост Apache. Конечно, здесь вы можете использовать и другие директивы Apache, такие как Deny, Allow и многие другие. А теперь рассмотрим наш пример для тестового сайта site1.ru:

Здесь мы используем звездочку вместо ip адреса, это значит, что веб-сервер будет слушать соединения на всех адресах, как на внешнем, так и на localhost. Порт 80, это порт по умолчанию. Затем указываем домен, электронный адрес администратора, и путь к папке, в которой будут находиться данные сайта. Две строчки Log говорят куда сохранять логи, но добавлять их необязательно. Дальше, нам нужно активировать этот хост. Мы можем вручную создать ссылку или использовать уже заготовленную команду:

Затем перезапустите Apache:

И нам осталось все это протестировать. Если ваш сервер имен еще не направляет запросы к домену на ваш ip, а вы хотите уже проверить как все работает, можно пойти обходным путем. Для этого достаточно внести изменения в файл /etc/hosts на машине, с которой вы собрались открывать сайт. Этот файл, такой себе локальный DNS. Если компьютер находит ip для домена в нем, то запрос в интернет уже не отправляется. Если вы собираетесь тестировать с той же машины, на которую установлен Apache2, добавьте:

Если же это будет другой компьютер, то вместо 127.0.0.1 нужно использовать адрес вашего сервера, на котором установлен Apache. Затем можете открыть сайт в браузере:

Ошибка Service not found при обращении к веб-сервису 1С:Предприятия

Пример полного текста ошибки:

1 Service notfound

Описание:

При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.

Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.

Решение:

Проверить имена веб-сервисов и ссылок на них.

    1. Конфигурационный файл публикации базы *.vrd
1 vim/var/www/e1c/base/default.vrd

следующего содержания:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

<?xml version=»1.0″ encoding=»UTF-8″?>
 
<point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system»
 
xmlns:xs=»http://www.w3.org/2001/XMLSchema»
 
xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»
 
base=»/base»
 
ib=»Srvr=1s-on-1c-1; Ref=base»>
 
<ws>
 
<point name=»ws_1s_on_1″
 
alias=»ws_1s_on_1.1cws»
 
enable=»true»/>
 
<point name=»ws_1s_on_2″
 
alias=»ws_1s_on_2.1cws»
 
enable=»true»/>
 
</ws>
 
</point>

point name – имя сервиса в конфигураторе;

alias – это имя ссылки, по которой будем обращаться к веб-сервису. Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса.

В нашем случае веб-сервиса ws_1s_on_3.1cws нет в файле.

Ошибка «Invalid command ‘ManagedApplicationDescriptor’»

Полный текст ошибки:

1
2
3
4
5
6

Начат процесс запуска юнита httpd.service.
сен 16 12:18:11 1s-on-web-1 httpd: AH00526: Syntax error on line 7 of /etc/httpd/e1c/base.conf:
сен 16 12:18:11 1s-on-web-1 httpd: Invalid command ‘ManagedApplicationDescriptor’, perhaps misspelled or defined by a module not included in the server configuration
сен 16 12:18:11 1s-on-web-1 systemd: httpd.service: main process exited, code=exited, status=1/FAILURE
сен 16 12:18:11 1s-on-web-1 systemd: Failed to start The Apache HTTP Server.
— Subject: Ошибка юнита httpd.service

Описание ошибки:

Ошибка связана с тем, что в файле httpd.conf отсутствует ссылка на модуль веб-расширения 1С:Предприятия, которая должна указываться в «LoadModule _1cws_module».

В этом можно убедиться выполнив команду.

1 cat/etc/httpd/conf/httpd.conf|grep wsap

Если результат пустой, то строка вида «/opt/1C/v8.3/x86_64/wsap24.so», отсутвтует  —  модуль не прописан.

Решение:

Отредактировать конфигурационный файл httpd.conf

1 vim/etc/httpd/conf/httpd.conf

Добавить строку:

1 LoadModule _1cws_module «/opt/1C/v8.3/x86_64/wsap24.so»

Автоиндекс

Альтернативным решением является разрешение индекса директории. Индекс директории означает, что если индексный файл не найден, сервер отобразит все содержимое директории.

По соображениям безопасности индекс директории в NGINX по умолчанию отключен.

При «403 forbidden NGINX», если вы хотите показать индекс директории в ситуациях, когда NGINX не может найти (идентифицировать) файл, отредактируйте nginx.conf, как описано выше, и добавьте в него две следующие директивы:

Autoindex on;
Autoindex_exact_size off;

Эти директивы должны быть добавлены в блок location. Можно либо добавить их в существующий блок location/, либо добавить новый. Окончательный результат должен выглядеть так:

location / {
  
  autoindex on;
  autoindex_exact_size off;
  }

Также можно активировать индексирование директории в определенной папке, если не хотите, чтобы она была доступна для всего сайта:

location /myfiles {
  autoindex on;
  autoindex_exact_size off;
  }

Сохраните изменения в файле, затем перезапустите NGINX командой:

sudo nginx -s reload

Ошибка 503

Service Temporarily Unavailable

У каждого аккаунта на сервере хостинга есть определенное количество рабочих процессов, выделенное в соответствии с выбранным тарифным планом. Работа с запросами ведется в порядке очереди, они поступают на сервер, где легкие запросы обрабатываются мгновенно, а тяжелые – медленно. Всякая очередь ограничена тем или иным количеством запросов. Если новый запрос находится за пределами этой границы, принят он не будет, и вместо результата браузер выдаст оповещение “Сервис временно недоступен”.

Чтобы исправить данную ошибку нужно знать причины, по которым она может появляться:

1. Зависание скриптов при передаче больших статичных файлов через PHP. Скрипты работают определенное время, а не постоянно. При окончании времени работы скрипта прерывается передача файла, соответственно, файл не будет передан полностью, а также запрос оставит процесс веб-сервера работать еще длительное время. Устранить ошибку вы сможете посредством следующих шагов:

  • Проверить все компоненты и плагины вашей CMS, отключая их по очереди, и найдите самые тяжёлые или испорченные, при работе которых загрузка сайта замедляется. По возможности откажитесь от таких компонентов или поищите более быстрый аналог.
  • Проверить наличие у вас медленных запросов — в папке logs вашего аккаунта создается файл mysql-slow.log. Информация в этом файле обновляется раз в сутки и содержит только самые проблемные SQL-запросы.
  • Если в PHP-скриптах используются Include-функции, загружающие части движка, расположенные на одном аккаунте, убедитесь, что в них используется локальный путь, а не URL вида «http://…». Наличие URL заставляет сервер делать дополнительный HTTP-запрос — это занимает лишнее время и сильно замедляет загрузку сайта.

2. Большое количество запросов к серверу. Причин возникновения таких запросов несколько:

  • Загружаемый ресурс разбит/содержит ссылки на слишком больше число файлов (картинки, таблицы стилей JS-скрипты), которые подгружаются через отдельные запросы. В этом случае следует объединить ресурсы в один файл, где это возможно.
  • DDoS-атаки, флуды, спамы в комментарии также могут вызывать большое количество запросов. В случае DDoS-атаки необходимо определить ее тип, и, согласно ее уровню, предпринять действия по устранению. Подробнее про DDoS-атаки вы можете прочитать в статье «DDoS-атаки: взгляд со стороны Timeweb».

a2enmod и a2dismod

ИМЯ

a2enmod, a2dismod – включение или отключение модулей apache2.

СИНОПСИС

a2enmod  module]
a2dismod  module]

ОПИСАНИЕ

a2enmod – это скрипт, которые включает определённый модуль внутри конфигурации apache2. Он делает это создавая символическую ссылку внутри /etc/apache2/mods-enabled. А a2dismod отключает модуль удаляя эту ссылку. Не будет ошибкой включить модуль, который уже включен или отключить модуль, который уже отключен.

Помните, что многие модули имеют, в дополнении к файлу .load, ассоциированный файл .conf. Включение модуля размещает конфигурационные директивы в файле .conf как директивы в главном контексте сервера apache2.

ОПЦИИ

-q, —quiet

Не показывать сообщения с информацией.

-m, —maintmode

Включает режим сопровождения, то есть вызов программы выполняется автоматически скриптом сопровождения. Эта опция не должна использоваться конечными пользователями.

-p, —purge

При отключении модуля очищает все следы модуля во внутренней базе данных состояния.

СТАТУС ВЫХОДА

a2enmod и a2dismod завершаются со статусом 0 если все модули успешно обработаны, 1 если случились ошибки, 2 если использована неверная опция.

ПРИМЕРЫ

a2enmod imagemap
a2dismod mime_magic

Включает модуль mod_imagemap, и отключает модуль mod_mime_magic.

ФАЙЛЫ   

/etc/apache2/mods-available

Каталог с файлами, предоставляющими информацию о доступных модулях.

/etc/apache2/mods-enabled

Директория с ссылками на файлы в mods-available для включённых модулей.

Поиск ошибки с помощью apachectl

Ошибка AH00558 может быть обнаружена с помощью утилиты Apache apachectl. Она может перехватывать подобные сообщения перед перезагрузкой или перезапуском Apache, и вам не придется искать ошибки в логах systemctl и journalctl.

Чтобы проверить конфигурацию Apache на наличие ошибки AH00558, выполните следующую команду:

Вы должны получить следующий вывод, если на вашем сервере действительно есть ошибка AH00558:

Как и в предыдущих разделах этого мануала, в которых для поиска сообщений AH00558 использовались systemctl и journalctl, здесь важно найти строку, содержащую сообщение AH00558

Еще раз обратите внимание, что IP-адрес (172.17.0.2) у вас может отличаться

В следующем разделе мы поможем установить директиву ServerName для устранения сообщений об ошибках AH00558.

Типы ошибок

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

Коды ошибок бывают положительными и отрицательными или успешными и не успешными.

Всего существует 4 типа кодов (хх — сочетание любых цифр):

  • 2xx — запрос выполнен успешно;
  • 3xx — запрос успешно перенаправлен (тоже положительный код);
  • 4xx — ошибка — документ не был отправлен пользователю, так как произошла критическая ошибка. Класс кодов 4xx предназначен для указания ошибок со стороны клиента;
  • 5xx — ошибка сервера — критическая ошибка на сервере. Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера.

Наибольший интерес для владельца сайта представляют коды, указывающие на ошибки со стороны клиента или сервера. Причины возникновения и способы устранения данных ошибок представлены ниже.

Очистка кэшей пакетов

Приложения-функции могут перестать работать сразу после обновления пакета SDK для .NET Core на компьютере разработки или обновления версии пакетов в самом приложении

В некоторых случаях в результате важного обновления несогласованные версии пакетов могут привести к нарушению работы приложения. Большинство этих проблем можно исправить следующим образом:

  1. Удалите папки bin и obj.

  2. Очистите кэши пакетов, выполнив команду dotnet nuget locals all —clear из командной оболочки.

    Очистку кэшей пакетов также можно выполнить с помощью средства nuget.exe или команды . NuGet.exe не входит в пакет установки операционной системы Windows для настольных компьютеров и его нужно получить отдельно на веб-сайте NuGet.

  3. Восстановите и перестройте проект.

  4. Удалите все файлы из папки развертывания на сервере, прежде чем повторно развернуть приложение.

Просмотр заблокированных строк в 1С

Ввиду своей деятельности, мне часто приходится рассказывать про различные аспекты оптимизации и в том числе про блокировки.
Очень часто слушатели задают следующие вопросы:
Как посмотреть в реальном времени, какие именно данные сейчас заблокированы?
Как понять, что сейчас заблокировано в терминах 1С?
Если гранулярность блокировки страница, как увидеть, какие данные в ней находятся?

Раньше приходилось отвечать, что инструмента, который показывает все вышеописанное, сейчас просто нет. Но потом мне это надоело, и я решил сделать собственный инструмент, который позволяет ответить на все вышеописанные вопросы.

1 стартмани

Поиск ошибки с помощью systemctl

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

В дистрибутивах Ubuntu и Debian запустите следующую команду, чтобы проверить статус Apache:

В CentOS, Fedora и других системах, производных от RedHat, используйте эту команду:

Флаг -l выводит все содержимое строки без сокращений (без замены длинных строк многоточием (…)). Флаг –no-pager выводит весь лог на ваш экран, не вызывая инструмент less, который показывает только один экран контента за раз.

Вы должны получить такой вывод:

Обратите внимание на выделенную строку, содержащую сообщение об ошибке AH00558. По сути, она говорит вам, что Apache не смог найти валидную директиву ServerName в своем конфигурационном файле, поэтому он будет использовать первый обнаруженный IP-адрес

В данном примере это внешний IP-адрес сервера: 172.17.02. В вашем случае IP-адрес может быть другим, это также может быть человекочитаемое DNS-имя.

Если ваш вывод systemctl предлагает вам любое автоматически определяемое значение IP-адреса или хоста, перейдите к последнему разделу этого руководства, чтобы установить глобальную директиву ServerName и решить проблему (этот раздел поможет установить для Apache безопасное значение ServerName по умолчанию, используя IP-адрес localhost: 127.0.0.1).

Если в выходных данных systemctl не указано значение, которое можно использовать для директивы ServerName, в следующем разделе этого мануала мы расскажем, как исследовать логи systemd с помощью journalctl для поиска информации о AH00558.

Инструменты проверки для вашего сайта

Понимая необходимость отсутствия ошибок валидации на страницах сайта, давайте рассмотрим, как осуществить поиск данных ошибок.

Существует множество бесплатных сервисов для проверки сайта, такие как Markup Validation Service W3C, Web Page Analyzer, Browsershots и другие.

Служба проверки HTML разметки W3C, вероятно, является самым простым и популярным инструментом для проверки валидности веб-страницы. Используя этот инструмент, вы можете обнаружить ошибки валидации, начиная от отсутствующих атрибутов ALT для ваших IMG-тегов и заканчивая размещением элементов блок-уровня внутри встроенных элементов (например, <p> внутри <span>).

Вы можете оценить HTML код, указав адрес своей веб-страницы, загрузив файл HTML или вставив HTML код напрямую.

Служба проверки HTML разметки W3C

Сервис проверит указанные вами данные на ошибки и сформирует отчет с их перечнем и рекомендациями по исправлению.

Условно ошибки и предупреждения можно разделить на два основных типа: шаблонные (связанные с выбранной темой и установленными плагинами) и ошибки, допущенные при оформлении уникального контента.

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

Устранение ошибки с помощью systemctl

Согласно инструкциям по устранению неполадок из мануала Устранение общих ошибок Apache, первым шагом при устранении ошибки AH00526 будет проверка состояния Apache с помощью systemctl

Сейчас нам важно понять, влияет ли ошибка на запущенный процесс и препятствует ли она запуску Apache

В дистрибутивах Ubuntu и Debian выполните следующую команду, чтобы проверить статус Apache:

В системах CentOS и Fedora для проверки статуса Apache используйте эту команду:

Флаг -l выводит все содержимое строки (то есть содержимое длинных строк не будет заменено многоточием (…)). Флаг –no-pager выводит весь на экран весь лог, не вызывая при этом инструмент less, который показывает только фрагмент содержимого.

Если в файлах действительно обнаружена ошибка AH00526, вы должны получить примерно такой вывод:

Такой вывод подтвердит, что Apache не работает из-за синтаксической ошибки. В нашем случае ошибка вызвана лишним символом S в начале строки SSSLCertificateFile в файле /etc/apache2/sites-enabled/000-default.conf. Правильная директива – SSLCertificateFile. Чтобы устранить ошибку, вам нужно отредактировать файл и исправить имя директивы, после чего вы сможете запустить Apache.

Вывод systemctl в этом примере также содержит некоторые строки из лога systemd. Если в ваших выходных данных указывается, что определенная строка в вашем конфигурационном файле генерирует синтаксическую ошибку, вы можете пропустить команды journalctl и apachectl configtest. Вы можете перейти непосредственно к указанному файлу, проверить его и исправить ошибку, чтобы устранить AH00526.

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

Завершение

Результатом кропотливой работы над ошибками мы должны увидеть следующее: Проверка документа завершена. Каких-либо ошибок и предупреждений не выявлено (“Document checking completed. No errors or warnings to show.”).

Что вы думаете о важности валидации? С какими ошибками сталкивались Вы и как их решали? Добавьте к этой статье свои комментарии!

Автор статьи:

Александр Рыбак
Web-разработчик в компании ApollonGuru. Принимаю активное участие в разработке кода для внедрения SEO рекомендаций. Любимый язык программирования: PHP.

Канал Telegram Другие статьи автора

Будем признательны за каждый лайк:

Устранение ошибки с помощью journalctl

Чтобы проверить логи systemd для Apache, воспользуйтесь командой journalctl. При вызове journalctl есть два особых флага, которые помогут вам найти определенные сообщения среди других записей.

Первый флаг, который нужно добавить к journalctl – это флаг –since today. он ограничит вывод команды только теми записями, которые были зарегистрированы в логе с 00:00:00 текущего дня. Использование этой опции поможет ограничить объем выведенных записей, которые вам придется изучить при поиске ошибок.

Второй флаг, который мы советуем использовать, – это опция –no-pager, которую вы применили в systemctl. Она сразу выводит весь лог на экран.

В системах Ubuntu и Debian выполните следующую команду:

В CentOS, Fedora и других RedHat-подобных системах используйте эту команду:

Если на вашем сервере Apache есть ошибка AH00558, просмотрите вывод journalctl и найдите такую строку:

Вторая строка вывода – это сообщение об ошибке AH00558. Строка содержит внешний IP-адрес сервера, который Apache автоматически определяет и устанавливает по умолчанию во время выполнения. Получив это сообщение как подтверждение ошибки AH00558, вы можете перейти к настройке глобальной директивы ServerName для решения проблемы.

В следующем разделе мы расскажем, как диагностировать ошибку AH00558 с помощью команды apachectl.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: