En esta ocasión vamos a explicar cómo instalar Cacti en Debian 11 Bullseye paso a paso, de forma que puedas trabajar con esta plataforma de monitorización para realizar el seguimiento de los sistemas y dispositivos de tu red local.
Esta guía también está disponible para otras versiones de Debian que puedes encontrar con el buscador de nuestro sitio.
Tabla de contenidos
Antes de instalar Cacti en Debian 11 Bullseye
Si quieres seguir los pasos de esta guía de instalación de Cacti en Debian 11 Bullseye tendrás que cumplir previamente estos requisitos mínimos:
- Una máquina Debian 11 Bullseye actualizada.
- La pila LAMP (servicio web con bases de datos y PHP).
- Un usuario con permisos de sudo.
- Acceso a Internet.
En caso de no disponer todavía del escenario básico seguramente será interesante consultar antes nuestra guía de instalación de la pila LAMP en Debian 11 Bullseye.
Cómo descargar Cacti para Debian 11 Bullseye
Vamos a descargar Cacti para Debian 11 Bullseye desde la sección de descargas del sitio oficial del proyecto, que es el lugar donde siempre encontraremos la última versión estable:
Bajo el enlace «Linux/Unix» se encuentra un paquete en formato .tar.gz que podremos descargar bien directamente desde el navegador, bien desde consola (por ejemplo, si trabajamos de forma remota) con alguna herramienta como wget:
~$ wget https://files.cacti.net/cacti/linux/cacti-1.2.20.tar.gz
Cómo instalar Cacti en Debian 11 Bullseye
Para instalar Cacti en Debian 11 Bullseye es preciso realizar una serie de tareas en el sistema que permitan que posteriormente el instalador web pueda hacer su trabajo sin encontrar problemas. A continuación detallamos todas y cada una de estas tareas.
Dependencias
Cacti necesita algunas utilidades de consola para su funcionamiento, así que las instalamos desde los repositorios de Debian 11:
~$ sudo apt install -y rrdtool
Archivos de Cacti
Descomprimimos el paquete de Cacti que descargamos antes directamente en la ubicación definitiva de la aplicación:
~$ sudo tar xf cacti-1.2.20.tar.gz -C /var/www/
Para facilitar la instalación y configuración, crearemos un enlace simbólico sin números de versión en el nombre hacia el subdirectorio que se acaba de crear:
~$ sudo ln -s /var/www/cacti-1.2.20/ /var/www/cacti
Como Cacti necesita escribir en su propio directorio de instalación, cambiamos la propiedad del mismo y su contenido al usuario con el que corre el servicio web en Debian 11 Bullseye:
~$ sudo chown -R www-data: /var/www/cacti/
Es recomendable cambiar la contraseña por defecto de la base de datos de Cacti, para lo que editamos su archivo de configuración:
~$ sudo nano /var/www/cacti/include/config.php
Buscamos esta línea:
... $database_password = 'cactiuser'; ...
Y cambiamos el valor por defecto de la contraseña:
... $database_password = 'XXXXXXXX'; ...
Recuerda este valor porque lo necesitaremos más adelante.
PHP
Cacti requiere algunos ajustes en la configuración de este lenguaje de programación, por lo que debemos editar el archivo php.ini.
Si trabajamos con la versión incluida en la distribución:
~$ sudo nano /etc/php/7.4/apache2/php.ini
Si usamos una versión del directorio alternativo habrá que cambiar /7.4/ en el comando anterior por lo que corresponda.
Buscamos las siguientes directivas:
... max_execution_time = 30 ... memory_limit = 128M ...
Y cambiaremos sus valores por defecto por los siguientes:
... max_execution_time = 60 ... memory_limit = 400M ...
Guardamos los cambios.
Además, Cacti requiere la presencia en Debian 11 de ciertas extensiones del lenguaje que también instalaremos desde los repositorios.
Si usamos la versión incluida en la distribución:
~$ sudo apt install -y php-{gd,gmp,ldap,mbstring,xml}
Y si usamos una versión procedente del repositorio alternativo habrá que indicar el número de tal versión en el nombre de los paquetes; por ejemplo, para la versión 8.0:
~$ sudo apt install -y php8.0-{gd,gmp,ldap,mbstring,snmp,xml}
Para que todos estos ajustes se apliquen recargamos la configuración del servicio web:
~$ sudo systemctl reload apache2
Servicio de base de datos
Configuración
Cacti requiere la configuración de ciertos valores del servidor de bases de datos, así que tendremos que editar el archivo de configuración principal del mismo.
Por ejemplo, para MariaDB:
~$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Nos aseguraremos de que en la sección server o en la sección mysqld estén presentes las siguientes directivas, teniendo cuidado de que no estén duplicadas en el mismo archivo con valores distintos a los mostrados:
... character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci join_buffer_size = 32M innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_buffer_pool_size = 1024M innodb_doublewrite = OFF innodb_flush_log_at_timeout = 3 innodb_read_io_threads = 32 innodb_write_io_threads = 16 innodb_io_capacity = 5000 ...
Guardamos los cambios y reiniciamos el servicio. Por ejemplo, en el caso de MariaDB:
~$ sudo systemctl restart mariadb
Base de datos
Vamos a crear la base de datos para Cacti conectando al servicio con el cliente de consola y un usuario administrador:
~$ mysql -u root -p
Creamos la base de datos:
> create database cacti charset utf8mb4 collate utf8mb4_unicode_ci;
Creamos el usuario y su contraseña (la contraseña debe ser la misma que creamos en pasos anteriores):
> create user cactiuser@localhost identified by 'XXXXXXXX';
Concedemos permisos suficientes al usuario sobre la base:
> grant all privileges on cacti.* to cactiuser@localhost;
Y también concedemos permiso de acceso a la tabla de nombres de zonas horarias del servidor de bases de datos:
> grant select on mysql.time_zone_name to cactiuser@localhost;
Ya podemos cerrar la conexión:
> exit
La base de datos se inicializa mediante un script SQL que proporciona Cacti:
~$ mysql -u root -p cacti < /var/www/cacti/cacti.sql
Y, como por defecto no suele estarlo, poblaremos la tabla de zonas horarias del servidor de bases de datos:
~$ mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
Es normal que durante este último proceso se muestren algunos avisos:
... Warning: Unable to load '/usr/share/zoneinfo//leap-seconds.list' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo//leapseconds' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo//tzdata.zi' as time zone. Skipping it.
Servicio web
Creamos una configuración del servicio web para hacer navegable Cacti:
~$ sudo nano /etc/apache2/sites-available/cacti.conf
El contenido será un alias (/cacti en este ejemplo):
Alias /cacti /var/www/cacti
Activamos la configuración:
~$ sudo a2ensite cacti.conf
Y la aplicamos:
~$ sudo systemctl reload apache
Cron
Cacti actualiza los datos de monitorización mediante una tarea programada del servicio Cron de Debian 11 Bullseye, así que creamos el archivo para la tarea:
~$ sudo nano /etc/cron.d/cacti
Su contenido será la siguiente línea:
*/5 * * * * www-data /usr/bin/php /var/www/cacti/poller.php > /dev/null 2>&1
En cuanto guardemos el archivo la tarea se ejecutará a intervalos regulares, en este caso de 5 minutos.
Instalador web
Ha llegado el momento de lanzar el instalador web de Cacti en Debian 11 Bullseye desde un navegador para lo que usaremos la dirección (IP, dominio, nombre DNS, localhost si se trata de la máquina local, etc.) y el alias que hayamos configurado.
Por ejemplo, la máquina Debian 11 Bullseye que hemos usado para realizar este tutorial es accesible en el subdominio debian11.local.lan, y hemos configurado el alias /cacti, así que podemos emplear http://debian11.local.lan/cacti como URL:
En la primera página del instalador web iniciaremos sesión con el usuario administrador por defecto, admin, cuya contraseña es también admin.
Una vez iniciada la sesión tendremos que cambiar la contraseña por defecto por una nueva:
Es obligatorio el uso de caracteres alfanuméricos y especiales para la nueva contraseña.
Hecho lo anterior, se mostrará el acuerdo de licencia de uso de Cacti:
Podemos cambiar el idioma de la instalación en el desplegable correspondiente, pero habrá que aceptar la licencia para poder continuar con la instalación.
En el siguiente paso se realizará una comprobación de los requisitos del sistema:
Si has seguido los pasos anteriores se cumplirán prácticamente todos los requisitos de instalación, especialmente los obligatorios. En caso de que no se cumpla alguno de ellos tendremos que corregirlo y realizar la comprobación de nuevo (con el icono en forma de flecha de la barra de título del asistente de instalación).
El instalador nos permitirá elegir entre instalar un servidor primario o una sonda remota:
En este caso dejaremos la opción por defecto para instalar un nuevo servidor primario.
Seguidamente se realizará una comprobación de revisión de permisos de directorios:
También se comprobarán las versiones y ubicaciones de herramientas del sistema que usa Cacti:
Para poder continuar tendremos que confirmar la información mostrada sobre la protección mediante validación de listas blancas:
Otro aspecto que habrá que configurar es el perfil predeterminado y la automatización de escaneo:
Los valores por defecto son adecuados, pero hay que asegurarse de que el rango de red de esta configuración sea el mismo que el que corresponde al servidor Debian 11.
A continuación el instalador permite elegir qué plantillas instalar:
Podemos instalarlas todas, aunque por supuesto puedes deshabilitar aquellas que no te interesen.
La última comprobación que se realiza es la de la base de datos:
Este es el último paso de configuración y comprobación de la instalación.
Para que comience el proceso en sí de instalación habrá que confirmarlo:
El instalador mostrará el progreso de la instalación e irá imprimiendo en pantalla el registro de operaciones realizadas:
Tras unos instantes de actividad la instalación llega a su fin:
Es el momento de acceder a la interfaz principal de Cacti siguiendo el enlace «Comenzar«.
Como iniciamos la sesión al principio de la instalación, seguiremos con la sesión iniciada en Cacti:
Por defecto Cacti está configurado para monitorizar la propia máquina Debian 11 Bullseye local, cosa que podemos comprobar visitando la sección «Gráficos» y expandiendo «Default Tree» en el panel lateral para seleccionar «Local Linux Machine«:
Si ha transcurrido suficiente tiempo desde el inicio del proceso de instalación puede que ya se hayan generado los primeros gráficos. Si aún no hay datos bastará con esperar unos minutos, ya que la página se refresca automáticamente.
Conclusión
Ahora que sabes cómo instalar Cacti en Debian 11 Bullseye ya puedes empezar a monitorizar los dispositivos y sistemas de tu red local y ver su estado a través de distintas gráficas.
Si quieres notificar algún error, realizar alguna sugerencia, etc. puedes dejar un comentario. Los comentarios se moderan para evitar SPAM, aunque los revisamos prácticamente a diario.
Y si ya monitorizas tu red gracias a esta guía y quieres agradecérnoslo, siempre es bienvenida cualquier contribución al mantenimiento de este sitio y la creación de nuevos tutoriales. Además, se priorizan las solicitudes de actualización a nuevas versiones y ayuda a problemas técnicos durante la instalación.
Puedes ayudarnos dejando una propina de tan solo 1 $ desde PayPal.
¡Gracias!