Platzi
Platzi

Suscríbete a Expert y aprende de tecnología al mejor precio anual.

Antes:$249
$209
Currency
Antes:$249
Ahorras:$40
COMIENZA AHORA
1

Preparación de Apache en CentOS 7 previo a instalar Nagios

A diferencia de sistemas basados en Debian como Ubuntu Server y su gestor de paquetes DEB o su instalador de repositorio APT. CentOS basado en Red Had, opera diferente, ya que su gestor de paquetes es RPM y su instalador de repositorios es YUM.

Una diferencia notoria es la instalación de Apache, mientras que en Ubuntu server usamos

$ sudo apt install apache2

Se procederá con la instalación de Apache server y vendrá con sus respectivos repositorios preconfigurados

/etc/apache2/sites-avialable
 /etc/apache2/sites-enabled

En CentOS será diferente e incluso estos directorios deberemos crearlos nosotros para tener una pre-configuración de Nagios correcta, habiendo dicho esto comencemos:

Luego de descargar el paquete de Nagios, con el comando wget:

wget https:// assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.4.tar.gz -o nagioscore.tar.gz

Y descomprimirlo en su respectivo directorio con el comando tar xzvf nagioscore.tar.gz

  1. Instalación de httpd (Apache Web Server)
	sudo yum update httpd
    	sudo yum install httpd
  1. Configuramos el puerto 80 por medio de firewalld, para permitirle a Apache los request de HTTP
	sudo firewall-cmd --permanent --add-service=http
    	sudo firewall-cmd --permanent --add-service=https
    	sudo firewall-cmd –reload
  1. Reinicimos los servicios y verificamos los estados de Apache
    sudo systemctl start httpd
    sudo systemctl enable httpd
    sudo systemctl status httpd	
  1. instalamos un navegador web en cli para ver el estado de nuestra configuración por default de Apache
    sudo yum install lynx
lynx “http://your_server_ip” */( probar desde browser la dirección IP de tu maquina)*/
2021-03-15_18h53_49.png
  1. Configurar Virtual Host, creando los directorios y asignando permisos al usuario correspondiente con la variable de entorno $USER
    sudo mkdir -p /var/www/example.com/html
    sudo mkdir -p /var/www/example.com/log
    sudo chown -R $USER:$USER /var/www/example.com/html
    sudo chmod -R 755 /var/www
    sudo vi /var/www/example.com/html/index.html

Creamos un HTML con el siguiente contenido para el index:

<title>Welcome to <a href="http://Example.com" rel="nofollow noopener" target="_blank">Example.com</a>!</title>

# Success! The [example.com](http://example.com) virtual host is working!

sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled
sudo vi /etc/httpd/conf/httpd.conf (colocar esto al final del archivo: IncludeOptional sites-enabled/*.conf)

2021-03-15_20h05_25.png
sudo vi /etc/httpd/sites-available/example.com.conf

Agregamos el contenido del archivo de configuración

<virtualhost *:80="">ServerName [//www.example.com//](//www.example.com//)
ServerAlias [example.com](http://example.com)
DocumentRoot /var/www/example.com/html
ErrorLog /var/www/example.com/log/error.log
CustomLog /var/www/example.com/log/requests.log combined</virtualhost>

Creamos un enlace simbólico desde : /etc/httpd/sites-available/example.com.conf
hacia: /etc/httpd/sites-enabled/example.com.conf

sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf
2021-03-15_20h51_51.png
  1. Ajustando los permisos SELinux del Virtual Host
    sudo setsebool -P httpd_unified 1 (definir las políticas globales de Apache)
    sudo ls -dZ /var/www/example.com/log/

Se verifica el contenido del directorio, generando la siguiente salida:

drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/example.com/log/, httpd_sys_content_t

(De manera predeterminada le indica los procesos de apache que solo puede leer achivos del directorio /var/www/example.com/log/)

sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?"

(Se modifica el directorio /var/www/example.com/log/ que se utiliza predeterminado, y en vez utilizar httpd_log_t)

sudo restorecon -R -v /var/www/example.com/log

Podremos observar que la salida del comando, es el siguiente:

restorecon reset /var/www/example.com/log context unconfined_u:object_r:httpd_sys_content_t:s0->unconfined_u:object_r:httpd_log_t:s0
sudo ls -dZ /var/www/example.com/log/ 

Podremos observar que la salida del comando, es el siguiente:
Se observa que el /var/www/example.com/log/ ya no es la predeterminado sino más bien httpd_log_t

2021-03-15_21h41_31.png
  1. Probando el Virtual Host
    sudo systemctl restart httpd
    ls -lZ /var/www/example.com/log

(vemos que se crean los archivos error.log y requests.log)

  1. Verificamos por el cli browser que la configuración fue exitosa
    lynx [http://example.com](http://example.com)
2021-03-15_21h46_13.png

Luego podremos continuar con la configuración habitual de Nagios con

  sudo ./configure --with-https-conf=/etc/httpd/sites-enabled
Escribe tu comentario
+ 2