Cacti es una solución de gráficos de red gratuita y de código abierto. Utiliza RRDTool para la recopilación de datos y gráficos. Proporciona muchas funciones, como recopiladores de datos remotos y locales, descubrimiento de redes, automatización de la gestión de dispositivos, plantillas de gráficos, etc.
En este tutorial, instalaremos Cacti en el servidor CentOS 7.
Requisito previo
- Servidor CentOS 7 mínimo
- Privilegios de raíz
Paso 1:Instalación de Apache
Se recomienda actualizar el servidor antes de instalar cualquier paquete para que se actualicen los paquetes y repositorios existentes.
yum -y update
Una vez que haya actualizado su sistema, puede proceder a instalar el servidor web Apache.
yum -y install httpd
Ahora inicie el servidor web Apache y habilítelo para que se inicie en el momento del arranque con el siguiente comando.
systemctl start httpd
systemctl enable httpd
Paso 2 - Instalación de PHP
Cacti admite todas las versiones de PHP superiores a 5.3. Pero en este tutorial, instalaremos PHP 7.1 ya que PHP v5.3 ha llegado al final de su vida útil. La instalación de la última versión de PHP garantizará la máxima seguridad y rendimiento de la aplicación.
El repositorio YUM predeterminado de CentOS no tiene incluido PHP 7.1, por lo tanto, deberá agregar el repositorio Webtatic en su sistema. El repositorio Webtatic requiere el repositorio EPEL para funcionar. Ejecute el siguiente comando para instalar el repositorio EPEL.
yum -y install epel-release
yum -y update
Escriba los comandos para instalar el repositorio de Webtatic.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update
Escriba el siguiente comando para instalar PHP 7.1 junto con todas las dependencias requeridas.
yum -y install php71w php71w-snmp php71w-mysqli php71w-cli php71w-ldap php71w-xml php71w-session php71w-sockets php71w-pcre php71w-gd php71w-dom php71w-posix php71w-mbstring
Para verificar si PHP se instaló correctamente, puede ejecutar:
php -v
Deberías obtener un resultado similar a este.
[[email protected] ~]# php -v PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
Ahora deberá configurar algunas configuraciones en PHP. Abra el archivo de configuración de PHP, php.ini usando su editor de texto favorito. En este tutorial, usaremos el editor nano. Si no tiene nano instalado, puede ejecutar yum -y install nano.
nano /etc/php.ini
Busque la siguiente línea y elimine el comentario de la línea y configure la zona horaria de acuerdo con su región. Por ejemplo:
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Kolkata
Paso 3:Instalación de MariaDB
MariaDB es una bifurcación de la base de datos MySQL. Para instalar MariaDB en su servidor, ejecute:
yum -y install mariadb mariadb-server
Ejecute los siguientes comandos para iniciar MariaDB y permitir que se inicie en el momento del arranque.
systemctl start mariadb
systemctl enable mariadb
Ahora ejecute los siguientes comandos para asegurar su instalación de MariaDB.
mysql_secure_installation
El comando anterior ejecutará un script para asegurar una nueva instalación de MariaDB. El script le pedirá la contraseña de usuario root existente, acabamos de instalar MariaDB, la contraseña de root no está configurada, solo presione enter para continuar.
El script le preguntará si desea establecer una contraseña de root para su instalación de MariaDB, elija y y establezca una contraseña segura para la instalación. La mayoría de las preguntas se explican por sí mismas y debe responder sí o y a todas las preguntas. La salida se verá como se muestra a continuación.
Para crear una base de datos, primero debemos iniciar sesión en la línea de comandos de MySQL. Ejecute el siguiente comando para lo mismo.
mysql -u root -p
El comando anterior iniciará sesión en el shell de MySQL del usuario raíz, solicitará la contraseña del usuario raíz. Proporcione la contraseña para iniciar sesión. Ahora ejecute la siguiente consulta para crear una nueva base de datos para su instalación de Cacti.
CREATE DATABASE cacti_data;
La consulta anterior creará una nueva base de datos llamada cacti_data. Puede usar cualquier otro nombre para su base de datos si lo desea. Asegúrese de utilizar un punto y coma al final de cada consulta, ya que la consulta siempre termina con un punto y coma.
Una vez que se crea la base de datos, puede crear un nuevo usuario y otorgar todos los permisos al usuario para la base de datos. Para crear un nuevo usuario de base de datos, ejecute la siguiente consulta.
CREATE USER 'cacti_user'@'localhost' IDENTIFIED BY 'StrongPassword';
La consulta anterior creará un usuario con el nombre de usuario cacti_user. Puede usar cualquier nombre de usuario que prefiera en lugar de cacti_user. Reemplace StrongPassword con una contraseña muy segura. Ahora proporcione todos los privilegios al usuario de su base de datos sobre la base de datos que ha creado. Ejecute el siguiente comando.
GRANT ALL PRIVILEGES ON cacti_data.* TO 'cacti_user'@'localhost';
Ahora ejecute el siguiente comando para aplicar inmediatamente los cambios en los privilegios de la base de datos.
FLUSH PRIVILEGES;
Salga del indicador de MySQL usando el siguiente comando.
EXIT;
También deberá completar la tabla de zonas horarias. Ejecute el siguiente comando para completar las tablas de zonas horarias.
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Proporcione la contraseña raíz de MySQL para continuar. Una vez que las tablas estén llenas, deberá proporcionar acceso selecto a la cuenta de usuario de Cacti sobre las tablas. Inicie sesión en el indicador de MySQL nuevamente usando:
mysql -u root -p
Ahora ejecuta la siguiente consulta.
GRANT SELECT ON mysql.time_zone_name TO 'cacti_user'@'localhost';
FLUSH PRIVILEGES;
La consulta anterior SELECCIONA dará acceso a cacti_user en
Paso 4:Instalación y configuración de Cacti
Los cactus requieren algunas dependencias más, ejecuta el siguiente comando para instalarlos.
yum -y install net-snmp rrdtool net-snmp-utils
Como tenemos todas las dependencias listas, ahora podemos descargar el paquete de instalación desde el sitio web de Cacti.
cd /var/www/html
wget http://www.cacti.net/downloads/cacti-1.1.10.tar.gz
Siempre puede encontrar el enlace a la última versión de la aplicación en la página de descarga de Cacti. Extrae el archivo usando el siguiente comando.
tar xzvf cacti*.tar.gz
Cambie el nombre de su carpeta Cacti usando:
mv cacti-1*/ cacti/
Ahora importe la base de datos Cacti ejecutando el siguiente comando.
cd /var/www/html/cacti
mysql cacti_data < cacti.sql -u root -p
El comando anterior importará la base de datos cacti.sql a cacti_data usando la raíz del usuario. También le pedirá la contraseña del usuario root antes de importar la base de datos.
Ahora edite la configuración de Cacti ejecutando el siguiente comando.
nano /var/www/html/cacti/include/config.php
Ahora busque las siguientes líneas y edítelas según las credenciales de su base de datos MySQL.
/* make sure these values reflect your actual database/host/user/password */ $database_type = 'mysql'; $database_default = 'cacti_data'; $database_hostname = 'localhost'; $database_username = 'cacti_user'; $database_password = 'StrongPassword'; $database_port = '3306'; $database_ssl = false;
Paso 5:Configurar permisos y firewall
Ahora deberá proporcionar la propiedad de la aplicación al usuario del servidor web mediante el siguiente comando.
chown -R apache:apache /var/www/html/cacti
Es posible que también deba permitir el tráfico HTTP en el puerto 80 a través del firewall si está ejecutando uno. Ejecute los siguientes comandos para el mismo.
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
Ahora deberá deshabilitar su SELinux porque la configuración de Proxy no funciona con las políticas de SELinux. Para deshabilitar temporalmente SELinux sin reiniciar el servidor, ejecute el siguiente comando.
setenforce 0
Para deshabilitar completamente SELinux, deberá editar el archivo /etc/selinux/config.
nano /etc/selinux/config
Busque la siguiente línea:
SELINUX=enforcing
Cámbialo por:
SELINUX=disabled
Ahora complete la instalación usando un navegador web, vaya al siguiente enlace usando su navegador web favorito.
http://Your_Server_IP/cacti
Verá la siguiente página.
Acepte el acuerdo de licencia para continuar.
En la siguiente interfaz, verá la preinstalación, se cumplen todas las dependencias requeridas.
Pasar a la siguiente interfaz.
En el tipo de instalación, elija Nuevo servidor principal y continúe a continuación.
En la siguiente interfaz, deberá proporcionar las ubicaciones a los archivos binarios. La ruta a los archivos binarios RRDTool y PHP es correcta. Para todos los demás binarios, proporcione la ruta /usr/bin/binary_name. Por ejemplo, para el binario snapwalk, la ruta es /usr/bin/snmpwalk.
En la siguiente interfaz, verá que el servidor tiene acceso de escritura a todas las carpetas requeridas.
En la configuración de la plantilla, elija Máquina Linux local y haga clic en Finalizar.
Usted será llevado a la página de acceso. Inicie sesión con el nombre de usuario admin y la contraseña admin, lo llevarán al panel de control.
La instalación de Cacti ya ha finalizado, puede usar la aplicación para monitorear su servidor usando gráficos interactivos.