Налаштування серверного середовища для 1С-Бітрікс
Нерідко після оновлення PHP сайт перестає працювати. Типова ситуація для власників проектів на 1С-Бітрікс: оновлення модуля, зміна версії PHP або перенесення на новий сервер часто супроводжуються помилками сумісності середовища. Саме налаштування серверного середовища — ключовий фактор стабільної роботи. Неправильні параметри php.ini, відсутність розширень, неправильні права доступу призводять до білого екрану, 500-х відповідей або зниження продуктивності. Наш досвід показує: правильне середовище дає приріст продуктивності в 2–3 рази без змін у бізнес-логіці.
Білий екран після оновлення PHP — типова ситуація. Або помилка mysql_* functions are deprecated при встановленні нового модуля. У 9 випадках з 10 проблема не в коді, а в середовищі: неправильні версії, відсутні розширення, невірні права доступу. Правильне налаштування дозволяє не тільки усунути помилки, але й значно пришвидшити роботу сайту.
Ми — команда сертифікованих фахівців з 1С-Бітрікс. Налаштуємо серверне середовище під ключ, щоб ви забули про сумісність. Уже налаштували понад 50 проектів — від простих VPS до високонавантажених кластерів.
Які вимоги до сервера висуває 1С-Бітрікс?
Актуальні рекомендації для Бітрікс (перевіряйте в системних вимогах вашої версії):
| Компонент | Рекомендована версія | Мінімум |
|---|---|---|
| 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 VM — офіційний інсталятор під CentOS/Rocky Linux з готовими конфігами та скриптом bx-manage.sh. Він хороший для швидкого старту, але прив'язаний до конкретної ОС і складно кастомізується. Ручне налаштування на Ubuntu/Debian дає повний контроль: ви обираєте версії компонентів, легко інтегруєте Docker, Ansible, GitLab CI. Для проектів з нестандартними вимогами ручне налаштування ефективніше в 2–3 рази, оскільки дозволяє адаптувати кожну деталь під бізнес-логіку.
Чому правильна конфігурація PHP критична?
Без точного налаштування PHP-розширень та php.ini Бітрікс працює нестабільно. Ось обов'язкові розширення:
-
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/Kyiv opcache.enable = 1 opcache.memory_consumption = 256 opcache.max_accelerated_files = 20000 opcache.revalidate_freq = 60 ; у prod можна 300 Як налаштовувати права доступу та open_basedir?
Бітрікс вимагає запису в кілька директорій. Правильні права — основа безпеки та стабільності:
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 Як налаштувати MySQL для Бітрікс?
MySQL потребує уваги до параметрів innodb_buffer_pool_size (70% від RAM для InnoDB) та sql_mode. У MySQL 8.0 за замовчуванням ONLY_FULL_GROUP_BY може зламати старі запити. Зазвичай ставимо sql_mode = '' до рефакторингу. Також важливий параметр max_allowed_packet — для інтеграцій з 1С ставте 256M.
| Параметр | Значення | Коментар |
|---|---|---|
| innodb_buffer_pool_size | 70% RAM | Для індексів та даних |
| sql_mode | '' | Вимкаємо суворі режими |
| max_allowed_packet | 256M | Для обміну з 1С |
| character_set_server | utf8 | Кирилиця без проблем |
З нашої практики: переїзд на новий сервер
Наш клієнт — інтернет-магазин з каталогом на 10 000 товарів — переїжджав з хостингу (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 до рефакторингу. Після налаштування кешування через Redis час генерації сторінок скоротився вдвічі. Економія на серверних ресурсах склала близько 30%. Крім того, час виконання агентів знизився на 50%, що дозволило відмовитися від додаткового сервера.
Склад налаштування серверного середовища для 1С-Бітрікс
- Аналіз поточного стеку — перевірка версій, конфігурацій, сумісності.
- Встановлення та налаштування стеку — PHP, MySQL, Nginx, Redis, Memcached.
- Оптимізація
php.iniтаmy.cnf— під конкретний проект з урахуванням навантаження. - Налаштування прав доступу —
chmod,chown,open_basedir. - Тестування продуктивності — навантажувальне тестування, перевірка кешування.
- Документація та навчання — передаємо доступи, конфіги, інструкції з обслуговування.
Як ми налаштовуємо: етапи роботи
- Аналіз поточного середовища та вимог проекту.
- Проектування цільового стеку з урахуванням навантаження та бюджету.
- Реалізація: встановлення та конфігурація всіх компонентів.
- Тестування: функціональне, навантажувальне, перевірка інтеграцій.
- Запуск і супровід: передача документації, підтримка після запуску.
Орієнтовні строки
- Стандартний проект (VPS, без міграції) — 1–2 дні.
- Складний проект (міграція, нестандартний стек) — 2–3 дні.
- Повний супровід після запуску — від 1 дня на місяць.
Замовте налаштування серверного середовища для 1С-Бітрікс під ключ. Оцінимо ваш проект за 1 день. Зв'яжіться з нами — підберемо оптимальний стек під ваше навантаження.
Офіційна документація 1С-Бітрікс: https://dev.1c-bitrix.ru/community/webdev/user/1/index.php







