Jakiś czas temu wydano Cacti 1.0. Poczekałem chwilę aby wszystkie bolączki wieku dziecięcego zostały usunięte i przystąpiłem do aktualizacji już posiadanych.
Każda aktualizacja wygląda inaczej dlatego przedstawię instalację nowego Cacti + kompilacja Spine.
Jest to instalacja manualna z racji, że cacti mamy 0.8.8f a spine 0.8.8b.
Potrzebne pakiety na nowej czystej instalacji Ubuntu 16.04 LTS:
apt install gcc apache2 libapache2-mod-php snmpd snmp snmp-mibs-downloader libsnmp-base libsnmp-dev libssl-dev libc-dev libc6-dev make php php-snmp php-xml php-gd php-common php-gmp php-ldap php-mbstring php-mysql mysql-server mysql-client libmysqlclient-dev help2man rrdtool git
Po instalacji php ustawiamy timezone
timedatectl set-timezone Europe/Warsaw nano /etc/php/7.0/apache2/php.ini date.timezone = Europe/Warsaw
Pobieramy Cacti z oficjalnej strony cacti.net i nadajemy uprawnienia dla serwera Apache
wget http://www.cacti.net/downloads/cacti-1.0.4.tar.gz tar xvzf cacti-1.0.4.tar.gz mv cacti-1.0.4 /var/www/html/cacti chown -R www-data:www-data /var/www/html/cacti
Dodajemy konfigurację dla serwera www
nano /etc/apache2/conf-enabled/cacti.conf
Zawartość pliku:
Alias /cacti /var/www/html/cacti <Directory /var/www/html/cacti> Options +FollowSymLinks AllowOverride None <IfVersion >= 2.3> Require all granted </IfVersion> <IfVersion < 2.3> Order Allow,Deny Allow from all </IfVersion> AddType application/x-httpd-php .php <IfModule mod_php.c> php_flag magic_quotes_gpc Off php_flag short_open_tag On php_flag register_globals Off php_flag register_argc_argv On php_flag track_vars On # this setting is necessary for some locales php_value mbstring.func_overload 0 php_value include_path . </IfModule> DirectoryIndex index.php </Directory>
Ustawiamy bazę mysql, użytkownika i hasło. Pierwszy krok to ustawienie hasła mysql dla root’a
mysqladmin password
cd /var/www/html/cacti nano include/config.php mysql -p
logujemy się ustawionym przed chwilą hasłem do serwera mysql i wydajemy polecenia
> CREATE DATABASE cacti > grant all privileges on cacti.* to user@'localhost' identified by 'password'; > grant select on mysql.time_zone_name to user@'localhost' identified by 'password';
Edytujemy plik konfiguracyjny serwera mysql i dodajemy w sekcji [mysqld]
# # Cacti Server # collation-server = utf8mb4_unicode_ci character-set-server = utf8mb4 max_heap_table_size = 256M max_allowed_packet = 16777216 tmp_table_size = 64M join_buffer_size = 64M innodb_file_per_table = on innodb_doublewrite = off innodb_buffer_pool_size = 512M innodb_flush_log_at_trx_commit = 2
Tworzymy strukturę bazy danych oraz dodajemy strefy czasowe do bazy danych
mysql -p cacti < cacti.sql mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -p mysql
Na koniec pobieramy i kompilujemy spine, kompilacja powinna potrwać chwilę.
wget http://www.cacti.net/downloads/spine/cacti-spine-1.0.4.tar.gz tar xvzf cacti-spine-1.0.4.tar.gz cd cacti-spine-1.0.4 ./configure make make install
Teraz kończymy instalację przez przeglądarkę wchodząc na stronę http://adres.ip/cacti/ i akceptujemy warunki licencji, przechodzimy dalej, jeżeli brakuje nam wymienionych modułów dodajemy je poprzez apt.