Instalasi
Buat LAMP Stack, untuk tutorialnya ada Disini
Install PHP modul tambahan untuk cacti.
apt install php-posix php-sockets php-xml php-ldap php-mbstring php-json php-gd php-snmp php-gmp php-snmp php-date
Download source code nya Disini
Muat informasi timezone kedalam database.
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Buat database dan user untuk cacti.
mysql -u root -p
MariaDB [(none)]> create database cactidb;
MariaDB [(none)]> create user 'cacti'@'localhost' identified by 'PasswordUser';
MariaDB [(none)]> grant all privileges on cactidb.* to 'cacti'@'localhost';
Berikan juga perizinan untuk database timezone.
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO 'cacti'@'localhost';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit;
Bye
Import database schema cacti.
Masuk kedalam direktori source code cacti.
cd cacti-x.x.x
mysql -u root -p cactidb < cacti.sql
Konfigurasi Cacti
Edit konfigurasi cacti.
cd include/
cp config.php.dist config.php
nano config.php
Sesuaikan parameter berikut sesuai dengan database yang telah dibuat.
$database_type = 'mysql';
$database_default = 'cactidb';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = 'PasswordUser';
$database_port = '3306';
Pindahkan directory cacti ke document root virtualhost webserver
mv cacti/ /var/www/html/
Ubah kepemelikikan directory. *ganti chown chmod
cd /var/www/html/cacti.x.x.x/
Agar Cacti bekerja secara optimal, kita perlu mengkonfigurasi server database MariaDB. Akses file konfigurasi 50-server.cnf
.
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
Tempel baris berikut dibawah [mysqld]
collation-server = utf8mb4_unicode_ci
character-set-server=utf8mb4
max_heap_table_size = 128M
tmp_table_size = 64M
innodb_buffer_pool_instances=9
join_buffer_size = 64M
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_size = 1G
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000
innodb_doublewrite = OFF
Dibagian bawah ada parameter seperti ini
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
Ubah menjadi seperti ini.
character-set-server = utf8mb4
#collation-server = utf8mb4_general_ci
collation-server = utf8mb4_unicode_ci
Restart mariadb.
sudo systemctl restart mariadb
Selanjutnya, sesuaikan waktu max_execution dan batas memori dan atur zona waktu pilihan Anda pada file /etc/php/7.4/apache2/php.ini
dan /etc/php/7.4/cli/php.ini
.
Edit PHP Apache2
sudo nano /etc/php/7.4/apache2/php.ini
Hilangkan tanda ;
di awal baris dan sesuaikan timezone sesuai dengan wilayah kita.
date.timezone = Asia/Jakarta
memory_limit = 512M
max_execution_time = 60
Edit PHP CLI
sudo nano /etc/php/7.4/cli/php.ini
Hilangkan tanda ;
di awal baris dan sesuaikan timezone sesuai dengan wilayah kita.
date.timezone = Asia/Jakarta
memory_limit = 512M
max_execution_time = 60
sudo nano /etc/php/7.4/cli/php.ini
Untuk mencari parameter yang ingin diubah gunakan ctrl+w.
Install SNMP dan RRDTool.
sudo apt install rrdtool snmp snmpd snmp-mibs-downloader libsnmp-dev
Ubah owner dan permission directory cacti.
chown -R www-data:www-data /var/www/html/cacti
chmod -R 775 /var/www/html/cacti
DI VIRTUALHOST CACTI HARUS TAMBAHKAN ALIAS SEPERTI BERIKUT:
Alias /cacti /var/www/directory/cacti
<Directory /var/www/directory/cacti/>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Directory>
Buat juga cron agar poller berjalan dengan baik.
nano /etc/cron.d/cacti
* * * * * www-data php /var/www/direktori-cacti/poller.php 2>&1 >/dev/null
Buka dengan web browser lalu login, setelah login akan diperintahkan untuk mengganti password.
Login default cacti: user: admin password: admin

Edit /etc/mysql/mariadb.conf.d/50-server.cnf
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Ubah dan sesuaikan seperti yang diminta oleh installer
>= artinya sama dengan atau lebih besar
<= artinya sama dengan atau lebih kecil
= artinya harus sama dengan
Jika sudah, Lalu Next.

Pilih New Primary Server, lalu Next.

Pastikan semua oke, lalu Next.

Pastikan semua OK lalu Next.

Baca, checklist lalu Next.
Untuk mempercepat pengambilan data buat menjadi 1 menit/every minute.
Dan matikan scan mode agar nantinya kita yang akan menambahkan perangkat secara manual.

Pilih template, rekomendasi pilih semua, lalu Next.

Jika muncul error seperti ini, jalankan perintah yang direkomendasikan.

Login ke mysql
mysql -u root -p
ALTER DATABASE cactidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Refresh web browser dan pastikan semuanya berubah menjadi OK seperti berikut.


Checklist confirm installtion. Next

Proses instalasi cacti sedang berjalan.

Proses instalasi selesai. Get Started.
PROSES INTALASI SELESAI

Troubleshoot
Mengatasi cacti sering meminta login
Secara default cacti mengarahkan root directory nya ke /cacti

Caranya adalah dengan mengedit file /var/www/root-directory-cacti/include/config.php
Pada bagian $url_path = '/cacti/';
ubah menjadi $url_path = '/';
Pastikan juga di virtualhost hapus Alias /cacti