✅ Objetivos
- Montar los archivos
.confdesde/home/docker_apache2/al contenedor. - Montar
/homepara acceder a lospublic_htmlde los usuarios. - Configurar Apache para incluir esos
.confy servir los sitios.
Montar los archivos de configuración desde /home/docker_apache2/ y permitir que Apache dentro del contenedor sirva contenido desde /home/usuarioXX/public_html
Perfecto. Si tus archivos de configuración .conf están en /home/docker_apache2/ y quieres que Apache dentro del contenedor sirva contenido desde /home/usuarioXX/public_html, aquí tienes los pasos detallados para lograrlo:
✅ Objetivo
- Montar los archivos
.confdesde/home/docker_apache2/al contenedor. - Montar
/homepara acceder a lospublic_htmlde los usuarios. - Configurar Apache para incluir esos
.confy servir los sitios.
🧾 docker-compose.yml actualizado
version: '3.8'
services:
apache2:
image: httpd:2.4
container_name: docker_apache2
ports:
- "80:80"
volumes:
- /home:/home:ro # Monta los directorios de usuarios
- /home/docker_apache2:/usr/local/apache2/conf/sites # Monta los .conf
command: >
sh -c "echo 'IncludeOptional conf/sites/*.conf' >> /usr/local/apache2/conf/httpd.conf &&
httpd-foreground"
📁 Estructura esperada
/home/
├── usuario1/public_html/index.html
├── usuario2/public_html/index.html
├── usuario3/public_html/index.html
└── docker_apache2/
├── usuario1.conf
├── usuario2.conf
└── usuario3.conf
🧾 Ejemplo de archivo .conf
Archivo: /home/docker_apache2/usuario1.conf
<VirtualHost *:80>
ServerName usuario1.local
DocumentRoot /home/usuario1/public_html
<Directory /home/usuario1/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
🔁 Repite esto para cada usuario (
usuario2,usuario3, etc.).
🔐 Permisos necesarios
En el host, asegúrate de que Apache pueda acceder a los archivos:
chmod -R o+r /home/*/public_html
chmod -R o+x /home/* /home/*/public_html
🧪 (Opcional) Agrega dominios locales
Edita /etc/hosts en tu máquina local:
sudo nano /etc/hosts
Agrega:
127.0.0.1 usuario1.local
127.0.0.1 usuario2.local
127.0.0.1 usuario3.local
🚀 Inicia el contenedor
Desde el directorio donde esté tu docker-compose.yml:
docker-compose up -d
¿Te gustaría que te genere un script para automatizar la creación de .conf, asignación de permisos y reinicio del contenedor?
No hay comentarios:
Publicar un comentario