Налаштування серверного оточення для 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування серверного оточення для 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування серверного оточення для 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

Bitrix 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 дні.