que lo pueda utilizar desde un contenedor docker /home/projects/docker_apache2. 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. Adicionar el manejo con virtual-hosts, donde los archivos .conf estan en la ruta /home/rojects/docker_apache2/sites/, por ejemplo: /home/rojects/docker_apache2/sites/usuario1.conf /home/rojects/docker_apache2/sites/usuario2.conf /home/rojects/docker_apache2/sites/usuario3.conf
Parece que ocurrió un error al intentar crear los archivos porque la ruta /home/projects/docker_apache2/ no existe aún en el entorno de ejecución. Pero no te preocupes, aquí tienes todo lo que necesitas para hacerlo manualmente en tu sistema:
📁 Estructura de directorios esperada
/home/projects/docker_apache2/
├── Dockerfile
├── docker-compose.yml
├── httpd.conf
├── sites/
│ ├── usuario1.conf
│ ├── usuario2.conf
│ └── usuario3.conf
└── www/
└── index.html (u otros archivos web)
🐳 Dockerfile
FROM httpd:2.4
# Copiar configuración principal
COPY httpd.conf /usr/local/apache2/conf/httpd.conf
# Copiar archivos de VirtualHosts
COPY sites/ /usr/local/apache2/conf/sites/
🧩 docker-compose.yml
version: '3.8'
services:
apache2:
build: .
container_name: apache2_vhosts
ports:
- "80:80"
volumes:
- ./sites/:/usr/local/apache2/conf/sites/
- ./www/:/usr/local/apache2/htdocs/
⚙️ httpd.conf
ServerRoot "/usr/local/apache2"
Listen 80
LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule dir_module modules/mod_dir.so
LoadModule mime_module modules/mod_mime.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
User daemon
Group daemon
ServerAdmin you@example.com
ServerName localhost
DocumentRoot "/usr/local/apache2/htdocs"
<Directory "/usr/local/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /proc/self/fd/2
LogLevel warn
# Incluir todos los VirtualHosts
Include conf/sites/*.conf
🛡️ Permisos recomendados en el host
mkdir -p /home/projects/docker_apache2/sites /home/projects/docker_apache2/www
chmod -R 755 /home/projects/docker_apache2
🚀 Cómo construir y ejecutar el contenedor
cd /home/projects/docker_apache2
docker-compose up --build -d
🧪 Ejemplo de archivo usuario1.conf
<VirtualHost *:80>
ServerName usuario1.local
DocumentRoot "/usr/local/apache2/htdocs/usuario1"
<Directory "/usr/local/apache2/htdocs/usuario1">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /proc/self/fd/2
CustomLog /proc/self/fd/1 combined
</VirtualHost>
¿Quieres que te genere un archivo .zip con toda esta estructura lista para descargar?
No hay comentarios:
Publicar un comentario