# deploy/apache — vhost для mapmil.deepfishing.ru Источник истины для Apache-виртхоста, который проксирует домен на стек MapMil. ## Что здесь - `mapmil.conf` — vhost `mapmil.deepfishing.ru` (`apache2` → `ca-frontend:80`) ## Архитектура - `apache2` — **отдельный** контейнер (не из `docker-compose.yml` этого репо). - Он подключён к сети `mapmil_default`, создаваемой compose-стеком MapMil. - Бэкенд адресуется **по имени сервиса `ca-frontend`**, не по IP. IP контейнера меняется при пересборке → хардкод IP даёт **503** (Connection refused). ## Применение на сервере (beget) ```bash cd ~/Projects/MapMil CONF=/usr/local/apache2/conf/conf-enabled/mapmil.conf # 1. Бэкап текущего конфига в контейнере docker exec apache2 cp "$CONF" "$CONF.bak" # 2. Скопировать актуальный vhost из репо внутрь контейнера docker cp deploy/apache/mapmil.conf apache2:"$CONF" # 3. Проверить и перезагрузить Apache docker exec apache2 httpd -t docker exec apache2 httpd -k graceful # 4. Проверить сайт curl -s -o /dev/null -w "%{http_code}\n" https://mapmil.deepfishing.ru/ # 200 ``` ## Если сайт отдаёт 503 Проверить, что в конфиге **нет хардкода IP**: ```bash docker exec apache2 grep -n "ca-frontend\|172\." "$CONF" docker exec apache2 tail -20 /usr/local/apache2/logs/mapmil-error.log ``` Признак: `AH00957: attempt to connect to 172.x.x.x:80 failed`. Лечение — применить `mapmil.conf` из репо (см. выше). ## TODO - Автоматизировать копирование конфига при деплое (сейчас вручную). - Рассмотреть подключение `deploy/apache/` как volume в контейнер `apache2`, чтобы конфиг не терялся при его пересоздании.