Веб-сервер, який може виконувати PHP застосунки
Apache (рекомендовано) – система також успішно працює на версії 2.4.х.
nginx – потрібне самостійне налаштування для коректної роботи. Версія – бажано остання стабільна 1.16.х і вище.
Вимоги до PHP
Для роботи продукту потрібна наявність PHP версії не нижче 7.1.х. Вибір PHP-версії залежить від вимог, що пред'являються вашим хостинг-провайдером, або від встановленої версії PHP на локальному комп'ютері. Рекомендується використовувати саму останню стабільну версію PHP, щоб виключити можливість появи помилок, пов'язаних з PHP, а також для більшої безпеки.
Для коректної роботи також потрібна наявність наступних розширень PHP:
- GD – бібліотека для роботи з зображеннями. Потрібно для побудови графіків і діаграм для модулів статистики, реклами, техпідтримки. Використовується для роботи механізму CAPTCHA.
- PHP XML – використовується для роботи системи оновлень. Бібліотека за замовчуванням включена в стандартній установці PHP. Для версії під Windows - підтримка вбудована.
- FreeType – бібліотека необхідна для коректної роботи механізмуCAPTCHA.
- Підтримка регулярних виразів (POSIX и Perl-compatible) – необхідна для коректної роботи внутрішніх механізмів.
- Zlib compression –бібліотека компресії. Використовується для роботи модуля Компресії і при роботі системи оновлень для зменшення кількості переданих даних від сервера до клієнта.
- Дуже рекомендується наявність акселератора PHP (OPcache, XCache, APC та іншого). Рекомендується OPcache, входить до складу PHP v5.5+.
- Прекомпілятор XCache: його параметр для коректної роботи продукту повинен бути вимкнений -
xcache.cacher = Off
. - eAccelerator несумісний з PHP v5.3+ більше не підтримується в продуктах «Бітрікс» з версії ядра 15.0.13. Детальніше див. у блозі розробників.
- Для бази даних MySQL доступна кодування UTF-8. Для коректної підтримки кодування UTF необхідно перевірити, чи встановлений в PHP модуль mbstring. Для цього в налаштуваннях PHP, в файлі php.ini, має бути:
mbstring.func_overload=0
default_charset=UTF-8
Для коректної роботи необхідно встановити наступні параметри PHP:
- Об'єм пам'яті в байтах, який дозволяється використовувати для роботи PHP ядру продукту (в даному випадку - 256 Мб).
memory_limit = 256M;
Зазначений параметр може бути змінений
- безпосередньо в файлі php.ini;
- із скрипта за допомогою функції:
ini_set("memory_limit", "256M");
Такий рядок додається у файлі /bitrix/php_interface/dbconn.php в момент встановлення, значення задається користувачем.
- у файлі .htaccess з використанням директиви:
php_value memory_limit 256M
Встановлення параметрів PHP з .htaccess можливе тільки при виконанні наступних умов:- використовується веб-сервер Apache або сумісний з ним (IIS не є сумісним сервером);
- файли .htaccess обробляються веб-сервером, тобто в налаштуваннях веб-сервера(httpd.conf) встановлена директива:
AllowOverride All
або інше значення, відмінне від отNone
; - PHP встановлений як модуль Apache (в разі, якщо PHP працює як CGI, всі необхідні значення слід врахувати і встановити при складанні PHP)
- у файлі httpd.conf з використанням директиви:
php_admin_value memory_limit 256M
file_uploads = On;
Додатково до зазначеного параметру встановлюються значення наступних параметрів:
upload_tmp_dir = <ім'я каталога>
Необхідно, щоб вказаний каталог існував і на нього були права на запис для користувача, під яким працює веб-сервер.upload_max_filesize = <достатній размір>
session.save_path
не налаштований у файлі php.ini, то за замовчуванням буде використано значення /tmp
.
У разі, якщо в параметрах URL на сервері з'являється PHPSESSID=...
,вимкнути його можливо таким чином:
- У файлі php.ini встановити: [
session.use_trans_sid = 0
- У файлі .htaccess встановити: :
php_flag session.use_trans_sid off
Для демонстраційного сайту, рядок включено в зазначений файл, потрібно тільки розкоментувати його.
Підтримка баз даних
MySQL – бажано використовувати версії MySQL 5.7 і вище.
Для роботи з СУБД MySQL також потрібна встановлена підтримка MySQL для PHP.
Місце на жорсткому диску
Рекомендовано виділяти як мінімум 10Гб на початковому етапі без урахування ОС. Залежно від кількості документів місця може знадобитися і більше, але 10Гб - це мінімум.
Оперативна пам'ять
Мінімум 1Гб. Якщо використовується Push&Pull сервер - то 2Гб і вище.
Конфігурації серверів для коробки Бітрікс24
Ми підібрали приблизні конфігурації серверів:
- До 50 користувачів: Intel Xeon E3-1230v5 3.4 ГГц, 4 ядра / 2 × 2 Тб HDD під файли порталу / 2 х 256 Гб SSD під файли бази даних / 16 Гб DDR4.
- 50 - 100 користувачів: Intel Xeon E3-1230v5 3.4 ГГц, 4 ядра / 2 × 2 Тб HDD під файли порталу / 2 х 256 Гб SSD під файли бази даних / 24 Гб DDR4.
- 100 - 500 користувачів: Intel Xeon E3-1230v5 3.4 ГГц, 4 ядра / 2 × 2 Тб HDD під файли порталу / 2 х 256 Гб SSD під файли бази даних / 32 Гб DDR4.
- 500 - 1000 користувачів: Intel Xeon E5-1650v4 3.6 ГГц, 6 ядер / 2 × 4 Тб HDD під файли порталу / 2 х 480 Гб SSD під файли бази даних / 64 Гб DDR4.
- 1000 - 5000 користувачів: Intel Xeon E5-1650v4 3.6 ГГц, 6 ядер / 2 × 4 Тб HDD під файли порталу / 2 х 480 Гб SSD під файли бази даних / 128 Гб DDR4.
- Від 5000 користувачів: 2 сервери Intel Xeon E5-1650v4 3.6 ГГц, 6 ядер / 2 × 4 Тб HDD під файли порталу / 2 х 480 Гб SSD під файли бази даних / 128 Гб DDR4.
Ці конфігурації приблизні, і більшості проектів буде потрібно значно менше ресурсів. А комусь, навпаки, може і не вистачити.