В продолжение темы развертывания окружения с php 5.3 соорудил вариант на docker. Прошу любить и жаловать – проект docker-grandpa-php. Этот вариант более легковесный, чем вариант с vagrant. Для работы требуются установленные docker и docker-compose.
Шаги по развертыванию:
- Клонировать репозиторий в удобную директорию
- Изменить опцию MAIN_WEB_ROOT_PATH и другие опции в файле .env
- Добавить конфигурацию Ваших виртуальных хостов Apache в директорию main/sites
- Добавить Ваши локальные домены в /etc/hosts
Опция MAIN_WEB_ROOT_PATH должна содержать путь к директории, которая будет смонтирована в папку /var/www образа main.
Затем можно запускать командой:
docker-compose up -d main mysql
или
docker-compose up -d main mariadb
После чего Ваши сайты должны открываться как обычно в браузере.
Образ main основан на Ubuntu 12.04 (LTS) и содержит Apache, php 5.3, различные расширения php (в том числе xdebug) и memcached.
Директория share монтируется к /root/share образа main.
MySQL и mariadb вынесены в отдельные образы, как это принято в docker. Для соединения с ними из контейнера main к ним нужно подключаться по их именам – mysql и mariadb. Эти имена в качестве хостов надо прописывать в веб-приложениях.
Полезные команды:
Открыть bash-терминал в главном контейнере:
docker-compose exec main bash
Отобразить список контейнеров сборки и их статусы:
docker-compose ps
Остановить все контейнеры текущей сборки:
docker-compose stop
Игорь, благодарю вас за статью и за репозиторий! Один из немногих, работающих практически из коробки!
Внесу лепту:
В файле php53.conf.example у вас используется тег IfVersion, а модуль version не включается в Dockerfile
Из-за этого контейнер не стартует.
Исправление:
Добавить в main/Dockerfile строчку
RUN a2enmod version
после RUN a2enmod rewrite.
С pull request на гитхабе не разбирался, а то бы закоммитил =)
Спасибо за исправление! Проверю и добавлю в репозиторий.