Siguiendo con este post de la semana pasada en el que os indicaba como realizar la instalación de un servidor Centos, hoy vamos con un manual sobre la instalación de Cacti en Centos. Cacti es un sistema de monitorización de servicios basado en SNMP orientado a la generación de estadísticas gráficas. Podéis encontrar mas información sobre Cacti en su pagina oficial Aquí.
Para comenzar la instalación, nos conectamos a nuestro servidor por SSH, nos logamos en el con el usuario Root, y comenzamos instalando los prerrequisitos del sistema:
- yum install -y mysql-server mysql-devel php-mysql php-devel php php-snmp httpd net-snmp net-snmp-devel net-snmp-utils rrdtool rrdtool-devel ruby-rrdtool gcc make wget
Wget no es un prerrequisito en si, pero nos hará falta mas adelante para descargar el programa. Una vez que haya finalizado la instalación de los prerrequisitos, nos colocamos en el directorio root, descargamos la última versión de cacti de la pagina web y la descomprimimos:
- cd /root/ ; wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz ; tar -xvf /root/cacti-0.8.8a.tar.gz
Una vez hecho esto, dejamos momentáneamente el software de Cacti, y pasamos a configurar mysql. Para ello, primero arrancamos el servicio y lo configuramos para que arranque al inicio del sistema:
- service mysqld start ; chkconfig mysqld on
Ejecutamos el asistente de configuración inicial de SQL para cambiar la contraseña de root de SQL. En cuanto a las preguntas sobre seguridad, podemos decir a todo que si sin problemas:
- mysql_secure_installation
Creamos el usuario cacti en el sistema, lo configuramos para que no se pueda iniciar sesión con el y para que sea miembro del grupo Apache:
- useradd -s /sbin/nologin -M -N -G apache cacti
Modificamos su contraseña con el comando:
- passwd cacti
Creamos e importamos la base de datos de cacti en mysql, para ello, modificaremos el fichero cacti.sql con la configuración de nuestro equipo y lo importaremos en el servidor SQL. Este paso es muy importante, repasadlo bien antes de ejecutarlo y modificad lo que sea necesario, password, rutas, etc.:
- sed -i -e '1i USE cacti;' /root/cacti-0.8.8a/cacti.sql ; sed -i -e '1i CREATE DATABASE cacti;' /root/cacti-0.8.8a/cacti.sql ; echo "CREATE USER cacti;" >> /root/cacti-0.8.8a/cacti.sql ; echo "GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'Passw0rd’;" >> /root/cacti-0.8.8a/cacti.sql ; mysql -u root -p < /root/cacti-0.8.8a/cacti.sql
Si os equivocáis, podéis eliminar el usuario cacti de SQL y la base de datos, ejecutando los siguientes comandos (luego repasáis el fichero y lo ejecutáis otra vez):
- mysql -u root –p
- drop user cacti;
- drop database cacti;
- exit;
Para comprobar que la base de datos se ha creado correctamente, podéis ejecutar los comandos:
- mysql -u root –p
- show databases;
- exit;
Debería aparecer algo así:
Siguiendo la misma regla, comprobamos que el usuario cacti se ha creado correctamente:
- mysql -u root –p
- select * from mysql.user;
- exit;
Una vez configurada la base de datos de cacti en mysql, vamos a mover el directorio cacti que descomprimimos antes, desde la carpeta root hasta el directorio raíz de apache y haremos owner de esta carpeta al usuario cacti y al grupo apache (en este comando, asumimos que el directorio raíz esta por defecto, si se ha modificado, cambiar este comando con la ruta correcta):
- mkdir -p /var/www/html/cacti ; cp -R /root/cacti-0.8.8a /var/www/html/cacti ; chown -R cacti:apache /var/www/html/cacti
Ahora, modificamos la configuración de cacti para que pueda conectarse a la base de datos. Para ello, editamos el fichero config.php que se encuentra en el directorio include de cacti y (para editar con vi, tenemos que pulsar la tecla i y una vez que hayamos terminado de modificar el fichero, pulsamos esc y después crtl+w y crtl+q. Podéis encontrar mas info sobre vi aquí):
- vi /var/www/html/cacti/include/config.php
Modificamos las siguientes líneas:
Una vez hecho esto, y a no ser que hayáis desactivado iptables, hay que abrir el puerto 80 en el firewall para las conexiones entrantes. Para ello, primero tomaremos nota del numero de línea del comando REJECT all en nuestra lista de iptables:
- iptables -L INPUT --line-numbers
El comando anterior, nos mostrara una salida como esta:
En nuestro caso, el comando que descarta las conexiones en nuestro equipo se encuentra en la línea 5. Nuestra regla de permitir trafico en el puerto 80, debe encontrarse con un numero de línea inferior al numero de línea del comando Reject, o este descartara la conexión antes de que nuestro comando pueda permitirla (para mas información sobre el uso de iptables, podéis buscar aquí). Nosotros introduciremos nuestra línea en la posición 4:
- iptables -I INPUT 4 -p TCP -m state --state NEW --dport 80 -j ACCEPT
Una vez introducida la línea anterior, podemos comprobar que todo esta correcto repitiendo el paso:
- iptables -L INPUT --line-numbers
Deberíamos tener algo arecido a esto:
Cuando comprobemos que todo esta bien, tenemos que salvar la configuración de iptables y reiniciar el servicio. Para ello, ejecutaremos los comandos:
- service iptables save; service iptables restart
Ahora, arrancaremos el servicio snmpd y lo configuraremos para que se inicie con el sistema (para cambiar la comunidad SNMP o la configuración del servicio, editaremos el fichero snmp.conf):
- service snmpd start ; chkconfig snmpd on
A continuación, habilitamos php en apache si no estaba hecho ya editando el fichero php.conf que se encuentra en conf.d
- vi /etc/httpd/conf.d/php.conf
Modificamos lo siguiente:
Iniciamos el servicio Apache y lo configuramos para que arranque al inicio del sistema:
- service httpd start ; chkconfig httpd on
Ahora pasamos a la configuración visual. Iniciamos el asistente de configuración de cacti usando un navegador y conectándonos a la ruta: http://IP_servidor/cacti y seguimos los siguientes pasos:
Nos logamos en http://IP_servidor/cacti con el usuario admin y la contraseña admin y cambiamos la contraseña por otra mas segura:
And Weel Done! Hemos finalizado nuestra instalación de cacti.
Comentarios
Publicar un comentario