Cómo montar un servidor de monitorización usando Pandora FMS sobre equipo con Linux Ubuntu Server 22. Cómo instalar Pandora FMS Console (consola de gestión web de Pandora, montando un servidor LAMP en Ubuntu Server con MySQL/MariaDB + Apache + PHP). Cómo descargar e instalar Pandora FMS Server desde el respositorio github de Pandora en Linux Ubuntu Server 22.
- Requisitos para montar sistema de monitorización con Pandora FMS en Linux Ubuntu Server 22.
- Descargar e instalar Pandora FMS Server desde repositorio github de Pandora en Linux Ubuntu Server 22.
- Instalar consola de gestión web Pandora FMS Console.
Requisitos para montar sistema de monitorización con Pandora FMS en Linux Ubuntu Server 22
Únicamente necesitaremos un equipo con Linux Ubuntu Server. En el siguiente enlace explicamos cómo montar una máquina virtual con Linux Ubuntu Server 22:
Dicho equipo deberá disponer de conexión a Internet para la descarga e instalación de Pandora FMS Server.
El equipo es recomendable que esté actualizado a la última versión de paquetes y sistema operativo. Podemos hacerlo con los comandos:
1 2 |
sudo apt update -y sudo apt upgrade -y |
Instalar dependencias para Pandora FMS Server
Instalaremos las dependencias (paquetes) necesarios para la ejecución de Pandora FMS Server, mediante el comando:
1 |
sudo apt install snmp snmpd libnet-telnet-perl libgeo-ip-perl libtime-format-perl libxml-simple-perl libxml-twig-perl libdbi-perl libnetaddr-ip-perl libhtml-parser-perl xprobe2 nmap libmail-sendmail-perl traceroute libio-socket-inet6-perl libhtml-tree-perl libsnmp-perl snmp-mibs-downloader libio-socket-multicast-perl libsnmp-perl libjson-perl -y |
Instalar MySQL + Apache + PHP (servidor LAMP) en Ubuntu Server para Pandora FMS Server y Pandora FMS Console
Pandora FMS Server trabaja sobre base de datos MySQL/MariaDB, por lo que necesitaremos instalar un servidor MySQL/MariaDB. Además, la gestión y administración web del sistema la realiza mediante servidor web Apache y PHP. Por ello, necesitaremos instalar MySQL/MariaDB, Apache y PHP en el equipo Linux Ubuntu Server. Realizaremos esta tarea con el comando:
1 |
sudo apt install apache2 mariadb-server php php-common php-gmp php-curl php-mbstring php-xmlrpc php-mysql php-gd php-bcmath php-xml php-cli php-zip php-pear php-zip php-sqlite3 php-snmp php-db graphviz php-curl php-ldap dbconfig-common unzip git -y |
Realizaremos la siguiente configuración en PHP, editando el fichero /etc/php/8.1/apache2/php.ini con:
1 |
sudo nano /etc/php/8.1/apache2/php.ini |
Modificaremos los siguientes parámetros con el siguiente valor:
1 2 3 4 |
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 max_input_vars = 2000 |
Y guardaremos los cambios pulsando Control + O, cerrando la edición con Control + X:
Configuraremos la seguridad de acceso a MySQL/MariaDB ejecutando el comando:
1 |
sudo mysql_secure_installation |
Que nos pedirá algunos datos como:
- Switch to unix_socket authentication: responderemos «yes».
- Change the root password?: responderemos «yes» e introduciremos la contraseña para el usuario root de MySQL/MariaDB.
- Remove anonymous users?: responderemos «yes».
- Disallow root login remotely?: si queremos permitir el acceso remoto con el usuario root (esto no es recomendable) responderemos «no».
- Remove test database and access to it?: responderemos «yes» para eliminar la base de datos de prueba.
- Reload privilege tables now?: responderemos «yes» para recargar los privilegios.
Reiniciaremos el servicio de MySQL/MariaDB para aplicar los cambios con:
1 |
systemctl restart mariadb |
Accederemos a MySQL/MariaDB para verificar que funciona correctamente y para crear la BD de Pandora, con:
1 |
mysql -u root -p |
Nos solicitará la contraseña del usuario root, introducida anteriormente.
Crearemos la base de datos de Pandora FMS y asignaremos permisos de acceso a esta BD al usuario «pandora» con los comandos:
1 2 3 |
create database pandora; grant all privileges on pandora.* to pandora@'localhost' identified by 'pandora'; flush privileges; |
Salimos de mysql con:
1 |
exit; |
Editaremos el fichero de configuración de MySQL/MariaDB con:
1 |
sudo nano /etc/mysql/my.cnf |
Añadiendo (si no existen) las siguientes líneas:
1 2 |
[mysqld] sql_mode=NO_ENGINE_SUBSTITUTION |
Reiniciaremos el servicio de MySQL/MariaDB para aplicar los cambios:
1 |
sudo systemctl restart mariadb |
Con esto ya tendremos preparado el servidor Linux Ubuntu Server para instalar Pandora FMS Server.
Descargar e instalar Pandora FMS Server desde repositorio github de Pandora en Linux Ubuntu Server 22
En primer lugar vamos a descargar del repositorio completo github de Pandora, que contendrá todos los ficheros necerios para la instalación de Pandora FMS Server, Pandora FMS Agent y Pandora FMS Console. Para ello accederemos a la carpeta tmp con:
1 |
cd /tmp |
Y ejecutaremos el siguiente comando, que conectará con github y descargará el paquete completo de Pandora FMS (agente, servidor, web de gestión):
1 |
sudo git clone https://github.com/pandorafms/pandorafms.git |
El proceso tardará unos minutos, una vez concluido nos habrá creado la carpeta /tmp/pandorafms, accedemos a ella y mostramos el contenido:
1 2 |
cd /tmp/pandorafms ls -lah |
Podremos observar que tenemos las carpetas:
- pandora_agents: para instalación del agente (cliente) Pandora Agent.
- pandora_console: para instalación del gestor web Pandora Console.
- pandora_plugins: plugins útiles.
- pandora_server: Pandora Server, servidor de Pandora FMS.
En primer lugar, empezaremos por instalar Pandora FMS Server, el servidor base de Pandora. Será el encargado de recolectar los eventos de los distintos módulos (sondas, sensores) de los agentes (servidores, equipos, dispositivos) de nuestra organización. Para ello accederemos a la carpeta descargada /tmp/pandorafms/pandora_server
1 |
cd /tmp/pandorafms/pandora_server |
Para instalar Pandora FMS Server ejecutaremos el comando:
1 |
sudo ./pandora_server_installer --install |
Si nos devuelve el error:
/pandora_server_installer: 248: make: not found
Deberemos instalar el paquete build-essential, que contiene la herramienta make, necesaria para la instalación de Pandora FMS Server, con:
1 |
sudo apt install build-essential |
Se instalará y se iniciará el servicio de Pandora FMS Server, en nuestro caso la versión 7.0NG 765:
Accederemos al fichero de configuración de Pandora FMS Server, con:
1 |
sudo nano /etc/pandora/pandora_server.conf |
Para establecer el usuario, contraseña y base de datos MySQL/MariaDB para Pandora FMS:
dbengine mysql
dbname pandora
dbuser pandora
dbpass pandora
dbhost 127.0.0.1
Introduciremos los datos de conexión a la base de datos creada anteriormente para Pandora.
Aprovecharemos la edición de este fichero para personalizar cualquier configuración del servidor de Pandora FMS que deseemos. Guardaremos los cambios y reiniciaremos el servicio de Pandora FMS Server para que se apliquen:
1 |
sudo systemctl restart pandora_server |
También habrá quedado iniciado el servicio tentacle, que es el que usa Pandora FMS para recibir los datos de los diferentes agentes:
1 |
sudo systemctl status tentacle_serverd.service |
Instalar consola de gestión web Pandora FMS Console
Puesto que ya tenemos descargados los ficheros necearios para Pandora FMS Console, en la carpeta /tmp/pandorafms/pandora_console, moveremos esta carpeta a /var/www/html/pandorafms. En primer lugar crearemos la carpeta destino con:
1 |
sudo mkdir /var/www/html/pandorafms |
Y la moveremos con:
1 |
mv /tmp/pandorafms/pandora_console /var/www/html/pandorafms |
Establecemos los permisos para las carpetas del servidor web descargadas con:
1 2 3 |
sudo chown www-data:www-data -R /var/www/html/pandorafms/pandora_console/* sudo find /var/www/html/pandorafms/pandora_console -type f -exec chmod 644 {} \; sudo find /var/www/html/pandorafms/pandora_console -type d -exec chmod 755 {} \; |
Editaremos el fichero /var/www/html/pandorafms/pandora_console/include/config.inc.php para establecer la base de datos, usuario y contraseña de MySQL para Pandora FMS Console:
1 |
sudo nano /var/www/html/pandorafms/pandora_console/include/config.inc.php |
Estableceremos los siguientes parámetros en el fichero:
1 2 3 4 5 6 |
$config["dbtype"] = "mysql"; $config["mysqli"] = true; $config["dbname"]="pandora"; $config["dbuser"]="pandora"; $config["dbpass"]="pandora"; $config["dbhost"]="localhost"; |
Añadiremos estos parámetros (si no existen) al fichero y guardaremos los cambios:
Pandora FMS Console usa el fichero config.php en lugar del config.inc.php, por lo tanto haremos una copia del fichero anterior a otro llamado config.php, con:
1 |
sudo cp /var/www/html/pandorafms/pandora_console/include/config.inc.php /var/www/html/pandorafms/pandora_console/include/config.php |
Si dejamos el fichero config.php con los permisos siguientes:
-rwxrwxr-x 1 www-data www-data 2,4K oct 7 06:19 config.php
Al acceder a la consola web de pandora FMS nos mostrará el error:
Bad permission for include/config.php For security reasons, config.php must have restrictive permissions, and «other» users should not read it or write on it. It should be written only by the owner (usually www-data or http daemon user). Normal operation is not possible until you change permissions for include/config.php file. Please do it, it is for your security.
Y no nos dejará acceder. Para solucionar este error, modificaremos los permisos del fichero config.php con el comando:
1 |
sudo chmod 644 /var/www/html/pandorafms/pandora_console/include/config.php |
Si no hacemos esta copia, al acceder a Pandora FMS Console, nos mostrará este error:
1 2 3 |
Warning: require_once(/var/www/html/pandorafms/pandora_console/include/config.php): Failed to open stream: No such file or directory in /var/www/html/pandorafms/pandora_console/include/global_config.php on line 7 Fatal error: Uncaught Error: Failed opening required '/var/www/html/pandorafms/pandora_console/include/config.php' (include_path='.:/usr/share/php') in /var/www/html/pandorafms/pandora_console/include/global_config.php:7 Stack trace: #0 /var/www/html/pandorafms/pandora_console/vendor/composer/autoload_real.php(55): require() #1 /var/www/html/pandorafms/pandora_console/vendor/composer/autoload_real.php(38): composerRequire94a17e624d873685991e8ae888e00eb9() #2 /var/www/html/pandorafms/pandora_console/vendor/autoload.php(16): ComposerAutoloaderInit94a17e624d873685991e8ae888e00eb9::getLoader() #3 /var/www/html/pandorafms/pandora_console/index.php(41): require('...') #4 {main} thrown in /var/www/html/pandorafms/pandora_console/include/global_config.php on line 7 |
Configuramos VirtualHost de Apache, creando el fichero /etc/apache2/sites-available/pandora.conf:
1 |
sudo nano /etc/apache2/sites-available/pandora.conf |
Añadiremos las siguientes líneas:
1 2 3 4 5 6 7 8 9 10 |
<VirtualHost *:80> ServerAdmin admin@example.com ServerName localhost DocumentRoot /var/www/html/pandorafms/pandora_console <Directory /var/www/html/pandorafms/pandora_console> AllowOverride All </Directory> ErrorLog /var/log/apache2/error.log CustomLog /var/log/apache2/access.log combined </VirtualHost> |
Activaremos el sitio web en Apache con:
1 |
sudo a2ensite pandora |
Reiniciamos Apache para aplicar los cambios:
1 |
sudo systemctl restart apache2 |
Desde un navegador web en un equipo con la misma red que el servidor Linux Ubuntu, accederemos a la URL:
http://192.168.1.12/pandorafms/pandora_console/install.php
(Cambiando la IP 192.168.1.12 por la del servidor Linux Ubuntu Server)
Se iniciará el asistente de instalación de la base de datos de Pandora FMS. Pulsaremos «Next»:
Leeremos los términos de licencia y pulsaremos «Yes, I accept licence terms»:
El asistente de instalación de Pandora FMS comprobará si tenemos todas las dependencias necesarias instaladas. Si es así nos dejará continuar pulsando «Next»:
Introduciremos los datos de conexión a la base de datos MySQL/MariaDB creada anteriormente:
- DB Engine: MySQL(mysqli)
- Installatin in: An existing Database.
- DB User with privileges: root.
- DB Password for this user: contraseña root.
- DB Hostname: localhost.
- DB Name: pandora.
- Drop Database if exists: no lo marcaremos.
- Full path to HTTP publication directory: dejaremos el valor de defecto, /var/www/html/pandorafms/pandora_console.
- URL path to Pandora FMS Console: dejaremos el valor de defecto, /pandorafms/pandora_console.
El proceso de creación de tablas y demás configuración de Pandora FMS se iniciará. El asistente mostrará el resultado de queda paso:
Si ha generado una contraseña aleatoria para el usuario «pandora» la anotaremos para establecerla en el fichero de configuración. En nuestro caso hemos modificado el fichero install.php para que no genere dicha contraseña y para que no cambie la contraseña del usuario «pandora».
La instalación de la consola de Pandora FMS habrá concluido:
Por seguridad es conveniente eliminar el fichero install.php:
1 |
rm /var/www/html/pandorafms/pandora_console/install.php |
Si ha generado la contraseña aleatoria para el usuario «pandora», deberemos editar el fichero /var/www/html/pandorafms/pandora_console/include/config.php, igual que hemos hecho anteriormente, y en el parámetro $config[«dbpass»] establecer la nueva contraseña, quedando:
1 |
$config["dbpass"]="nueva_contraseña"; |
A partir de ahora, si todo es correcto, podremos acceder a Pandora FMS Console (gestión web de Pandora), introduciendo la URL:
http://192.168.1.12/pandorafms/pandora_console/
(cambiando 192.168.1.12 por la IP del servidor Linux Ubuntu)
Nos mostrará el inicio de sesión en Pandora FMS Console. El usuario por defecto será «admin», la contraseña «pandora»: