Instalación Zabbix 4.4 sobre CentOS 8 Autor: Ing. Msc Jaider Ospina Navas. 2020 1. Prerrequisitos: Instalación de PHP y Server WEB -Apache. $sudo yum update $sudo yum install httpd -y $sudo yum -y install php php-cli php-common php-devel php-pear php-gd php-mbstring php-mysqlnd php-xml php-bcmath Iniciar Apache $sudo systemctl enable httpd && systemctl start httpd Configurar PHP. Antes de proseguir se deben setear algunas variables en la configuración de PHP las cuales se encuentran en el archivo php.ini ubicado en la ruta /etc/php.ini . Estas deben quedar con los valores observados en la imagen: max_execution_time = 600 max_input_time = 600 memory_limit = 256M post_max_size = 32M upload_max_filesize = 16M Y proceder a reiniciar apache para que los cambios sean tomados por el sistema. systemctl restart httpd 2. Instalación de Zabbix. Preparación del repositorio: Zabbix no hace parte de los repositorios oficiales de CentOS por lo que se deberá proceder a su instalación: $sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release4.4-1.el8.noarch.rpm Hecho esto ya se puede realizar su instalación mediante YUM (Yellow dog Updater Modified). $sudo yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbixapache-conf Edición el zona horaria en el FrondEnd de Zabbix. Editar la zona horaria en el archivo zabbix.conf ubicado en /etc/php-fpm.d/zabbix.conf. $sudo vi /etc/php-fpm.d/zabbix.conf Y cambiar el valor de php_value[date.timezone a : php_value[date.timezone] = America/Bogota Editar el archivo de configuración del servidor zabbix. Se debe editar el password de la base de datos para zabbix sobre el archivo de configuración del servidor llamado como zabbix_server.conf y ubicado en la ruta /etc/zabbix/ # vi /etc/zabbix/zabbix_server.conf Y aseguramos de que las siguientes variables se encuentren setadas cono los valores adecuados: DBHost=localho st DBName=zabbi x DBUser=zabbix DBPassword=Password_su_password NOTA: Estos valores se introdujeron al momento de crear la base de datos en Mariadb. Configuración de SElinux Zabbix requiere que SElinux le permita acceder tanto a Apache como a la base de datos, por lo que se debe configurar esto en el sistema mediante comando setsebool el cual activa o desactiva Booleanos, la opción -P es para hacer los cambios. #setenforce 0 #sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config Para que los cambios sean tomados reinicie apache. #service httpd restart Habilite el servicio sobre el firewallD. # firewall-cmd --permanent --addservice=http success # firewall-cmd --permanent --zone=public --add-port=10051/tcp success # firewall-cmd --permanent --zone=public --add-port=10050/tcp success # firewall-cmd --reload success 3. Instalación del motor de base de datos. Zabbix puede trabajar con varios motores de base de datos entre ellos MYSQL, mariadb, PostgreSQL, SQLite y Oracle. En esta guía se trabajará con mariadb. Realice la instalación mediante yum. $sudo yum -y install mariadb-server mariadb Al igual que con la mayoría de las aplicaciones es necesario iniciar el servicio e indicarle al sistema que lo levante con el inicio. $sudo systemctl enable mariadb && systemctl start mariadb Aseguramiento . Mariadb proporciona un script para el aseguramiento de su instalación, donde se asigna el password de root, se consulta la remoción o no de los usuarios anónimos, el acceso remoto a root, el borrado de las base de datos de ejemplo que contiene entre otros. Para se debe ejecutar desde consola el comando mysql_secure_installation. #mysql_secure_installation NOTA: Por tratarse de la primera vez que se inicializa el motor de base de datos aún no existe password de root, por lo que se deja el espacio en blanco y se confirma el deseo de setear esta contraseña. Culminado esto ya se puede proceder a la ceración de la base de datos requerida por zabbix. Creación de la base de datos. Ingreso a mariadb; se nos solicitará la contraseña del usuario root seteada durante el aseguramiento de la instalación de mariadb ( no se trata de nuestro usuario root del sistema!). #mysql -u root -p Y ejecute las siguientes sentencias en la Shell de mariadb. Creación de la base de datos: MariaDB [(none)]> CREATE DATABASE zabbix CHARACTER SET utf8; Otorgamiento de privilegios al usuario zabbix sobre la base de datos “zabbix”. MariaDB [(none)]> GRANT ALL PRIVILEGES ON 'zabbix'@'localhost' IDENTIFIED BY 'PASSWORD'; zabbix.* TO Refresque y salga de mariadb. MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit; Acto seguido se deberá exportar el esquema inicial y los datos de inicialización de zabbix. Estos se encuentran en el directorio /usr/share/doc/zabbix-server-mysql-3.4.15/ (puede cambiar el nombre concreto dependiendo de la versión instalada por usted!) contenidos en el comprimido “create.sql.gz” como se puede apreciar en su salida por terminal. # cd /usr/share/doc/zabbix-server-mysql/ # ls AUTHORS ChangeLog COPYING create.sql.gz NEWS README Ubicados sobre el directorio ejecute zcat para poblar la base de datos creada previamente para zabbix. El comando le solicitará el password del usuario “zabbix” creado durante la creación de la base de datos. #zcat create.sql.gz | mysql –u zabbix -p zabbix La ejecución de la anterior orden demora varios segundos mientras crea el esquema y pobla la base de datos. NOTA: En caso de que le arroje el siguiente problema (ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES) ) asegúrese de usar el password del usuario zabbix y no el de root. Inicio de servicios: #systemctl restart zabbix-server zabbix-agent httpd php-fpm Habilitación de los servicios para iniciar con el sistema: #systemctl enable zabbix-server zabbix-agent httpd mariad 4. Iniciar Zabbix. En este punto resta iniciar el frondend de zabbix y configurar parámetros de inicialización. Ingrese en su browser http://ip_servidor/zabbix , debiendo verse una interfaz similar a la ilustrada. Esta corresponde a la interfaz de bienvenida; de click en la parte inferior en “Next Step”, desplegando el sistema la ventana de evaluación de prerrequisitos, los cuales deberán encontrasen todos en estado “ok” de lo contrario se debe ajustar el requisito faltante!. Una vez más de click en “Next step”. La nueva interfaz corresponde a la configuración de conexión a la base de datos. Seleccione el motor de base de datos empleado, el host ( por defecto dejar localhost a no ser que se trate de una conexión a un server remoto), el nombre con que nombró la base de datos destinada a zabbix, el usuario creado y el password de este ( en este manual se empleo como nombre de base de datos zabbix y el password PASSWORD). En la siguiente interfaz se deben conservar los valores por defecto a no ser que usted halla cambiado el puerto por defecto¡ . La siguiente interfaz corresponde al resumen de la instalación, valide que todo se encuentre según lo planificado. De click en “Next step”. Finalmente ya se despliega la interfaz de autenticación al sistema, siendo el usuario administrador admin y el password zabbix por defecto. Referencias http://yallalabs.com/linux/how-to-install-zabbix-3-4-server-on-centos-7-rhel-7/ https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-zabbix-tosecurely-monitor-remote-servers-on-centos-7 https://www.howtoforge.com/tutorial/centos-zabbix-system-monitoring/ https://www.zabbix.com/forum/ https://www.itzgeek.com/how-tos/linux/centos-how-tos/how-to-install-zabbix-server-oncentos-8-rhel-8.html