Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

Как установить Битрикс в Docker на Ubuntu

5458
8 минут чтения
Средний рейтинг статьи: 2.3

Инструкция обновлена 10 октября 2025 г.

«1С-Битрикс: Виртуальная машина» (BitrixVM) изначально создавалась под CentOS и была тесно связана с этим дистрибутивом. Но CentOS ушел с рынка, а официальные сборки теперь выходят только под AlmaLinux, Rocky Linux, Oracle Linux и CentOS Stream. Для тех, кто работает на Ubuntu, это означает: ни BitrixVM, ни BitrixEnv официально не подходят.

В данном руководстве мы разберем процесс развертывания «1С-Битрикс» с использованием Docker-контейнеров в среде Ubuntu. Настроим веб-сервер и PHP-FPM, подключим базу данных, установим Bitrix через официальный скрипт и убедимся, что сайт запускается в браузере. 

Важно: описанное ниже решение не является полноценной BitrixVM. Мы воссоздаем функциональность виртуальной машины в Docker. Такой подход повторяет ключевые возможности BitrixVM (Nginx, PHP-FPM, MariaDB, настройка окружения), но при этом не зависит от конкретного дистрибутива. При этом мы жертвуем быстродействием Битрикса. 

Подготовка окружения

Для запуска Bitrix в Docker на Ubuntu понадобится облачный сервер. Например, можно воспользоваться сервером от Timeweb Cloud — здесь самая бюджетная конфигурация стоит 300 ₽, а доступность составляет 99,98%. Арендуйте сервер и подключитесь к нему через SSH — для работы понадобится доступ к командной строке. 

Установите Docker. Это можно сделать с помощью нескольких команд:

    

После завершения установки можно приступать к конфигурации Docker-инфраструктуры.

Структура проекта

Каталог проекта для Bitrix с компонентами Nginx, PHP-FPM и MariaDB имеет следующую организацию:

    

Далее в статье разберем, за что отвечает каждый файл. 

Создайте директорию проекта и перейдите в нее. В строке ниже project — это название директории.

    

Файл конфигурации Docker Compose

Создайте файл docker-compose.yml — основной элемент проектной архитектуры. В нем определены все необходимые сервисы для функционирования Bitrix. Docker Compose обеспечивает запуск компонентов единой командой, управление зависимостями и централизованное хранение настроек.

Для создания файла и ввода конфигурации используйте текстовый редактор nano:

    

Вставьте в файл шаблон конфигурации:

    

Выйдите из редактора nano комбинацией клавиш Ctrl + X, а далее нажмите на кнопку Y для сохранения изменений. 

Управление параметрами через .env

В docker-compose.yml пароли и учетные данные не прописываются напрямую, а передаются через переменные окружения из файла .env. Такой подход повышает безопасность (конфиденциальные данные не хранятся в открытом виде) и упрощает управление настройками. Каждый разработчик может использовать персональный .env, а для production- и development-сред задавать разные параметры без модификации docker-compose.yml.

В итоге получается следующий файл .env:

    

Настройка Nginx

Перейдем к конфигурации файла nginx.conf. Этот файл определяет правила обработки запросов веб-сервером:

  • указывает Nginx прослушивать порт 80 и обрабатывать запросы по адресу http://localhost;
  • определяет корневой каталог /var/www/html как место размещения файлов Bitrix;
  • задает приоритетные индексные файлы index.php и index.html;
  • настраивает обработку ошибок 404 через index.php (требуется для работы Bitrix);
  • определяет передачу PHP-запросов в контейнер с PHP-FPM для выполнения.

Вставьте в файл nginx.conf эту конфигурацию:

    

Подготовка образа PHP через Dockerfile

Создайте файл Dockerfile в директории php. Он необходим для установки всех требуемых модулей PHP, обеспечивающих работу «1С-Битрикс».

Базовый образ php:8.1-fpm содержит только ядро PHP и менеджер FPM. Для корректной работы Bitrix требуется дополнительный набор расширений: обработка изображений, взаимодействие с СУБД, архивами и XML. В Dockerfile выполняется установка необходимых библиотек и активация модулей PHP.

Файл выглядит так:

    

Что здесь происходит:

  • мы подключаем библиотеки для работы с изображениями, архивами, XML и LDAP;

  • настраиваем модуль gd, чтобы PHP умел работать с картинками в формате JPEG и со шрифтами;

  • устанавливаем расширения gd, mysqli, opcache, zip, xml, ldap, которые требуются Битриксу для корректной работы;

  • очищаем кеш пакетов, чтобы образ занимал меньше места.

Конфигурация PHP — bitrix.ini

Стандартные параметры образа PHP не соответствуют требованиям «1С-Битрикс». В отличие от BitrixVM, где настройки предопределены, в Docker их необходимо задавать вручную. Для этого создается файл php/conf.d/bitrix.ini, который монтируется в контейнер через docker-compose.yml.

    

Главное преимущество такого подхода в том, что настройки не сбрасываются после перезапуска контейнера. Они всегда остаются одинаковыми для всех членов команды, и их удобно менять прямо в одном файле.

Создание папки bitrix и скачивание BitrixSetup

Осталось подготовить папку для файлов самого Битрикса. В корне проекта создайте директорию bitrix — именно сюда будут устанавливаться файлы CMS.

    

Затем скачайте в нее официальный установочный скрипт BitrixSetup:

    

Важно: иногда при запуске BitrixSetup появляются ошибки вида Permission denied. Это значит, что контейнеру не хватает прав на запись в директорию ./bitrix. Самый быстрый способ решить проблему для локальной разработки — дать полный доступ:

    

Однако это небезопасный вариант: все пользователи на сервере получат права на запись. Для продакшн-среды рекомендуется правильно настроить владельца и группу файлов (UID/GID или пользователя www-data). Подробно про права доступа написано в документации.

Запуск контейнеров

После подготовки всех компонентов (docker-compose.yml, .env, nginx.conf, Dockerfile для PHP и директории bitrix) запустите проект командой:

    

Флаг -d обеспечивает фоновый режим работы контейнеров. Система автоматически соберет образ PHP, загрузит образы Nginx и MariaDB, и запустит три сервиса: базу данных, PHP-процессы и веб-сервер.

Проверьте статус контейнеров:

    

При успешном запуске откройте в браузере http://localhost/bitrixsetup.php — вы увидите установочный мастер «1С-Битрикс».

Важный момент: при настройке подключения к базе данных в мастере установки вместо localhost укажите db — это имя сервиса MariaDB из docker-compose.yml. Внутри Docker-сети контейнеры взаимодействуют по именам сервисов, а не через локальный хост.

Заключение

Использование Docker особенно эффективно для локальной разработки и тестирования благодаря быстрому развертыванию. В production-средах необходимо уделить внимание настройке прав доступа, организации резервного копирования и обеспечению безопасности конфигурационных файлов.

5458
8 минут чтения
Средний рейтинг статьи: 2.3

Читайте также

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server