viernes, 20 de junio de 2025

en el docker_apache2 Montar todo /home (si tienes muchos usuarios) volumes: - /home:/home:ro, docker-compose.yml

 



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


Respuesta

¡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