Nueva pregunta

Pregunta:

Fecha: 08-04-2019 03:27:18 (En Español)

Configurar Modulo mpm_itk en Apache2 (libapache2-mpm-itk Ubuntu)[Sin respuesta]

Hola a todos, alguien trabajó/configuró el modulo mpm_itk para Apache2? Lo he podido hacer "funcionar" entre comillas, porque cuando hago un HTOP para ver los procesos de apache este muestra un proceso principal corriendo con el usuario ROOT y subprocesos con WWW-DATA. Cada tanto se crea un nuevo subproceso con el usuario configurado en el modulo mpm_itk, lo que me hace pesar que el ROOT y WWW-DATA mantienen corriendo el apache y las solicitudes al VHOST crean nuevos subprocesos con el usuario correspondiente, hasta ahí "funciona".

Y por que digo "funciona" entre comillas, bueno... al hacer un upload de un archivo la función move_uploaded_file me arroja "... failed to open stream: Permission denied in...", porque se esta ejecutando con WWW-DATA y no con el usuario configurado en el VHOST. Si al directorio destino del move_uploaded_file le doy permisos 777 claro esta que funciona, y crea el archivo con el usuario y grupo WWW-DATA.... ¿no debería ser creado/ejecuatado por el usuario configurado en el mpm_itk? bueno, la falta de documentación me tiene adivinando... espero que alguien me pueda aportar algo de luz aquí.

Para el que no conoce el modulo mpm_itk, les cuento que la idea de este modulo es poder aumentar la seguridad de los VHOST, haciendo que cada uno se ejecute con UIDs/GIDs separados.

Entiendo que mpm_itk es un add-on/extensión del modulo mpm_prefork, por lo que este debe estar activo para que corra mpm_itk (en algunos foros dicen que hay que deshabilitar mpm_prefork, pero no es así).

Esta es la página oficial del modulo: apache2-mpm-itk

Estoy trabajando con la versión de servidor: Apache/2.4.29 (Ubuntu 18.04).

Un resumen de comandos usados:

-- instalar el modulo mpm_itk
sudo apt-get install libapache2-mpm-itk

-- verifico que quedo instalado y habilitado (por defecto se habilita)
ll /etc/apache2/mods-enabled/ | grep mpm

-- para mi caso no fue necesaro, pero de no encontrarse listado en los modulos habilitados, podemos habilitarlo con:
sudo a2enmod mpm_itk

-- reiniciar el apache:
sudo systemctl restart apache2.service

-- creo un nuevo grupo (al que pertenecerá el nuevo usuario):
sudo groupadd grupoprueba001

-- creo el nuevo usuario que será usado para ejecutar el VHOST:
sudo useradd  -m -s /bin/false -g grupoprueba001 usuarioprueba001

-- agrego el usuario al grupo secundario www-data (necesario para poder correr apache con el modulo mpm_itk)
sudo usermod -a -G www-data usuarioprueba001

-- configuro el VHOST con el nuevo usuario y grupo:
<IfModule mpm_itk_module>
    AssignUserId usuarioprueba001 grupoprueba001
</IfModule>

-- asigno los permisos correctos (para el ejemplo el DocumentRoot es /home/usuarioprueba001/public_html/)
sudo chown -R usuarioprueba001:grupoprueba001 /home/usuarioprueba001/public_html
find /home/usuarioprueba001/public_html -type d -exec chmod 755 {} +
find /home/usuarioprueba001/public_html -type f -exec chmod 644 {} +

-- recargo la configuración de apache para que tome el AssignUserId:
sudo systemctl reload apache2.service


Se agradece todo comentario que aporte luz a la configuración del modulo mpm_itk, muchas gracias

Saludos a todos y buen código!
Etiquetas: Apache - Apache2 - Configuración - Linux - Máquina Virtual (VM) - mpm_itk - mpm_prefork - Servidor - Ubuntu - VHost - Web - Webserver Votos: 0 - Respuestas: 0 - Vistas: 6 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

No hay respuestas para esta pregunta, se el primero en responder.
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión