1º Tenemos que instalar el mod_itk de apache, que dependiendo como de viejo sea nuestro apache hay que hacerlo de una forma u otra, en casos de ubuntus muy antiguos (como el 14) seria asi:
- Código: Seleccionar todo
sudo apt-get update
- Código: Seleccionar todo
sudo apt-get install apache2-mpm-itk
- Código: Seleccionar todo
sudo systemctl restart apache2
para ubuntus mas nuevos
- Código: Seleccionar todo
sudo apt update
- Código: Seleccionar todo
sudo apt install libapache2-mpm-itk
- Código: Seleccionar todo
sudo a2enmod mpm_itk
- Código: Seleccionar todo
sudo systemctl restart apache2
Con esto ya tenemos el modulo instalado y deberia de estar funcionando, para comprobarlo podemos lanzar
en ubuntu 14
- Código: Seleccionar todo
apache2ctl -M | grep itk
en ubuntu 18
- Código: Seleccionar todo
ls /etc/apache2/mods-available/ | grep itk
EN el primer caso si pone que el modulo esta shared, entonces bien, en el segundo mpm_itk.load entonces bien tambien.
Ahora tenemos que crear los usuarios, cambiando /var/www/sitio1 por el directorio que nos interese y sitio1_user por el nombre del usuario que queramos asignarle.
- Código: Seleccionar todo
sudo useradd -d /var/www/sitio1 -s /usr/sbin/nologin sitio1_user
ahora le ponemos contraseña
- Código: Seleccionar todo
sudo passwd sitio1_user
ajustamos los privilegios del directorio de la web que queremos limitar al usuario en cuestion:
- Código: Seleccionar todo
sudo chown -R sitio1_user:sitio1_user /var/www/sitio1
ahora los permisos del directorio y sus archivos
- Código: Seleccionar todo
sudo find /var/www/sitio1 -type d -exec chmod 755 {} \;
sudo find /var/www/sitio1 -type f -exec chmod 644 {} \;
ahora toca configurar los virtualhost de apache que apuntaran al directorio (puede ser tener un conf especifico o estar en el default.conf:
- Código: Seleccionar todo
sudo nano /etc/apache2/sites-available/sitio1.conf
y dentro del visualhost del dominio que nos interese ponemos (cambiando AGM usuario que son los dos primeros y AGM directorio que es la ultima linea por el que hayamos creado):
- Código: Seleccionar todo
# Configuración mod_itk para asignar un usuario específico
AssignUserId AGM AGM
<Directory /home/HTML/AGM>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Limitar los directorios accesibles con PHP usando open_basedir
php_admin_value open_basedir "/home/HTML/AGM:/tmp"
y reiniciamos el apache con
- Código: Seleccionar todo
service apache2 restart