- Как посмотреть текущее состояние веб сервера Apache?
- Сколько памяти использует Apache?
- Сколько процентов процессорного времени расходует Apache?
- Какие подключения в данный момент есть у Apache и что какое подключение делает?
Вот вопросы, на которые отвечает идущий с Apache мод под названием «mod_status». В этой заметке я расскажу — как поставить mod_status на сервере Linux Debian.
Включаем и настраиваем:
1) Идем в каталог
$ cd /etc/apache2/mods-available |
2) Открываем на редактирование файл
$ sudo vi status.conf |
3) В нем мы видим настройки мода mod_status. Нам надо несколько их подправить, т.к. по-умолчанию доступ имеют только пользователи, заходящие с самого сервера (127.0.0.1)
Для того, чтобы пустить на страницу статуса с каких-то других IP адресов — добавляем после строчки
Allow from 127.0.0.1 |
еще строчки вида
Allow from 192.168.0.1 |
где указываете IP адреса, с которых можно заходить на страницу статуса.
4) Включаем сам мод.
Для этого делаем сим-линк на его файлы в каталог mods-enabled:
$ sudo ln -s /etc/apache2/mods-available/status.load /etc/apache2/mods-enabled/status.load $ sudo ln -s /etc/apache2/mods-available/status.conf /etc/apache2/mods-enabled/status.conf |
5) Перезапускаем Apache
$ sudo /etc/init.d/apache2 restart |
6) Заходим на страницу статуса: http://192.168.0.1/server-status
где вместо 192.168.0.1 введите IP адрес Вашего веб-сервера (на котором сейчас мы настраиваем mod_status).
У Вас должна открыться страница с информацией о текущем состоянии сервера Apache.
Допуск к странице через логин/пароль
Однако не всегда возможно, да и просто не очень хорошо ограничить доступ только по IP. Например, с одного адреса могут ломиться люди, которым можно и которым нельзя (например, находящиеся за NAT). Давайте ограничим доступ по логин-паролю. Для этого воспользуемся техникой htpasswd.
Сначала создадим файл формата .htpasswd. Назовем его status.passwd:
$ cd /etc/apache2/ $ sudo htpasswd -c status.passwd adminuser |
где вместо adminuser укажите логин пользователя, который сможет заходить на эту страницу. После чего на запрос утилиты введите пароль для этого пользователя.
Других пользователей можно добавить таким-же образом, только ключ -c указывать нельзя:
$ sudo htpasswd status.passwd anotheruser |
Теперь откройте снова файл status.conf на редактирование и приведите секцию к вот такому виду:
SetHandler server-status Order allow,deny Allow from all AuthName "Enter password for access" AuthType Basic AuthUserFile /etc/apache2/status.passwd require valid-user |
И перезагрузите веб-сервер:
$ sudo /etc/init.d/apache2 restart |
Ну и все — при следующем заходе на страницу статус у Вас поинтересуются логином и паролем.
Огромное спасибо! Быстро, понятно и, главное, всё работает)