Многосайтовый докер PHP-Apache ⇐ Php
-
Гость
Многосайтовый докер PHP-Apache
Я пытался создать многосайтовый докер Apache, но все тщетно. Вот мой docker-compose.yml
версия: '3.9' услуги: приложение: имя_контейнера: Ядро строить: контекст: ./conf/core аргументы: UID: ${UID:-1000} env_file: - "./.env" порты: - "${HTTP_PORT:-80}:80" - "${HTTPS_PORT:-443}:443" объемы: - ./../приложение:/var/www/html - ./conf/core/php.ini:/usr/local/etc/php/conf.d/99-overrides.ini - ./conf/core/openssl.cnf:/etc/ssl/openssl.cnf - ./conf/ssl:/etc/apache2/ssl - ./logs/apache:/var/log/apache2 сети: - абммхасан-нет сети: абммхасан-нет: водитель: мост Файл докера
ИЗ php:8.2-apache # Настройка Apache #ENV APACHE_RUN_USER=#$UID #ENV APACHE_RUN_GROUP=#$UID ENV APACHE_LOG_DIR=/var/log/apache2 ВЫПОЛНИТЕ rm -rf /etc/apache2/sites-enabled/000-default.conf /etc/apache2/sites-enabled/default-ssl.conf ВЫПОЛНИТЕ rm -rf /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/default-ssl.conf ДОБАВИТЬ ./sites/*.conf /etc/apache2/sites-available RUN echo "Имя_сервера site1.local" >> /etc/apache2/apache2.conf RUN echo "Имя_сервера site2.local" >> /etc/apache2/apache2.conf ЗАПУСК a2ensite * ЗАПУСТИТЬ a2enmod перезаписать SSL socache_shmcb vhost_alias # Необходимые установки/обновления ЗАПУСК apt update && apt update -y ВЫПОЛНИТЬ apt install sudo -y && apt clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/cache/apt/archives/* # Добавить синхронизированного системного пользователя АРГ UID RUN useradd -G www-data,root -u $UID -d /home/devuser devuser && \ mkdir -p /home/devuser/.composer && \ chown -R devuser:devuser /home/devuser ПОЛЬЗОВАТЕЛЬ-разработчик РАБОЧИЙ ПАРАМЕТР /var/www/html И файл ./sites/site1.local.conf (так же, как и файл site2 с каталогом site2)
Администратор сервера webmaster@site1.local DocumentRoot /var/www/html/site1 ИндексДиректории index.php Имя_сервера site1.local Индексы опционов FollowSymLinks Разрешить переопределить все Требовать все предоставленные Журнал ошибок ${APACHE_LOG_DIR}/site1-error.log CustomLog ${APACHE_LOG_DIR}/site1-access.log общий Я также добавил следующее в файл хостов
192.168.50.4 site1.local 192.168.50.4 сайт2.локальный Пытался создать один докер-контейнер с несколькими сайтами, размещенными в одном месте, но вместо загрузки сайтов из определенного каталога он загружается только из /var/www/html/!
Я пытался создать многосайтовый докер Apache, но все тщетно. Вот мой docker-compose.yml
версия: '3.9' услуги: приложение: имя_контейнера: Ядро строить: контекст: ./conf/core аргументы: UID: ${UID:-1000} env_file: - "./.env" порты: - "${HTTP_PORT:-80}:80" - "${HTTPS_PORT:-443}:443" объемы: - ./../приложение:/var/www/html - ./conf/core/php.ini:/usr/local/etc/php/conf.d/99-overrides.ini - ./conf/core/openssl.cnf:/etc/ssl/openssl.cnf - ./conf/ssl:/etc/apache2/ssl - ./logs/apache:/var/log/apache2 сети: - абммхасан-нет сети: абммхасан-нет: водитель: мост Файл докера
ИЗ php:8.2-apache # Настройка Apache #ENV APACHE_RUN_USER=#$UID #ENV APACHE_RUN_GROUP=#$UID ENV APACHE_LOG_DIR=/var/log/apache2 ВЫПОЛНИТЕ rm -rf /etc/apache2/sites-enabled/000-default.conf /etc/apache2/sites-enabled/default-ssl.conf ВЫПОЛНИТЕ rm -rf /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/default-ssl.conf ДОБАВИТЬ ./sites/*.conf /etc/apache2/sites-available RUN echo "Имя_сервера site1.local" >> /etc/apache2/apache2.conf RUN echo "Имя_сервера site2.local" >> /etc/apache2/apache2.conf ЗАПУСК a2ensite * ЗАПУСТИТЬ a2enmod перезаписать SSL socache_shmcb vhost_alias # Необходимые установки/обновления ЗАПУСК apt update && apt update -y ВЫПОЛНИТЬ apt install sudo -y && apt clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/cache/apt/archives/* # Добавить синхронизированного системного пользователя АРГ UID RUN useradd -G www-data,root -u $UID -d /home/devuser devuser && \ mkdir -p /home/devuser/.composer && \ chown -R devuser:devuser /home/devuser ПОЛЬЗОВАТЕЛЬ-разработчик РАБОЧИЙ ПАРАМЕТР /var/www/html И файл ./sites/site1.local.conf (так же, как и файл site2 с каталогом site2)
Администратор сервера webmaster@site1.local DocumentRoot /var/www/html/site1 ИндексДиректории index.php Имя_сервера site1.local Индексы опционов FollowSymLinks Разрешить переопределить все Требовать все предоставленные Журнал ошибок ${APACHE_LOG_DIR}/site1-error.log CustomLog ${APACHE_LOG_DIR}/site1-access.log общий Я также добавил следующее в файл хостов
192.168.50.4 site1.local 192.168.50.4 сайт2.локальный Пытался создать один докер-контейнер с несколькими сайтами, размещенными в одном месте, но вместо загрузки сайтов из определенного каталога он загружается только из /var/www/html/!
Мобильная версия