Instalacion De Zabbix Y Nginx En Debian 10

En esta guía te mostraré paso a paso cómo instalar Zabbix, una potente herramienta de monitorización de redes y sistemas, junto con Nginx como servidor web en un sistema Debian 10. Esta combinación es ideal para tener un entorno robusto para supervisar tu infraestructura IT con un servidor web eficiente y ligero.
¿Qué es Zabbix y por qué usar Nginx?
- Zabbix es una solución open source para monitoreo en tiempo real de servidores, aplicaciones y dispositivos de red.
- Nginx es un servidor web ligero, rápido y eficiente que puede actuar como proxy inverso y servidor HTTP. Perfecto para manejar el frontend de Zabbix con un buen rendimiento.
Requisitos previos
- Un servidor con Debian 10 instalado y acceso root o usuario con privilegios sudo.
- Conexión a internet para descargar paquetes y repositorios.
- Puerto 80 (HTTP) y 443 (HTTPS) abiertos en el firewall (opcional para HTTPS).
Paso 1: Actualizar el sistema
Antes de comenzar, actualiza los paquetes existentes para evitar conflictos.
sudo apt update && sudo apt upgrade -y
Paso 2: Instalar Nginx
Instalamos Nginx para servir la interfaz web de Zabbix.
sudo apt install nginx -y
Verifica que el servicio esté activo:
sudo systemctl status nginx
Si no está activo, arráncalo:
sudo systemctl start nginx
sudo systemctl enable nginx
Paso 3: Instalar y configurar la base de datos MySQL/MariaDB
Zabbix requiere una base de datos. Instalaremos MariaDB:
sudo apt install mariadb-server mariadb-client -y
Protege la instalación:
sudo mysql_secure_installation
Luego, accede a MariaDB para crear la base de datos y usuario Zabbix:
sudo mysql -u root -p
En el prompt de MariaDB ejecuta:
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'zabbixuser'@'localhost' IDENTIFIED BY 'tu_password_segura';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbixuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Paso 4: Agregar el repositorio oficial de Zabbix e instalar el servidor
Descarga e instala el repositorio oficial:
wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+debian10_all.deb
sudo dpkg -i zabbix-release_5.0-1+debian10_all.deb
sudo apt update
Instala Zabbix server, frontend y agente:
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent -y
Paso 5: Importar el esquema de base de datos de Zabbix
Importa las tablas necesarias en la base de datos:
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u zabbixuser -p zabbix
Introduce la contraseña del usuario creado.
Paso 6: Configurar Zabbix Server para la base de datos
Edita el archivo de configuración:
sudo nano /etc/zabbix/zabbix_server.conf
Busca y modifica las líneas:
DBPassword=tu_password_segura
Guarda y cierra el archivo.
Paso 7: Configurar PHP para Zabbix
Edita el archivo de configuración PHP para Zabbix:
sudo nano /etc/zabbix/apache.conf
(En este paso, dado que usaremos Nginx, se configura PHP-FPM)
Instala PHP y extensiones necesarias:
sudo apt install php php-fpm php-mysql php-bcmath php-mbstring php-gd php-xml php-ldap php-zip php-curl -y
Configura PHP-FPM para el tiempo de ejecución y zona horaria:
sudo nano /etc/php/7.3/fpm/php.ini
Ajusta:
max_execution_time = 300
memory_limit = 256M
post_max_size = 16M
upload_max_filesize = 2M
date.timezone = America/Your_City
Reinicia PHP-FPM:
sudo systemctl restart php7.3-fpm
Paso 8: Configurar Nginx para Zabbix
Crea un archivo de configuración para Zabbix en Nginx:
sudo nano /etc/nginx/sites-available/zabbix
Añade el siguiente contenido básico:
server {
listen 80;
server_name tu_dominio_o_ip;
root /usr/share/zabbix;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Activa la configuración y reinicia Nginx:
sudo ln -s /etc/nginx/sites-available/zabbix /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Paso 9: Iniciar y habilitar los servicios Zabbix
sudo systemctl start zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
Paso 10: Acceder al frontend de Zabbix
Abre tu navegador y visita:
http://tu_dominio_o_ip/zabbix
Sigue el asistente web para completar la instalación.