Гид по технологиям

Как проверить статус Apache на Linux — 5 способов

6 min read Серверы Обновлено 29 Dec 2025
Проверка статуса Apache на Linux
Проверка статуса Apache на Linux

Кратко

Apache — надёжный и гибкий веб‑сервер; проверка его состояния помогает быстро обнаруживать простои и ошибки конфигурации. В статье описаны пять способов проверить статус Apache на Linux: apachectl, модуль mod_status, ps, systemctl и проверка через браузер. Включены команды, чеклисты, способы устранения неисправностей и рекомендации по мониторингу.

веб-разработчик перед несколькими мониторами смотрит на ноутбук

Введение

Apache HTTP Server — один из самых популярных веб‑серверов в мире. Он полностью открытый, конфигурируемый и поддерживает множество модулей. Даже если Apache надёжен, администратору важно уметь быстро проверить его состояние и диагностировать проблемы. Ниже — пять проверенных способов сделать это на большинстве дистрибутивов Linux, плюс практические советы по диагностике и мониторингу.

Основные понятия

  • Apache — веб‑сервер (программа, выдающая HTML, файлы и пр. по HTTP/HTTPS).
  • systemd/systemctl — система управления службами в современных дистрибутивах.
  • mod_status — модуль Apache, который предоставляет страницу статуса сервера.

1. Проверка через apachectl

Самый простой способ — использовать утилиту apachectl, поставляемую вместе с Apache. Она выполняет управляющие действия и даёт быстрый статус.

Команда:

sudo apachectl status

Если сервер запущен и настроен на предоставление информации о статусе, вы увидите данные об аптайме, активных воркерах и количестве запросов. Если конфигурация содержит ошибки, apachectl может вывести диагностические сообщения.

Примечание: На некоторых системах apachectl может быть ссылкой на системную службу или требовать дополнительных параметров. Если команда не возвращает ожидаемый вывод, используйте systemctl (раздел 4) или проверьте логи.

2. Проверка через модуль mod_status

mod_status даёт подробную страницу со статусом сервера: активные соединения, состояние воркеров, статистика по запросам. Это удобно для ручной диагностики.

Включение server-status на Debian/Ubuntu

Откройте файл конфигурации модуля:

sudo nano /etc/apache2/mods-enabled/status.conf

Найдите секцию и приведите её к следующему виду, чтобы разрешить доступ с локального хоста (или с вашего IP):


  SetHandler server-status
  Require local
  #Require ip 192.0.2.0/24

Сохраните файл и перезапустите Apache:

sudo systemctl restart apache2

Если на вашей системе используется SysVinit, замените systemctl на service.

включение server-status в конфигурационном файле через nano

Включение server-status на RHEL/CentOS/Fedora

Файл конфигурации часто находится здесь:

sudo nano /etc/httpd/conf.d/server-status.conf

Измените секцию так, чтобы она разрешала доступ вашему IP:


  SetHandler server-status
  Require ip YOUR_IP_ADDRESS

Замените YOUR_IP_ADDRESS на ваш реальный IP, сохраните и перезапустите службу:

sudo systemctl restart httpd

Просмотр страницы статуса в браузере

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

http://localhost/server-status

Страница покажет информацию об активных подключениях, состоянии воркеров (Idle/Busy) и статистику. Если модуль недоступен — проверьте логи и права доступа.

3. Использование ps для поиска процессов Apache

Команда ps показывает процессы в системе. Это полезно, когда вы хотите быстро понять, запущен ли сам исполняемый бинарник Apache.

Для Debian/Ubuntu:

ps -aux | grep apache2

Для RHEL/CentOS/Fedora замените apache2 на httpd:

ps -aux | grep httpd

Если команда возвращает строки с процессами Apache, значит главный процесс и/или воркеры присутствуют. Обратите внимание, что строка с самой командой grep тоже будет возвращена — игнорируйте её или фильтруйте внимательнее:

ps -aux | grep '[a]pache2'

Пояснение флагов: a — все пользователи, u — показать владельца процесса, x — также процессы без терминала.

4. Проверка через systemctl

На современных системах systemd управляет службами. systemctl даёт детальный статус службы и её журнал (через journalctl).

Для Debian/Ubuntu:

sudo systemctl status apache2

команда systemctl в терминале показывает, что Apache активен

Для RHEL/CentOS/Fedora:

sudo systemctl status httpd.service

Если вы получили ошибку “Unit apache2.service could not be found”, выполните список всех сервисов, чтобы найти корректное имя:

systemctl list-units --type service --all

Чтобы посмотреть последние логи службы через journalctl:

sudo journalctl -u apache2 --no-pager -n 200
# или для httpd
sudo journalctl -u httpd --no-pager -n 200

Этот вывод полезен при диагностике причин падения сервиса или ошибок при старте.

5. Проверка через веб‑браузер (http://localhost)

Самый доступный тест — открыть http://localhost в браузере на сервере (или http://IP_сервера с соответствующими портами). Если Apache работает и дефолтная виртуальная хост‑страница установлена, вы увидите тестовую страницу с сообщением “It works!” или страницу вашей конфигурации.

Если вместо этого появляется ошибка 403, 404 или пустая страница, проблема может быть в правах доступа, конфигурации виртуального хоста или в том, что корневая директория пуста. В этом случае просмотрите лог ошибок:

sudo tail -n 200 /var/log/apache2/error_log
# или на RHEL/CentOS
sudo tail -n 200 /var/log/httpd/error_log

Чеклист перед проверкой

  • Убедитесь, что у вас есть привилегии sudo.
  • Определите имя службы: apache2 (Debian/Ubuntu) или httpd (RHEL/Fedora).
  • Сохраните резервную копию любых конфигурационных файлов перед изменениями.

Быстрый набор команд (шпаргалка)

  • Перезапуск службы:
sudo systemctl restart apache2
# или
sudo systemctl restart httpd
  • Проверка конфигурации Apache (подсказка на ошибки в конфиге):
sudo apachectl configtest
# или
sudo apache2ctl configtest
  • Проверка активных слушающих портов (покажет, слушает ли Apache 80/443):
sudo ss -tulpn | grep apache
# или
sudo ss -tulpn | grep httpd
  • Просмотр ошибок:
sudo tail -f /var/log/apache2/error_log

Типичные проблемы и как их диагностировать

  • Служба не стартует: проверьте вывод systemctl status и журнал journalctl. Частая причина — синтаксическая ошибка в конфиге.
  • Пустая страница вместо сайта: проверьте DocumentRoot и права на файлы (владелец, права 644/755).
  • 403 Forbidden: вероятно, неверно настроены права доступа или опции в конфиге.
  • Модуль mod_status недоступен: убедитесь, что модуль включён (a2enmod status на Debian/Ubuntu) и что секция позволяет ваш IP.

Безопасность и доступ к server-status

Страница /server-status содержит информацию о запросах и состоянии воркеров — не открывайте её публично. Разрешайте доступ только с доверенных адресов или через VPN/SSH туннель.

Пример ограничения доступа:


  SetHandler server-status
  Require ip 203.0.113.45

Альтернатива — использовать Basic auth поверх /server-status для дополнительной защиты.

Роли и обязанности (краткие чек-листы)

  • Системный администратор:

    • Проверить systemctl status и логи.
    • Перезапустить службу и проверить последствия.
    • Проверить права на файлы и SELinux/AppArmor политики.
  • Веб‑разработчик:

    • Проверить конфигурацию виртуальных хостов.
    • Убедиться, что DocumentRoot содержит index-файл.
    • Локально протестировать сайт и запросы.
  • SRE/DevOps:

    • Настроить мониторинг (Prometheus, Zabbix, Nagios) и алерты.
    • Ограничить доступ к /server-status.
    • Настроить лог‑ротацию и централизованный сбор логов.

Модель принятия решения (Mermaid)

flowchart TD
  A[Начать: подозрение на проблему с Apache] --> B{Отвечает ли http://localhost ?}
  B -- Да --> C[Проверить содержимое страницы и логи]
  B -- Нет --> D{Служба активна?}
  D -- Да --> E[Проверить конфигурацию vhost и права]
  D -- Нет --> F[systemctl status -> посмотреть journal -> устранить ошибку]
  F --> G[restart и повторная проверка]
  E --> G
  C --> H[Мониторинг/алерты]
  G --> H

Критерии приёмки

  • Команда systemctl status должна показывать Active: active (running).
  • Если ожидается выдача страницы — http://localhost должен возвращать код 200 и корректную HTML‑страницу.
  • Если включён mod_status — /server-status должен быть доступен только с доверенного IP и показывать корректную статистику.

План мониторинга и дальнейшие шаги

  • Настройте простой мониторинг доступности (HTTP check) с внешнего сервиса.
  • Добавьте метрики воркеров и времени ответа в систему мониторинга (Prometheus + exporter).
  • Настройте уведомления при падении службы или росте количества ошибок 5xx.

Частые команды для быстрой диагностики (cheat sheet)

  • Проверить конфигурацию: sudo apachectl configtest
  • Просмотреть статус службы: sudo systemctl status apache2
  • Посмотреть процессы: ps -aux | grep apache2
  • Живой вывод ошибок: sudo tail -f /var/log/apache2/error_log
  • Страница статуса: http://localhost/server-status (после включения mod_status)

Частые ошибки и их решения

  • Ошибка “Address already in use”: другой процесс занимает порт 80/443. Найдите процесс и освободите порт или измените конфигурацию.
  • Падение при старте после обновления: проверьте совместимость модулей и синтаксис конфигурации.
  • 403 после рестарта: проверьте директивы и права на файлы/каталоги.

FAQ

Какой сервис указан в systemctl на моей системе?

На Debian/Ubuntu — обычно apache2. На RHEL/CentOS/Fedora — httpd. Используйте systemctl list-units –type service –all чтобы найти точное имя.

Можно ли смотреть /server-status извне?

Технически можно, но это небезопасно. Разрешайте доступ только с доверенных IP или защищайте страницу через VPN/SSH и/или аутентификацию.

Резюме

Проверять статус Apache на Linux можно разными способами: от простой проверки через браузер до детальной диагностики через mod_status и systemctl. Для базовой диагностики достаточно apachectl, ps и systemctl; для глубокой — включайте mod_status и интегрируйте Apache в систему мониторинга. Всегда защищайте страницу статуса и регламентируйте доступы.

Важно: перед изменением конфигурации делайте резервную копию и проверяйте конфиг через apachectl configtest.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство