En este artículo veremos cómo instalar Cacti en FreeBSD 11 paso a paso, de modo que puedas monitorizar visualmente tu red desde tu servidor o VPS FreeBSD gracias a las características de esta magnífica aplicación web.
Contenido
Antes de instalar Cacti en FreeBSD 11
Si quieres seguir los pasos de esta guía de instalación de Cacti en FreeBSD 11 será necesario partir del siguiente escenario:
- Un sistema FreeBSD 11 actualizado.
- La pila o entorno FAMP (servicio web con PHP y bases de datos).
- Un usuario con permisos de sudo.
- Acceso a Internet.
En caso de no disponer del entorno necesario, puedes consultar antes nuestra guía de instalación de la pila FAMP en FreeBSD 11.
También necesitaremos algunas herramientas del sistema que obtendremos desde los repositorios de FreeBSD 11, para lo que actualizamos la información de los mismos:
~$ sudo pkg update
E instalamos todo lo necesario:
~$ sudo pkg install -y rrdtool
Cómo descargar Cacti para FreeBSD 11
Vamos a descargar Cacti para FreeBSD 11 desde la zona de descargas del sitio oficial para asegurarnos de obtener la última versión estable de esta aplicación:
El paquete está disponible en formato .zip y en formato .tar.gz, que podemos descargar directamente desde el navegador o desde consola (si trabajamos de forma remota) con la herramienta fetch:
~$ fetch https://www.cacti.net/downloads/cacti-1.2.18.tar.gz
Cómo instalar Cacti en FreeBSD 11
Para poder instalar Cacti en FreeBSD 11 es necesario realizar una serie de tareas con la intención de preparar el sistema para que el instalador web corra sin encontrar problemas. Detallamos todos estos pasos a continuación.
Archivos de Cacti
Descomprimimos el paquete que acabamos de descargar directamente en la ubicación que nos interese, según como queramos integrar la aplicación en el servicio web (en este caso, como parte del sitio web por defecto):
~$ sudo tar xf cacti-1.2.18.tar.gz -C /usr/local/www/apache24/data/
Para que Cacti pueda modificar sus propios archivos cambiaremos la propiedad de los mismos al usuario con el que corre el servicio web:
~$ sudo chown -R www: /usr/local/www/apache24/data/cacti-1.2.18/
Como el nombre del subdirectorio que se ha creado contiene el número de versión en el nombre, podemos renombrarlo o crear un enlace simbólico sin números de versión:
~$ sudo ln -s /usr/local/www/apache24/data/cacti-1.2.18/ /usr/local/www/apache24/data/cacti
Editamos la configuración por defecto de Cacti para realizar algún ajuste:
~$ sudo nano /usr/local/www/apache24/data/cacti/include/config.php
Por seguridad cambiaremos la contraseña por defecto para la base de datos, para lo que localizamos la siguiente línea:
... $database_password = 'cactiuser'; ...
Cambiamos la clave por otra que un usuario malicioso no pueda averiguar:
... $database_password = 'XXXXXXXX'; ...
Esta contraseña la usaremos seguidamente para crear la base de datos de Cacti.
Guardamos y cerramos el archivo.
Base de datos
Además de crear e inicializar la base de datos para Cacti, también tendremos que realizar algunos ajustes de configuración del servicio de base de datos, que son requeridos durante la instalación.
Configuración de MariaDB
Editamos el archivo de configuración, del servicio de bases de datos (MariaDB procedente de los repositorios de FreeBSD 11 en este caso):
~$ sudo nano /usr/local/etc/mysql/conf.d/server.cnf
En la sección server o mysqld configuramos la siguiente serie de valores:
... [server] ... character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci innodb_file_format=Barracuda innodb_large_prefix=1 innodb_flush_log_at_timeout=3 innodb_read_io_threads=32 innodb_write_io_threads=16 innodb_io_capacity=5000 ...
Guardamos y cerramos el archivo, y reiniciamos el servicio de bases de datos para aplicar los cambios:
~$ sudo service mysql-server restart
Creación e inicialización de la base de datos
Conectamos al servicio de bases de datos con el cliente de consola mysql y el usuario con el que administremos:
~$ mysql -u root -p
Creamos la base de datos para Cacti:
> create database cacti character set utf8mb4 collate utf8mb4_unicode_ci;
Creamos el usuario, especificando la contraseña que modificamos anteriormente.
En el caso de MariaDB o MySQL 5:
> create user cactiuser@localhost identified by 'XXXXXXXX';
En el caso de MySQL 8, especificando también el plugin de autenticación compatible:
> create user cactiuser@localhost identified with mysql_native_password by 'XXXXXXXX';
Concedemos los permisos necesarios al usuario sobre la base:
> grant all privileges on cacti.* to cactiuser@localhost;
Concedemos también permisos sobre la tabla de nombres de zonas horarias de MySQL:
> grant select on mysql.time_zone_name to cactiuser@localhost;
Y cerramos la conexión:
> exit
El instalador web no inicializa la nueva base de datos, pero Cacti proporciona un script SQL para realizar la inicialización desde consola, para lo que usaremos el recién creado usuario de Cacti y su contraseña:
~$ mysql -u cactiuser -p cacti < /usr/local/www/apache24/data/cacti/cacti.sql
También cargaremos la tabla de nombres de zonas horarias de MySQL, ya que por defecto no suele contener datos:
~$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
PHP
Cacti requiere la disponibilidad en FreeBSD 11 de una serie de extensiones, que instalamos desde los repositorios del sistema. Si usas una versión distinta de PHP, cambia de forma apropiada los nombres de las extensiones en el siguiente comando:
~$ sudo pkg install -y php74-ctype php74-filter php74-gd php74-gmp php74-gettext php74-json php74-ldap php74-mbstring php74-openssl php74-pdo_mysql php74-posix php74-session php74-simplexml php74-snmp php74-sockets php74-xml php74-zlib
En el caso de usar la versión 7.3 también será necesario el paquete php73-hash.
También tendremos que realizar algunos ajustes en la configuración de PHP:
~$ sudo nano /usr/local/etc/php.ini
Buscamos las directivas siguientes:
... memory_limit = 128M ... max_execution_time = 30 ...
Y cambiamos sus valores por defecto aumentándolos como mínimo a los mostrados a continuación:
... memory_limit = 400M ... max_execution_time = 60 ...
Guardamos los cambios y recargamos la configuración del servicio web para aplicarlos:
~$ sudo service apache24 reload
Cron
Cacti realiza las tareas de obtención de datos en segundo plano, mediante el programador de tareas, por lo que debemos crear el archivo de configuración correspondiente:
~$ sudo nano /etc/cron.d/cacti
Con el contenido siguiente:
*/5 * * * * www /usr/local/bin/php /usr/local/www/apache24/data/cacti/poller.php > /dev/null 2>&1
Una vez guardados los cambios, comenzará a lanzarse de forma periódica (cada 5 minutos en este caso).
Instalador web
Para acceder al instalador web de Cacti en FreeBSD 11 desde un navegador indicaremos la dirección (IP, nombre DNS, dominio, etc.) seguido de la ruta de instalación de Cacti dentro del servicio web.
Por ejemplo, la máquina FreeBSD 11 sobre la que hemos preparado este tutorial es accesible en el subdominio freebsd11.local.lan, y hemos instalado Cacti en la ruta /cacti del sitio web por defecto, así que podemos usar http://freebsd11.local.lan/cacti como URL.
En la primera página del instalador inciaremos sesión con el usuario admin y la contraseña admin.
Por seguridad, el instalador nos obligará a cambiar la contraseña:
A continuación elegiremos el idioma y aceptaremos los términos de licencia:
Una página de requisitos mostrará el resultado de la comprobación de los mismos:
Si has seguido los pasos anteriores, todos los requisitos importantes deberían cumplirse, de modo que se puede continuar con la instalación. En caso contrario, soluciona el problema y vuelve a cargar la página.
Elegiremos el tipo de instalación:
En este caso estamos configurando un servidor primario para monitorizar la red en la que se encuentra.
Seguidamente se revisarán los permisos de lectura y escritura de los directorios y archivos de Cacti:
También se comprobarán la existencia y rutas de distintos binarios correspondientes a herramientas del sistema que Cacti utiliza:
Cacti usa un sistema de seguridad basado en listas blancas, cuyo funcionamiento el instalador nos pide que leamos y entendamos para poder continuar la instalación:
Configuraremos el perfil de toma y muestra de datos y el escaneo de la red local. Los valores por defecto son adecuados, aunque tal vez el rango de tu red sea distinto, en cuyo caso deberás cambiarlo antes de continuar:
Cacti ofrece una serie de plantillas de dispositivos que pueden ser o no instaladas. Es seguro dejarlas todas marcadas para su instalación:
Una última comprobación examinará la colación de la base de datos y las tablas:
Llegados a este puntos la instalación puede iniciarse, cosa que debemos confirmar antes de seguir el enlace «Instalar«:
El proceso de instalación toma unos instantes, registrando cada tarea que se va realizando:
Al terminar la instalación podremos examinar el registro de operaciones realizadas o, directamente, acceder a Cacti desde el enlace «Comenzar«:
Accedemos a la página principal de Cacti con la sesión iniciada para el usuario admin:
Para comprobar el funcionamiento de Cacti podemos visitar la sección «Gráficos«, en la que dentro de «Default Tree» encontraremos «Local Linux Machine«, que mostrará distintos gráficos de actividad predeterminados:
Dependiendo del tiempo transcurrido desde la creación de la tarea programada hasta el momento de la visita a esta página se habrán recolectado más o menos datos para poder conformar las gráficas, que se irán refrescando periódicamente de forma automática.
Conclusión
Ahora que sabes cómo instalar Cacti en FreeBSD 11 ya puedes monitorizar tu máquina FreeBSD y las de tu red local de forma intuitiva y muy visual gracias a la potente interfaz web de esta aplicación.
¡Apoya comoinstalar.me!
¿Ya funciona Cacti en tu sistema FreeBSD 11? Si es así y quieres agradecérnoslo colaborando con el mantenimiento de este sitio y la creación de más artículos, puedes hacerlo dejando una propina a partir de 1 $ desde PayPal:
O, si te sientes especialmente generoso, invitándonos a un café:
¡Gracias!