Важно! Проект устарел. Пользуйтесь этим: https://gitlab.com/bitrix-docker/server
- Ставим doker:
- Инструкция (на английском): https://docs.docker.com/docker-for-mac/install/
- Можно также поставить Kinematic или https://dockstation.io для визуального управления контейнерами.
- Если гит еще не был установлен (может понадобиться в инструкции по установке Bitrix Environment ниже), тогда делаем:
xcode-select --install
- Создаем папку для docker-compose и переходим в нее, например:
В дальнейшем все проекты будут располагаться в папке ~/Work/bitrix/ext_www.
mkdir ~/Work/bitrix && cd ~/Work/bitrix
- Скачиваем git-репозиторий:
git clone [email protected]:VictorKrasnov/bitrix-env.git .
- Останавливаем штатный апач. При запуске докер-контейнера потребуется 80-й порт (мы не хотим использовать нестандартные порты, так как может вызывать неудобства при работе Bitrix), так что он должен быть свободен.
# Для MacOS: sudo apachectl stop
- Настраиваем файл окружения.
Далее редактируем файл .env, указываем там IP-адрес хост-машины в локальной сети, обычно начинается на 192 или 10, найти адрес можно или в настройках сетевой карты в интерфейсе настройки сети в ОС, или выполнив команду
cp .env.dist .env
ifconfig | grep 192
илиifconfig | grep 10
. - Запускаем контейнер:
docker-compose up -d
- Заходим в контейнер:
Произойдет запуск установки Bitrix Environment. Процесс может занимать от 10 до 20 минут. Повторный запуск этой же команды приведет к залогиниванию в контейнер и запуску меню Bitrix Environment (повторной установки не произойдет).
docker-compose exec webslon-bitrix-env bash --login
- Скачать архив в корень сайта. Быстрее всего с помощью команды
wget
. - Записать (запомнить) логин / пароль / имя базы данных (посмотреть можно в bitrix/.settings или bitrix/php_interface/dbconn.php)
- Перейти в папку сайта и выполнить:
cat *.tar.* | tar xzpvf -
- После распаковки архива запустить restore.php и там выбрать "Архив уже распакован". На этапе восстановления БД ввести настройки, записанные в начале этого руководства.
- Убедиться, что в контейнере в файле /etc/php.d/15-xdebug.ini в строке xdebug.remote_host указан IP-адрес локальной сети хост-машины (вашего компьютера). Например, адрес WiFi или LAN в настройках сети. Этот же адрес если правильно настроили файл .env должен выводиться командой в контейнере:
echo ${DOCKER_HOST_IP}
- В настройках PhpStorm
- Preferences | Languages & Frameworks | PHP: указываем CLI Interpreter PHP 7.
- Preferences | Languages & Frameworks | PHP | Debug: в секции XDebug указываем XDebug port = 9001 и ставим все галочки.
- Preferences | Languages & Frameworks | PHP | Debug | DBGp Proxy: IDE Key: PHPSTORM, Host: Ваш IP-адрес локальной сети хост-машины, Port: 9001.
- Preferences | Languages & Frameworks | PHP | Servers: добавляем сервер, Host указываем Ваш IP-адрес локальной сети хост-машины, ставим галочку Use path mappings и настраиваем пути.