Permitir que el contenedor docker_apache2 sirva contenido web desde los directorios /home/usuarioXX/public_html del host, muestrame los pasos sabiendo que tengo los archivo .conf el el /home/docker_project, por ejemplo: /home/docker_project/usuario1.conf, /home/docker_project/usuario2.conf, /home/docker_project/usuario3.conf
Perfecto. Si ya tienes los archivos .conf de los VirtualHosts en el directorio /home/docker_project/, aquí tienes los pasos detallados para que el contenedor docker_apache2 sirva contenido desde los directorios /home/usuarioXX/public_html.
✅ Objetivo
Montar los archivos de configuración desde /home/docker_project/ y permitir que Apache dentro del contenedor sirva contenido desde /home/usuarioXX/public_html.
🧩 Paso a Paso
🔹 1. Estructura esperada
/home/
├── usuario1/public_html/
├── usuario2/public_html/
├── usuario3/public_html/
└── docker_project/
├── usuario1.conf
├── usuario2.conf
└── usuario3.conf
🔹 2. docker-compose.yml
Crea o edita tu archivo docker-compose.yml así:
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_project:/usr/local/apache2/conf/sites # Monta los .conf
command: >
sh -c "echo 'IncludeOptional conf/sites/*.conf' >> /usr/local/apache2/conf/httpd.conf &&
httpd-foreground"
🔸 Esto asegura que Apache cargue todos los
.confdesde/usr/local/apache2/conf/sites.
🔹 3. Verifica los archivos .conf
Ejemplo de /home/docker_project/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.).
🔹 4. Permisos en el host
Asegúrate de que Apache pueda leer los archivos:
chmod -R o+r /home/*/public_html
chmod -R o+x /home/* /home/*/public_html
🔹 5. Agrega dominios locales a /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
🔹 6. Inicia el contenedor
Desde /home/docker_project/ o donde esté tu docker-compose.yml:
docker-compose up -d
🔹 7. Verifica en el navegador
Abre:
- http://usuario1.local
- http://usuario2.local
- http://usuario3.local
¿Quieres que te genere un script para automatizar la creación de nuevos .conf y agregar dominios al /etc/hosts?
No hay comentarios:
Publicar un comentario