Puede haber error en este codigo: ServerName usuario1.local DocumentRoot /home/usuario1/public_html Options Indexes FollowSymLinks AllowOverride All Require all granted ya que el contendor tiene una ruta diferente para el apache y la ruta: /home/usuario1/public_html, es en el servidor y no en el contenedor
¡Muy buena observación! ✅
Sí, puede haber un error funcional en ese bloque de configuración si no se tiene en cuenta que la ruta /home/usuario1/public_html existe en el host, pero no necesariamente dentro del contenedor, a menos que la hayas montado explícitamente.
🔍 ¿Por qué puede fallar?
El contenedor Apache no tiene acceso directo al sistema de archivos del host. Por lo tanto, si escribes:
DocumentRoot /home/usuario1/public_html
…pero no montaste esa ruta dentro del contenedor, Apache no podrá encontrarla y lanzará un error al iniciar o simplemente no servirá el sitio.
✅ ¿Cómo solucionarlo?
Opción 1: Montar la ruta exacta en el contenedor
En tu docker-compose.yml:
volumes:
- /home/usuario1/public_html:/var/www/usuario1
Y en el VirtualHost:
<VirtualHost *:80>
ServerName usuario1.local
DocumentRoot /var/www/usuario1
<Directory /var/www/usuario1>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Opción 2: Montar todo /home (si tienes muchos usuarios)
volumes:
- /home:/home:ro
Y mantienes el VirtualHost así:
<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>
🔐 Asegúrate de que los permisos de lectura estén correctamente configurados para que Apache pueda acceder a esos archivos.
¿Quieres que te genere un docker-compose.yml y un archivo .conf corregido para este caso?
No hay comentarios:
Publicar un comentario