Как я могу иметь несколько документов с DDEV на apache? - PullRequest
0 голосов
/ 15 апреля 2020

В моем контейнере ddev я настроил несколько vhosts в Apache, используя файлы conf на доступных сайтах, которые я добавил и включил в Dockerfile. В документации сказано, что мы должны использовать $ WEBSERVER_DO CROOT, который по умолчанию / var / www/html, но это значение недоступно ни в одном из пользовательских файлов conf (apache -site.conf или сайтах). -доступные файлы). Поэтому мне пришлось жестко его кодировать, и, кроме того, мне приходилось делать это в каждом файле конфигурации, потому что я не мог определить значение для всех vhosts и поделиться им.

Мой Dockerfile:

ADD sites-available/my.site1.tld.conf /etc/apache2/sites-available
RUN a2ensite my.site1.tld

Мои файлы conf: my.site1.tld.conf:

<VirtualHost *:80>
    ServerName my.site1.tld

    DocumentRoot $WEBSERVER_DOCROOT/my.site1.tld/www


</VirtualHost>

1 Ответ

1 голос
/ 16 апреля 2020

Наконец-то я смог заставить его работать. Мне пришлось скопировать все содержимое apache -site-default.conf из ddev apache config в apachesite.conf и добавить

Define WEBROOT $WEBSERVER_DOCROOT

в конце. Затем в каждом файле конфигурации на доступных сайтах я могу получить значение как $ {webroot}. Я думал, что apache .conf был автоматически добавлен к conf по умолчанию, но это не так. Я бы предпочел использовать Macro, но у меня не получилось (добавить макрос RUN a2enmod && a2enconf myvhost-macro не сработало).

...