multisites apache avec Docker
Bonjour,
j'essaye de faire fonctionner 2 sites web (symfony) avec Docker
/site1
/site2
/php/vhosts/vhost.conf
/php/Dockerfile
docker-compose.yml
/php/vhosts/vhost.conf
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /var/www/site1/public
DirectoryIndex /index.php
<Directory /var/www/site1/public>
AllowOverride None
Order Allow,Deny
Allow from All
FallbackResource /index.php
</Directory>
<Directory /var/www/site1/public/bundles>
DirectoryIndex disabled
FallbackResource disabled
</Directory>
ErrorLog /var/log/apache2/site1.log
CustomLog /var/log/apache2/site1.log combined
</VirtualHost>
<VirtualHost *:81>
ServerName domain2.tld
ServerAlias www.domain2.tld
DocumentRoot /var/www/site2/public
DirectoryIndex /index.php
<Directory /var/www/site2/public>
AllowOverride None
Order Allow,Deny
Allow from All
FallbackResource /index.php
</Directory>
<Directory /var/www/site2/public/bundles>
DirectoryIndex disabled
FallbackResource disabled
</Directory>
ErrorLog /var/log/apache2/site2.log
CustomLog /var/log/apache2/site2.log combined
</VirtualHost> |
/php/Dockerfile
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
FROM php:7.4-apache
# NODE
RUN apt-get update -yq \
&& apt-get install curl gnupg -yq \
&& curl -sL https://deb.nodesource.com/setup_12.x | bash \
&& apt-get install nodejs -yq
# YARN
RUN npm install -g yarn
# PHP
RUN apt-get update && apt-get install -y \
locales \
apt-utils \
git \
libicu-dev \
g++ \
libpng-dev \
libxml2-dev \
libxslt-dev \
libonig-dev \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
zlib1g-dev \
libxml2-dev \
libzip-dev \
graphviz \
&& docker-php-ext-configure gd \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-source delete
# composer
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && php composer-setup.php && php -r "unlink('composer-setup.php');" && mv composer.phar /usr/local/bin/composer
# extension php
RUN docker-php-ext-install zip pdo pdo_mysql opcache calendar dom intl mbstring xsl
RUN pecl install apcu && docker-php-ext-enable apcu
#
WORKDIR /var/www |
docker-compose.yml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
version: '3.9'
services:
www:
build: php
container_name: www_docker_symfony
restart: always
ports:
- 8001:80
- 8002:81
volumes:
- ./php/vhosts:/etc/apache2/sites-enabled
- ./site1:/var/www/site1
- ./site2:/var/www/site2
networks:
- dev
networks:
dev: |
j'accède bien au site1 :
http://localhost:8001
mais problème, je n'accède pas au site2:
http://localhost:8002
pour info:
- dans le docker desktop est affiché en vert : Running PORT:8001 (8002 n'apparait pas)
- en ligne de commande, j'accède dans le container, j'ai bien les dossiers : /site1 et /site2
- en ligne de commande, j'accède dans le container, j'ai bien à la config apache : /etc/apache2/sites-enabled/vhosts.conf