tm

   По-умолчанию система мониторинга CACTI доступна по адресу http://domain.xx/cacti/, т.е. с точки зрения web-сервера /cacti/ - является алиасом. Этот факт немного не удобен тем, что логи при обращении к /cacti/ будут сыпаться в общую кучу с логами домена. Конечно, можно как-то избавиться от этого тонкой настройкой логирования web-сервера, но можно поступить по-другому. Посадить CACTI на поддомен, т.е. URL будет выглядеть так: cacti.domain.xx. Ну, проще говоря, создать отдельный виртуальный хост на web-сервере.

   В этой небольшой зарисовке пример Ubuntu 14 + Apache 2.4.7. + CACTI. По умочанию, CACTI создаёт конфигурацию к основному домену в виде алиаса. Посмотреть можно в /etc/apache2/conf-available/cacti.conf. Эту конфигурацию мы отключаем:

a2disconf cacti
service apache2 reload

   Следующим шагом будет создание виртуального хоста в директории site-avialable:

nano /etc/apache2/sites-available/cacti.domain.xx.conf
<VirtualHost *:80>
   ServerName cacti.domain.xx
   ServerAlias www.cacti.domain.xx
   ServerAdmin Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
   DocumentRoot /usr/share/cacti/site
   ErrorLog ${APACHE_LOG_DIR}/error-cacti.log
   CustomLog ${APACHE_LOG_DIR}/access-cacti.log combined
</VirtualHost>

Включаем наш виртуальный хост:

a2ensite cacti.domain.xx.conf
service apache2 restart

   Перед тем как ***нуть в продакшн, стоит позаботиться о соответствующих записях на DNS серверах. Если ресурс публичный, то у регистратора доменного имени пожно попросить внести изменения, на его DNS. Если нет, то на внутренних DNS или в файле hosts делаем записи типа:

cacti.domain.xx  IP сервера
www.cacti.domain.xx  IP сервера

   Не смотря на то, что CACTI у нас доступен по новому адресу, всё статическое содержимое страницы не отображается. Связано это с тем, что все пути в PHP коде прописаны на /cacti/. Исправляется это через файл .htaccess. В Apache2 должен быть включен модуль rewrite. Кажется так:

a2enmod rewrite.load

И не забываем перезапустить Apache.

Файл .htaccess помещается в директорию /usr/share/cacti/site/.

nano /usr/share/cacti/site/.htaccess
RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^domain.xx [NC]
RewriteRule ^(.*)$ http://domain.xx$1 [L,R=301]
RedirectMatch 301 ^/cacti/(.*)$ http://cacti.domain.xx/$1

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

   Не плохо было бы сделать владельцем файлов и директорий www-data в директории /usr/share/cacti/site/. По-умочанию владелец root, что не очень секьюрно.

И помни, паранойя сисадмина - залог сохранности данных и долговечности серверов =)

Комментарии отключены