База знаний

Часто задаваемые вопросы, на которые мы уже ответили

Bitrix Virtual Machine

Bitrix VM — бесплатное ПО, созданное на основе CentOS, разработанное специально для CMS 1С-Битрикс.

На данный момент существует две версии Bitrix VM:

  • 5.x — окружение настроено для работы со старыми версиями CMS, используется PHP 5.6 и MySQL 5.5.
  • 7.х — актуальная ветка для последних версий CMS, используется PHP 7.1 и MySQL 5.7.

Стоит отметить, что установка панелей управления на Bitrix VM не предусмотрена.

Начальная настройка окружения

При подключении к серверу под пользователем root появляется список интерфейсов и меню управления.

  • Для выхода из меню нужно нажать 0.
  • Для его повторного запуска выполнить скрипт:
/root/menu.sh

Для начала работы с сервисами необходимо создать и настроить пул сервера.

  • Выбираем пункт главного меню 1. Create Management pool of server и вводим название сервера (чтобы оставить по умолчанию нажимаем Enter)
Enter new name for master (default=box-16504.localdomain):

После создания пула можно перейти к настройке одного или нескольких сайтов.

Добавление сайта

Чтобы сайт был доступен в браузере для установки CMS/восстановления, его необходимо добавить с помощью меню управления.

Для этого необходимо:

  • В главном меню переходим к управлению сайтами:
6. Manage sites in the pool
  • Далее выбираем пункт 1:
1. Create a site.
  • Вводим доменное имя сайта. Если домен сайта не разрешается в IP-адрес бокса, нужно предварительно добавить запись в /etc/hosts:
Enter the site name (e.g. example.org) or 0 to exit: bitrixvm.sh
  • Выбираем тип установки:
    • kernel — отдельный сайт.
    • ext_kernel — отдельный сайт с возможностью мультисайтовости.
    • link — новый сайт в рамках мультисайтовости Bitrix (будет работать только при наличии сайта с типом ext_kernel):
Enter site type (link|kernel|ext_kernel):
  • Выбираем кодировку:
Enter site encoding (UTF-8|windows-1251): 
  • Разрешаем новому сайту использовать планировщик, введя y:
Do you want to enable cron for this site? (N|y)
  • В следующем пункте вводим N, чтобы оставить имени БД, пользователя, пароля и корневого каталога сайта по умолчанию (путь — /home/bitrix/ext_www/domain.ru), или y для ручного ввода:
Do you want to specify them? (N|y)

Установка SSL-сертификата

Для установки SSL-сертификата необходимо:

  • Объединяем файлы domain_ru.ca-bundle и domain_ru.crt в один файл, например, ssl-bundle.crt:
cat domain_ru.ca-bundle domains_ru.crt >> ssl-bundle.crt
  • Полученный файл ssl-bundle.crt и приватный ключ размещаем в директории /etc/nginx/ssl.
  • Создаем конфигурационный файл для сайта, копируя стандартный:
cp /etc/nginx/bx/conf/ssl.conf /etc/nginx/bx/conf/domain_ssl.conf
  • Вносим пути к сертификату и ключу в созданный файл domain_ssl.conf:
ssl_certificate         /etc/nginx/ssl/ssl-bundle.crt;
ssl_certificate_key     /etc/nginx/ssl/private.key;
  • В файле /etc/nginx/bx/site_avaliable/ssl.s1.conf указываем путь к сертификату:
# Enable SSL connection
include bx/conf/domain_ssl.conf;
  • Проверяем конфигурацию Nginx на наличие ошибок и перезагружаем веб-сервер, чтобы применить изменения:
nginx -t
systemctl restart nginx.service

Инструкция по установке SSL-сертификата также доступна в официальной документации.

Автоматическая установка SSL-сертификата Let's Encrypt на Bitrix VM 7.2

 Установка SSL-сертификата Let's Encrypt выполняется с помощью встроенного меню /root/menu.sh.

  • В первом меню выбираем пункт:
8.  Manage web nodes in the pool
  • Переходим в управление сертификатами:
3. Certificates configuration
  • Для установки Let's Encrypt выбираем соответствущий пункт:
1. Configure Let's encrypt certificate
  • Вводим имя сайта (выбираем из таблицы выше):
Enter site name (default): site.ru
  • Далее вводим домен сайта, для которого нужно установить сертификат (значения указываются через запятую):
Enter DNS name(s): site.ru, www.site.ru
  • Указываем адрес электронной почты администратора:
Enter email for Let's encrypt notifications: admin@site.ru
  • Подтверждаем установку:
Please confirm update certificate settings for sites (site.ru) (N|y): Y

После этого все необходимые действия будут произведены автоматически. Через несколько минут можно проверять работу сайта по HTTPS.

Обновление Bitrix VM до версии 7.2 (и старше)

В последней версии виртуального окружения Bitrix VM 7.2 выпущена функция установки Let's Encrypt и другие важные изменения.

Для обновления Bitrix VM выполняем следующие действия:

  • Скачиваем bitrix-env.sh с официального репозитория Битрикс:
wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh
  • Добавляем скрипту права на исполнение:
chmod +x bitrix-env.sh
  • Запускаем обновление:
./bitrix-env.sh
  • Когда процесс завершен, заходим в меню окружения новой версии:
./menu.sh
Bitrix virtual appliance version 7.3.0

Подключение модулей PHP

Предустановленные модули

По умолчанию в Bitrix VM установлено большое количество различных модулей, но некоторые из них отключены за ненадобностью.

Файлы модулей хранятся в /etc/php.d с расширением .ini. Те, что с суффиксом .disabled — отключены.

Пример подключения cURL

  • Проверяем, что модуль отключен:
[root@server php.d] php -m | grep -i curl
[root@server php.d]
  • Переходим в директорию /etc/php.d и ищем там ini-файл с именем curl:
[root@server ~] cd /etc/php.d
[root@server php.d] ls | grep -i curl
20-curl.ini.disabled
  • Активируем модуль, убирая из имени файла суффикс .disabled:
[root@server php.d] mv 20-curl.ini.disabled 20-curl.ini
  • Проверяем, что модуль добавлен:
[root@server php.d] php -m | grep -i curl
curl
  • Для вступления изменений в силу перезагружаем Apache:
[root@server php.d] systemctl restart httpd

Подключение установленных вручную модулей PHP

Для модуля необходимо создать ini-файл в каталоге /etc/php.d, добавлять информацию напрямую в php.ini не рекомендуется.

Пример установки модуля xmlwritter

  • Выполняем установку модуля:
[root@server php.d]  yum install php-xmlwriter -y
  • Создаем файл /etc/php.d/20-xmlwriter.ini с путем модулю.  Если библиотека собрана из исходников, а не установлена через yum, необходимо указать полный путь до .so файла:
; Enable xmlwriter extension module 
extension=xmlwriter.so
  • Проверяем, что модуль добавлен:
[root@server php.d] php -m | grep xmlwriter
xmlwriter
  • Для вступления изменений в силу перезагружаем веб-сервер Apache:
[root@server php.d] systemctl restart httpd
Была ли эта инструкция полезной?