Настройка серверного окружения для 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка серверного окружения для 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка серверного окружения для 1С-Битрикс

1С-Битрикс предъявляет конкретные требования к версиям и конфигурации ПО: несовместимость PHP с установленной версией ядра, неправильные настройки open_basedir, отсутствие расширений mbstring или gd — всё это приводит либо к белому экрану, либо к деградации части функционала без явных ошибок. Настройка окружения «под Битрикс» — это не просто установка LAMP-стека.

Требования к стеку

Актуальные рекомендации для Битрикс (проверяйте в системных требованиях вашей версии):

Компонент Рекомендуемая версия Минимум
PHP 8.1–8.2 7.4
MySQL/MariaDB 8.0 / MariaDB 10.6 MySQL 5.7
Nginx 1.20+ 1.18
PHP-FPM в связке с PHP
Redis / Memcached Redis 7 / Memcached 1.6

Битрикс VM или чистый сервер

Bitrix Environment (bitrixenv) — официальный инсталлятор Битрикс для CentOS/Rocky Linux, устанавливает весь стек с оптимизированными для Битрикс конфигурациями:

wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh
chmod +x bitrix-env.sh
./bitrix-env.sh

Плюсы: автоматическая настройка nginx + apache + php-fpm, готовые конфиги Битрикс, встроенный скрипт bx-manage.sh для управления. Минусы: привязка к CentOS/Rocky, сложнее кастомизировать.

Ubuntu/Debian (ручная настройка) — больше контроля, проще интегрировать с современными инструментами (Docker, Ansible, GitLab CI):

# PHP 8.1 из ppa:ondrej/php
add-apt-repository ppa:ondrej/php
apt install php8.1-fpm php8.1-mysql php8.1-mbstring php8.1-gd \
            php8.1-curl php8.1-xml php8.1-zip php8.1-opcache \
            php8.1-intl php8.1-soap

PHP-расширения обязательные для Битрикс

Без этих расширений отдельные модули работать не будут:

  • mbstring — работа с кириллицей
  • gd или imagick — ресайз изображений через CFile::ResizeImage()
  • curl — HTTP-запросы (оплата, интеграции, SMS)
  • soap — интеграция с 1С
  • zip — обновление через маркетплейс
  • opcache — критически важен для производительности
  • pcre — шаблонный движок компонентов

Параметры php.ini под Битрикс

memory_limit = 256M           ; минимум 128M, для импорта 1С — 512M
max_execution_time = 120      ; стандарт; для крон-задач — 0
upload_max_filesize = 100M    ; загрузка файлов в медиабиблиотеку
post_max_size = 110M
max_input_vars = 10000        ; Битрикс-формы с множеством полей
default_charset = UTF-8
date.timezone = Europe/Moscow
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 20000
opcache.revalidate_freq = 60  ; в prod можно 300

Права на директории

Битрикс требует записи в несколько директорий:

chown -R www-data:www-data /var/www/bitrix
chmod -R 755 /var/www/bitrix
chmod -R 777 /var/www/bitrix/bitrix/cache
chmod -R 777 /var/www/bitrix/upload
chmod -R 777 /var/www/bitrix/bitrix/managed_cache

open_basedir — частый источник проблем. Если включён, добавляем пути Битрикс:

open_basedir = /var/www/bitrix:/tmp:/var/log/php

Кейс: переезд на новый сервер

Магазин переезжал с хостинга (PHP 7.4, MySQL 5.7) на VPS (PHP 8.1, MySQL 8.0). После переноса: каталог не отображался, в логах — Notice: Undefined variable и mysql_num_rows(): Argument #1 must be of type mysqli_result. Причина: устаревший код шаблона использовал старое MySQL API, несовместимое с PHP 8.

Решение: включить error_reporting = E_ALL в dev-окружении, исправить устаревшие вызовы, заменить на $result->num_rows. Плюс выставить sql_mode = '' в MySQL 8 временно для обратной совместимости до рефакторинга.

Срок настройки окружения с нуля на VPS под Битрикс: 1–2 дня.