Instalación Zabbix
En nuestro caso instalaremos la versión 6.0 ya que en la versión 6.2 el soporte es sólo hasta 2023. Por defecto no lo tenemos en los repositorios de Ubuntu 22.04 (nuestra versión de server actual) así que debemos descargarlo e instalarlo a mano.

$ cd /tmp/
$ wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bubuntu22.04_all.deb
$ dpkg -i zabbix-release_6.0-4%2Bubuntu22.04_all.deb
$ apt update
Una vez descargado pasamos a instalar el servidor y el agente junto a la configuración de apache y PHP. Debemos tener comentado en el fichero /etc/dpkg/dpkg.cfg.d/excludes la línea path-exclude=/usr/share/doc/* en negrita, sino no nos descargará la DB:
$ nano /etc/dpkg/dpkg.cfg.d/excludes
# Drop all man pages
path-exclude=/usr/share/man/*
# Drop all translations
path-exclude=/usr/share/locale/*/LC_MESSAGES/*.mo
# Drop all documentation ...
#path-exclude=/usr/share/doc/*
# ... except copyright files ...
path-include=/usr/share/doc/*/copyright
# ... and Debian changelogs
path-include=/usr/share/doc/*/changelog.Debian.*
$ apt install zabbix-agent zabbix-server-mysql php-mysql zabbix-frontend-php zabbix-sql-scripts zabbix-apache-conf
Podemos verificar la versión instalada:
$ apt-cache policy zabbix-server-mysql
zabbix-server-mysql:
Instalados: 1:6.4.0~beta4-1+ubuntu22.04
Candidato: 1:6.4.0~beta4-1+ubuntu22.04
Tabla de versión:
*** 1:6.4.0~beta4-1+ubuntu22.04 500
500 https://repo.zabbix.com/zabbix/6.3/ubuntu jammy/main amd64 Packages
100 /var/lib/dpkg/status
1:5.0.17+dfsg-1 500
500 http://es.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
Crear las Tablas
Antes de instalar Zabbix necesitamos crear la BD a la que se conectará. Hacemos login en un terminal y creamos la BD.
$ mysql -u root -p
CREATE DATABASE zabbix character set utf8mb4 collate utf8mb4_bin;
CREATE USER zabbix@localhost IDENTIFIED by ‘poner_un_password’;
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost;
Warnign!
“Since August 2022, we now need to temporarily enable the log_bin_trust_function_creators option.”
set global log_bin_trust_function_creators = 1;
FLUSH PRIVILEGES;
QUIT
Opcional PHPMyAdmin
PhpMyAdmin no forma parte de los repositorios de Debian por lo que tenemos que descargarlo desde la web oficial. Desde aquí podemos ver todas las versiones.
En nuestro caso instalaremos la versión 5.2:
$ cd /tmp && wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
$ apt install unzip
$ unzip phpMyAdmin-5.2.0-all-languages.zip
Ahora vamos a mover el directorio descomprimido de phpmyadmin al directorio /usr/share que es donde phpmyadmin espera encontrar sus ficheros con:
$ mv phpMyAdmin-5.2.0-all-languages /usr/share/phpmyadmin
Ya podemos borrar el fichero que nos descargamos desde la web oficial con:
$ rm /tmp/phpMyAdmin-5.2.0-all-languages.zip
Este panel de control para bases de datos necesita tener en la ruta /var/lib un directorio temporal tras su directorio de phpmyadmin así que vamos a crearlo con:
$ mkdir -p /var/lib/phpmyadmin/tmp
Le asignamos el usuario y grupo web para que el servidor Apache pueda trabajar con él:
$ chown -R www-data:www-data /var/lib/phpmyadmin
$ systemctl reload apache2.service
Creamos un enlace con el nombre que queramos de acceso para ancceder al login de phpmyadmin. Es preferible que sea distinto de “phpmyadmin” para evitar accesos no deseados.
$ cd /var/www/html/
$ ln -s /usr/share/phpmyadmin/ phpmyadmin
Si entramos a la url donde está alojado deberíamos ver el panel de PhpMyadmin.
http://localhost/phpmyadmin
NOTA: podemos usar otro nombre que no sea phpmyadmin para proteger de posibles ataques.
Importamos el Schema inicial y los datos.
$ zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -u zabbix -p zabbix
Te preguntará para insertar el password nuevo creado para zabbix@localhost que utilizamos. Tardará unos minutos en crear el nuevo schema en la BD.
Disable log_bin_trust_function_creators option after importing database schema.
$ mysql -u root
set global log_bin_trust_function_creators = 0;
quit;
En la siguiente parte, parte III, haremos la configuración de nuestro sistema de monitoreo Zabbix.