Проверим наличие необходимых модулей:
# cat /usr/local/etc/apache22/httpd.conf | grep info_module
LoadModule info_module libexec/apache22/mod_info.so
# cat /usr/local/etc/apache22/httpd.conf | grep status_module
LoadModule status_module libexec/apache22/mod_status.so
По-умолчанию Apache собирается уже с ними.
В файл конфигурации сервера Apache /usr/local/etc/apache22/httpd.conf добавляем:
ExtendedStatus On
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 95.132.231.112
</Location>
Теперь страница будет доступна для просмотра с localhost и с второго указанного IP. Рекомендуется ограничить доступ, т.к. содержит информацию о сервере.
Теперь – можно посмотреть прямо из консоли, например с помощью браузера lynx:
# lynx http://localhost/server-status/
Или в браузере – http://website.co.ua/server-status
Можно указать автоматически обновлять страницу каждые 5 секунд, тогда в браузере указываем:
http://website.co.ua/server-status/?refresh=5
Для более удобного вывода информации – можно использовать скрипт Visualize Apache Server Status.
Скачать его можно тут>>>.
Для его корректной работы потребуется снять ограничение в httpd.conf. Меняем:
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 95.132.231.112
</Location>
На:
<Location /server-status>
SetHandler server-status
Order Allow,Deny
Allow from all
</Location>
Что бы все-таки ограничить доступ – можно воспользоваться средствами .htaccess, подробнее тут>>>.
В каталоге нужного виртуалхоста (сайта) сервера создадим каталог status:
# mkdir status
Качаем архив:
# fetch http://www.phpclasses.org/browse/download/targz/package/3613/name/parse_server_status-2006-12-30.tar.gz
fetch: http://www.phpclasses.org/browse/download/targz/package/3613/name/parse_server_status-2006-12-30.tar.gz: size of remote file is not known
parse_server_status-2006-12-30.tar.gz 12 kB 2381 kBps
Распаковываем его, и получаем пачку файлов:
# ls -la
total 164
drwxr-xr-x 3 website website 512 Aug 27 11:20 .
drwxr-xr-x 7 root website 1024 Aug 27 11:35 ..
-rw-r–r– 1 website website 43 Aug 27 11:20 blank.gif
-rw-r–r– 1 website website 2679 Aug 27 11:20 class.parse_server_status.php
-rw-r–r– 1 website website 384 Aug 27 11:31 inc.config.php
drwxr-xr-x 2 website website 512 Aug 27 11:20 parse_server_status-2006-12-30
-rw-r–r– 1 website website 84402 Aug 27 11:20 screen1
-rw-r–r– 1 website website 49046 Aug 27 11:20 screen2
-rw-r–r– 1 website website 3230 Aug 27 11:20 serverstatus.php
-rw-r–r– 1 website website 2918 Aug 27 11:20 serverstatus2.php
Файл inc.config.php содержит настройки, в него добавляем наш сервер:
$refreshtime = 2;
$scalefaktor = 1;
// URL of the Apache2 serverstatus-page
$statusurl = “http://website.co.ua/server-status”;
?>
refreshtime – периодичность обновления в секундах, scalefaktor – масштаб графиков.
Переходим по адресу http://website.co.ua/status/serverstatus.php и получаем такую картинку:
Файл serverstatus2.php выводит ту же информацию, но в другом виде: