Виртуальная машина Битрикс, также известная как виртуальное окружение – это готовое официальное решение для развертывания и управления проектами, разработанными на платформе «1С-Битрикс».

Основные компоненты виртуальной машины Bitrix:

  • веб-серверы Apache и Nginx настроенные для работы с «1С-Битрикс»
  • база данных MySQL
  • Push & Pull сервер
  • кэширование Memcached

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

Установка виртуальной машины Битрикс

Установить Битрикс можно:

  1. Путем выбора предустановленной CMS при заказе сервера:

Предустановка Битрикс при заказе услуги

  1. При переустановке сервера:

Установка Битрикс на сервер

  1. Самостоятельно через консоль сервера. Для этого авторизуйтесь на сервере с установленной CentOS 7 под пользователем root.

Скачайте и запустите установочный файл:

wget https://repo.bitrix.info/yum/bitrix-env.sh && bash bitrix-env.sh

Процесс установки может занимать некоторое время и выглядит следующим образом:

Bitrix Environment for Linux installation script.
Yes will be assumed as a default answer.
Enter 'n' or 'no' for a 'No'. Anything else will be considered a 'Yes'.
This script MUST be run as root, or it will fail.

Установка должна завершиться следующим сообщением:

Bitrix Environment bitrix-env has been installed successfully.

Проверить установленные компоненты можно командами:

[~]# php -v
PHP 8.1.29 (cli) (built: Jun  5 2024 05:51:57) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.29, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.29, Copyright (c), by Zend Technologies
[~]# mysql -V
mysql  Ver 14.14 Distrib 5.7.44-48, for Linux (x86_64) using  6.2
[~]# nginx -v
nginx version: nginx/1.24.0
[~]# apachectl -V
    Server version: Apache/2.4.6 (CentOS)

Установка завершена, теперь необходимо выполнить первоначальную настройку. Для этого перезайдите по SSH, либо введите команду bash /root/menu.sh для открытия меню установленного окружения. Система запросит ввести новый пароль для пользователя bitrix (при вводе он не будет отображаться по причинам безопасности):

New password:
Retype new password:

Далее нужно создать пул путем добавления локального сервера:

This name must be unique within the pool.
You can use FQDN as name.
Please enter master server name (default: bitrix):

На этом этапе нажмите «Enter», вводить ничего не требуется. Далее появится:

If you want to add this server to an existing pool,
use one of these IPv4 addresses on the master server.
Available actions:
                  1. Create management pool on the server
                  2. Configure localhost settings
                  0. Exit.

Нажмите «1» и «Enter»:

Enter your choice: 1

Когда будет выведена строка Pool has been created successfully. Please enter any key, снова нажмите «Enter».

На этом установка окружения и его первоначальная настройка завершены.

Установка первого сайта на виртуальной машине Битрикс

По умолчанию система уже настроена для размещения сайта, база данных создана. Для завершения установки сайта нужно перейти по адресу прикрепленного домена, либо по IP-адресу сервера.

Обратите внимание: завершить установку нужно незамедлительно, оставлять процесс незаконченным нельзя. Мошеннические роботы могут завершить установку и начать зловредную деятельность (рассылка спама, майнинг, исходящие атаки и прочее).

Для завершения установки сайта нужно следовать инструкции установщика:

  • Выберите дистрибутив и введите лицензионный ключ при его наличии.
Виртуальная машина Bitrix
Выбор дистрибутива
Загрузка дистрибутива Bitrix
  • Примите лицензионное соглашение, при необходимости выполните регистрацию продукта (это необходимо для установки решений из маркетплейса), дождитесь завершения установки модулей и заполните данные администратора.
Примите лицензионное соглашение
Зарегистрируйтесь в системе
Заполните данные администратора
  • Выберите решение, шаблон и тему.
Выберите тип сайта
Выберите шаблон
Выберите тему сайта

На этом этапе можете заполнить основные данные сайта. Установка завершена, можете перейти в панель администратора сайта для его редактирования.

Заполните данные сайта
Перейдите на сайт
Админ-панель Bitrix

Файлы первого сайта расположены в каталоге /home/bitrix/www, база данных обычно имеет название sitemanager. Работа файлами сайта должна производиться через SFTP из-под пользователя bitrix. Подключение по FTP в виртуальной машине Битрикс не предусмотрено.

Как добавить сайт на Битрикс

Добавление новых сайтов производится через меню виртуальной машины. Авторизуйтесь по SSH. Если после авторизации меню не запустилось, вызовите его командой bash /root/menu.sh.

  • Перейдите в раздел «Configure pool sites».
  • Далее выберите «Create a site».
  • Введите адрес сайта.
  • Выберите link или kernel.

При выборе «link» сайт будет работать на базе ядра основного сайта в /home/bitrix/www (либо иного, который будет введен). В таких случаях обычно не требуется дополнительная лицензия. При выборе «kernel» будет установлен отдельный сайт со своим ядром и отдельной базой данных.

Общее меню
Меню управления сайтами
Создание сайта

Дополнительные сайты размещаются в каталоге /home/bitrix/ext_www, все действия с ними выполняются через SFTP из-под пользователя bitrix.

Установка Push & Pull сервера

Push & Pull сервер необходим для мгновенного взаимодействия между собой многих инструментов продуктов. Его установка обязательна при использовании корпоративного портала.

  • Перейдите в меню виртуальной машины с помощью команды bash /root/menu.sh
  • Откройте раздел «Configure Push/RTC service for the pool».
  • Перейдите к «Install/Update NodeJS RTC service».
  • Введите имя сервера (в нашем случае это bitrix) и нажмите «Enter».
  • Подтвердите установку вводом символа y и нажмите «Enter».
Общее меню
Меню управления Push & Pull
Установка Push & Pull

Установка будет завершена примерно в течение 10 минут. Проверить работу сервера Push & Pull можно в разделе «Инструменты» - «Проверка системы» - «Работа портала» - «Выполнить проверку» (доступно только для корпоративных порталов).

Все пункты должны быть успешные

Изменение версии PHP

В стартовом меню выберите:

  • «Manage servers in the pool»
  • «Update PHP and MySQL»
  • Введите название сервера (в нашем случае это bitrix).
  • Далее выберите «Upgrade PHP» (повысить версию) или «Downgrade PHP» (понизить версию).
  • Выберите нужную версию, подтвердите изменение символом y.
Общее меню
Меню управления сервером
Меню выбора сервера для обновления PHP и MySQL
Меню выбора повышения или понижения версии PHP
Меню выбора версии PHP

Проверить версию PHP можно через сайт в разделе «Настройки» - «Производительность» - «PHP».

Меню сайта на Битрикс
Как проверить версию PHP в Битрикс

Как установить сертификат безопасности

Установка бесплатного сертификата

Бесплатный сертификат от Let's Encrypt можно выпустить через меню виртуальной машины.

  • Перейдите в раздел «Manage pool web servers».
  • Выберите «Configure certificates».
  • Запустите «Configure "Let's encrypt" certificate».
  • Заполните данные сайта, для которого выпускаете сертификат (для сайта по умолчанию вводите default).
  • Подтвердите установку.
Общее меню
Меню управления веб-сервером
Меню выбора сертификата
Выпуск сертификата

Выпуск сертификата обычно занимает не более 5 минут. Если в течение этого времени сайт не стал доступен через защищенное соединение, значит выпуск завершился ошибкой.

Причины ошибки можно увидеть в файле /home/bitrix/dehydrated_update.log, а также в файле status нужной задачи. Для этого перейдите в каталог /opt/webdir/temp. Затем откройте каталог с идентификатором (например site_certificate_4305212326) нужной задачи и посмотрите содержимое файла status.

Проблемы выпуска или продления сертификатов

Наиболее частые причины проблем с выпуском сертификата:

  • нельзя выпустить сертификат на IP-адрес
  • домен работает с другого сервера и не может пройти проверку.

Отдельно отметим особенность выпуска и продления сертификатов в виртуальном окружении. Если на сервере какой-то из размещенных сайтов недоступен и для него ранее был подключен сертификат, то из-за этого могут быть проблемы с выпуском новых сертификатов и продлением существующих (это особенность dehydrated и настроек виртуального окружения Битрикс).

В данном случае нужно перейти в каталог /home/bitrix/dehydrated и удалить неиспользуемые домены из файла domains.txt, а также удалить упоминания домена или сами файлы из подкаталога domains, после можно повторить процедуру выпуска сертификатов. Повторное продление можно выполнить командой /home/bitrix/dehydrated/dehydrated --cron.

Подключение платного сертификата SSL на Битрикс

Создайте файл в каталоге /etc/nginx/ssl (это можно сделать через файловый менеджер из-под пользователя root) с произвольным именем (в нашем случае default.pem). В файл поместите сертификат сайта, приватный ключ и цепочку сертификатов издателя.

Добавление файла в каталог /ssl

Далее в меню виртуальной машины Bitrix:

  • откройте «Manage pool web servers»
  • выберите «Configure certificates»
  • запустите «Configure own certificate»
  • укажите имя сайта (для сайта по умолчанию введите default)

Далее трижды укажите путь до файла с сертификатом (будет запрошен путь к ключу, сертификату и цепочке сертификатов). Подтвердите установку.

Общее меню
Меню управления веб-сервером
Меню выбора сертификата
Установка сертификата

Настройка перенаправления на защищенное соединение

В меню виртуальной машины выберите:

  • Configure pool sites
  • Change a site's https settings

Укажите сайт (для сайта по умолчанию укажите default) и подтвердите запрет доступа через незащищенное соединение.

Общее меню
Меню управления сайтами
Перенаправление на защищенное соединение

Настройка почтового сервера на Bitrix

Если выполнена установка из нашего шаблона, то достаточно в файле /home/bitrix/.msmtprc отредактировать адрес отправителя (поле from).

При выполнении чистой установки для отправки писем через этот же сервер установите postfix командой yum install postfix и добавьте его в автозапуск командой systemctl enable --now postfix.

Создайте файл /home/bitrix/.msmtprc с указанным ниже содержимым для отправки писем через этот сервер:

logfile /home/bitrix/msmtp_default.log
host 127.0.0.1
port 25
from noreply@example.ru
keepbcc on
auth off

Для отправки писем можно использовать сторонние сервисы от Google или Яндекс, в данном случае устанавливать локальный почтовый сервер Postfix не требуется.

Для отправки через Яндекс создайте файл /home/bitrix/.msmtprc:

logfile /home/bitrix/msmtp_default.log
host smtp.yandex.ru
port 465
from noreply@yandex.ru
keepbcc on
auth on
user noreply@yandex.ru
password PaRoL465
tls on

Для отправки через Яндекс создайте файл /home/bitrix/.msmtprc:

logfile /home/bitrix/msmtp_default.log
host smtp.gmail.com
port 587
from noreply@gmail.com
keepbcc on
auth on
user noreply@gmail.com
password PaRoL465
tls on
tls_starttls on

В приведённых примерах замените адрес from и данные для авторизации user и password на свои.

При проблемах с отправкой писем нужно смотреть журнал /home/bitrix/msmtp_default.log, в нём будет информация об ошибках. Если используется локальный почтовый сервер postfix, то дополнительную информацию можно найти также в файле /var/log/maillog.

Отметим, что для корректной работы почты обычно требуется скорректировать PTR-запись для IP-адреса сервера (это можно сделать через поддержку хостинга), а также прописать SPF-запись для домена, указанного в качестве отправителя.

Преимущества использования виртуальной машины Битрикс

  • Все компоненты виртуальной машины настроены для обеспечения максимальной производительности сайтов на базе «1С-Битрикс».
  • Виртуальная машина предоставляет готовое окружение, что значительно упрощает процесс установки и настройки системы.
  • Комплексные настройки безопасности и регулярные обновления обеспечивают защиту от большинства распространенных угроз.
  • Можно легко масштабировать ресурсы в зависимости от нагрузки на сайт.

Это один из лучших инструментов для профессионалов, работающих с платформой «1С-Битрикс». Единственный его минус в том, что окружение базируется на операционной системе CentOS 7, срок поддержки которой истекает в июне 2024 года. Разработчики до сих пор не предложили какие-либо варианты перехода на другие, более актуальные операционные системы.