Страница 1 из 1

Как правильно настроить хосты для yii2 advanced?

Добавлено: 2018.07.19, 19:03
ZaurK
Здравствуйте!
Надеюсь я пишу в правильную ветку. Долгое время разворачивал yii2 на OpenServer, но теперь решил перейти на ubuntu + docker. В принципе развернул приложение, но есть некоторые трудности с хостами, в файле vhost.conf прописываю такие настройки, как указано в доках:

Код: Выделить всё

<VirtualHost *:80>   
ServerName frontend.test
DocumentRoot /app/frontend/web/

<Directory "/app/frontend/web/">
......
<VirtualHost *:80>   
ServerName backend.test
DocumentRoot /app/backend/web/

<Directory "/app/backend/web/">
.......
При переходе на localhost:8000 я получаю страницу фронтенда, причем frontend.test не работает. Как сделать так, чтобы сайт открывался по указанным именам серверов, отдельно фронтенд и бэкенд? Подскажите, что я делаю не так?

Re: Как правильно настроить хосты для yii2 advanced?

Добавлено: 2018.07.19, 22:27
ElisDN
Не используйте в Docker свои домены. Сделайте два хоста с портами 80 и 81 или два отдельных контейнера frontend и backend с портом 80. И пробросьте их на localhost:8080 и localhost:8081.

И советую перейти на Nginx вместо Apache.

Re: Как правильно настроить хосты для yii2 advanced?

Добавлено: 2018.07.19, 22:52
ZaurK
Спасибо за ответ, Дмитрий! То есть, если я правильно понял, бэкенд и фронтенд рассматривать как два разных сайта и для каждого свой контейнер создавать... я надеялся, что можно на одном контейнере. А какой image посоветуете для yii2 с nginx? Или лучше самому попробовать собрать?

Re: Как правильно настроить хосты для yii2 advanced?

Добавлено: 2018.07.20, 04:20
anton_z
ZaurK писал(а): 2018.07.19, 22:52 Спасибо за ответ, Дмитрий! То есть, если я правильно понял, бэкенд и фронтенд рассматривать как два разных сайта и для каждого свой контейнер создавать... я надеялся, что можно на одном контейнере. А какой image посоветуете для yii2 с nginx? Или лучше самому попробовать собрать?
Мне вот тоже не очень понятно, зачем два разных контейнера, тем более что тут речь идет об окружении для разработки. Используйте port-based virtual host https://httpd.apache.org/docs/2.4/vhosts/examples.html пример Running different sites on different ports.
Откройте в контейнере два порта, 80 и 8001, например, на один поставьте в конфиге апача фронтенд, на другой бэкенд.

Re: Как правильно настроить хосты для yii2 advanced?

Добавлено: 2018.07.20, 10:12
ZaurK
anton_z писал(а): 2018.07.20, 04:20 Мне вот тоже не очень понятно, зачем два разных контейнера, тем более что тут речь идет об окружении для разработки. Используйте port-based virtual host https://httpd.apache.org/docs/2.4/vhosts/examples.html пример Running different sites on different ports.
Откройте в контейнере два порта, 80 и 8001, например, на один поставьте в конфиге апача фронтенд, на другой бэкенд.
Спасибо за ответ, но, к сожалению, у меня так не получилось. Сделал по-другому, переписал пути к папкам:

Код: Выделить всё

<VirtualHost *:80>   
    ServerName project.loc
    DocumentRoot /app

    <Directory "/app/>
    
Теперь получаю доступ к фронтенду и бэкенду соответственно как http://localhost:8000/frontend/web/ и http://localhost:8000/backend/web/
Наверняка, не самое блестящее решение, но вроде рабочее.

Re: Как правильно настроить хосты для yii2 advanced?

Добавлено: 2018.07.20, 15:24
anton_z
ZaurK писал(а): 2018.07.20, 10:12
anton_z писал(а): 2018.07.20, 04:20 Мне вот тоже не очень понятно, зачем два разных контейнера, тем более что тут речь идет об окружении для разработки. Используйте port-based virtual host https://httpd.apache.org/docs/2.4/vhosts/examples.html пример Running different sites on different ports.
Откройте в контейнере два порта, 80 и 8001, например, на один поставьте в конфиге апача фронтенд, на другой бэкенд.
Спасибо за ответ, но, к сожалению, у меня так не получилось. Сделал по-другому, переписал пути к папкам:

Код: Выделить всё

<VirtualHost *:80>   
    ServerName project.loc
    DocumentRoot /app

    <Directory "/app/>
    
Теперь получаю доступ к фронтенду и бэкенду соответственно как http://localhost:8000/frontend/web/ и http://localhost:8000/backend/web/
Наверняка, не самое блестящее решение, но вроде рабочее.
Норм, если самому удобно