Как посмотреть текущее состояние веб сервера Apache? Сколько памяти он сейчас кушает? Сколько процентов процессорного времени расходует? Какие у него подключения в данный момент и что какое подключение делает? Вот вопросы, на которые отвечает идущий с Apache мод под названием "mod_status".
В этом заметке я расскажу - как поставить mod_status на сервере Linux CentOS или Red Hat.
Настройка1) Идем в каталог /etc/httpd/conf
2) Открываем на редактирование файл httpd.conf
3) В этом файле находим опцию "ExtendedStatus On" и раскоментируем ее, если нам нужна дополнительная информация на странице статуса.
4) Теперь находим блок "<Location /server-status>". Он изначально закомментирован, т.ч. первое, что нам с ним нужно сделать - это раскомментировать.
5) Изначально модуль так настроен, что никого к себе вообще не пускает - имеется только строчка "Deny from all", но нет строчек "Allow...". Поэтому после строчки "Deny from all" добавляем строчки вот такого вида:
Allow from 192.168.0.1
Allow from 192.168.0.2
Этим мы указываем модулю - с каких IP адресов пускать к себе.
6) Закрываем файл и перезапускаем веб-сервер:
$ sudo /etc/init.d/httpd restart
Допуск к странице по паролюОднако не всегда возможно, да и просто не очень хорошо ограничить доступ только по IP. Например, с одного адреса могут ломиться люди, которым можно и которым нельзя (например, находящиеся за NAT).
Давайте ограничим доступ по логин-паролю. Для этого воспользуем техникой htpasswd.
Сначала создадим файл формата .htpasswd. Назовем его status.passwd:
$ cd /etc/httpd/conf/
$ sudo htpasswd -c status.passwd adminuser
где вместо adminuser укажите логин пользователя, который сможет заходить на эту страницу. После чего на запрос утилиты введите пароль для этого пользователя.
Других пользователей можно добавить таким-же образом, только ключ -c указывать нельзя:
$ sudo htpasswd status.passwd anotheruser
Теперь откройте снова файл httpd.conf на редактирование и приведите секцию <Location> к вот такому виду:
<Location /server-status>
SetHandler server-status
Order allow,deny
Allow from all
AuthName "Enter password for access"
AuthType Basic
AuthUserFile /etc/httpd/conf/status.passwd
require valid-user
</Location>
И перезагрузите веб-сервер:
$ sudo /etc/init.d/httpd restart
Ну и все - при следующем заходе на страницу статус у Вас поинтересуются логином и паролем.
Актуально для: CentOS 5/6 или RedHat 5/6; Apache 2.x
Ответы на вопросы для самопроверки пишите в комментариях,
мы проверим, или же задавайте свой вопрос по данной теме.
Комментарии
Оставить комментарий
Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)
Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)