Crear los archivos dockerfile, docker-compose.yml y httpd.conf, mostrarme que permisos debo dar en bash en el host, y como ejecutar los archivos de docker, el contenedor se ejecuta desde /home/projects/docker_apache2. Donde La pagina_Inicio de un servidor http://xx.xx.xx.xx es vista desde un navegador, a traves de un servidor apache desde la carpeta en el host: /home/projects/Pagina_Inicio/. Cada usuario tiene una carpeta public_html donde puede ser visible desde la web, donde los enlaces web que se ven des los navegadores con http://xx.xx.xx.xx/usuario1/ http://xx.xx.xx.xx/usuario2/ http://xx.xx.xx.xx/usuario3/ estan en las carpetas del host: /home/usuario1/public_html/, /home/usuario2/public_html/, /home/usuario3/public_html/
/home/
├── usuario1/public_html/index.html
├── usuario2/public_html/index.html
├── usuario3/public_html/index.html
├── projects/Pagina_Inicio/index.html
└── projects/docker_apache2/sites/
├── usuario1.conf
├── usuario2.conf
└── usuario3.conf
Crear los archivos dockerfile, docker-compose.yml y httpd.conf, mostrarme que permisos debo dar en bash en el host, y como ejecutar los archivos de docker, el contenedor se ejecuta desde /home/projects/docker_apache2. Donde La pagina_Inicio de un servidor http://xx.xx.xx.xx es vista desde un navegador, a traves de un servidor apache desde la carpeta en el host: /home/projects/Pagina_Inicio/. Cada usuario tiene una carpeta public_html donde puede ser visible desde la web, donde los enlaces web que se ven des los navegadores con http://xx.xx.xx.xx/usuario1/ http://xx.xx.xx.xx/usuario2/ http://xx.xx.xx.xx/usuario3/ estan en las carpetas del host: /home/usuario1/public_html/, /home/usuario2/public_html/, /home/usuario3/public_html/
Intenté crear los archivos directamente en /home/projects/docker_apache2, pero se produjo un error de permiso denegado al intentar escribir en esa ruta. Esto es común si no se tienen privilegios de superusuario o si el entorno no permite escribir en directorios del sistema.
✅ Aquí tienes lo que necesitas hacer manualmente:
1. Estructura de archivos
Crea un directorio para tu proyecto:
mkdir -p /home/projects/docker_apache2
cd /home/projects/docker_apache2
2. Archivo Dockerfile
FROM httpd:2.4
COPY ./httpd.conf /usr/local/apache2/conf/httpd.conf
3. Archivo httpd.conf
ServerRoot "/usr/local/apache2"
Listen 80
LoadModule dir_module modules/mod_dir.so
LoadModule userdir_module modules/mod_userdir.so
User daemon
Group daemon
ServerAdmin you@example.com
DocumentRoot "/usr/local/apache2/htdocs"
<Directory "/usr/local/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
UserDir public_html
<IfModule mod_userdir.c>
UserDir enabled usuario1 usuario2 usuario3
</IfModule>
<Directory "/home/*/public_html">
AllowOverride None
Options Indexes FollowSymLinks
Require all granted
</Directory>
DirectoryIndex index.html
4. Archivo docker-compose.yml
version: '3'
services:
apache:
container_name: Docker_apache2
build: .
ports:
- "80:80"
volumes:
- /home/projects/Pagina_Inicio/:/usr/local/apache2/htdocs/
- /home/usuario1/public_html/:/home/usuario1/public_html/
- /home/usuario2/public_html/:/home/usuario2/public_html/
- /home/usuario3/public_html/:/home/usuario3/public_html/
🔐 Permisos necesarios en el host
Ejecuta estos comandos para asegurarte de que Apache pueda acceder a los directorios:
chmod o+rx /home/projects/Pagina_Inicio/
chmod -R o+r /home/projects/Pagina_Inicio/*
chmod o+rx /home/usuario1/public_html/
chmod -R o+r /home/usuario1/public_html/*
chmod o+rx /home/usuario2/public_html/
chmod -R o+r /home/usuario2/public_html/*
chmod o+rx /home/usuario3/public_html/
chmod -R o+r /home/usuario3/public_html/*
🚀 Cómo ejecutar
Desde /home/projects/docker_apache2/:
docker-compose up --build -d
Luego abre tu navegador y visita:
http://xx.xx.xx.xx/→ Página principalhttp://xx.xx.xx.xx/usuario1/→ Carpeta pública de usuario1http://xx.xx.xx.xx/usuario2/→ Carpeta pública de usuario2http://xx.xx.xx.xx/usuario3/→ Carpeta pública de usuario3
¿Quieres que te genere un archivo .zip con todos estos archivos listos para descargar?
No hay comentarios:
Publicar un comentario