Расширение функционала Bitrix 24/Введение
На данный момент максимальная допустимая версия PHP для Битрикс - 7.2
Многие рекомендуют для установки Битрикс использовать виртуальную машину - «1C-Битрикс: Виртуальная машина». ВМ создана на основе дистрибутива Centos 7.
Системные требования Bitrix24 для ручной настройки можно найти тут.
Выбор веб-сервера
правитьapache
правитьНастроить Apche гораздо проще чем nginx.
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/conf-available/ssl.conf
sudo a2ensite example.com
sudo a2dissite 000-default.conf
sudo a2enconf ssl.conf
sudo systemctl restart apache2
nginx
правитьЕсли вы решили использовать nginx, то настоятельно рекомендуется использовать образ виртуальной машины от Битрикс.
Как ни странно, но процесс установки может существенно отличаться в зависимости от используемого сервера. Если вы видите такие настройки:
и в заголовке страницы указана версия продукта - Энтерпрайз (хотя вы устанавливаете другую), то вы используете nginx и возможно установка не сможет завершиться корректно.
Если возникает ошибка:
- Bitrix site manager must be installed in web server root directory
то необходимо произвести следующие настройки.
Настройка семантических адресов для nginx описана тут.
Серверное окружение
правитьСразу настройте необходимые директивы в php.ini и
short_open_tag=On
display_errors = On
max_input_vars = 10000
memory_limit = 1024M
mbstring.func_overload = 2
date.timezone = 'Europe/Moscow'
post_max_size = 100M
upload_max_filesize = 100M
error_log = php-errors.log
Перед установкой нужно убедится в возможности записи в целевую директорию:
sudo usermod -a -G www-data username
sudo chown -R www-data:www-data /var/www
sudo chmod -R ug+rw /var/www/html
Всегда создавайте отдельного пользователя БД для каждого сайта
CREATE USER 'bitrix'@'localhost' IDENTIFIED BY 'password';
-- CREATE DATABASE bitrix CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE bitrix DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON bitrix.* TO 'bitrix'@'localhost';
FLUSH PRIVILEGES;
У Битрикс происходит проверка установки переменной окружения getenv('BITRIX_VA_VER'). Установить ее можно вручную в /local/php_interface/init.php или /bitrix/php_interface/init.php добавив туда:
//Номер последней версии смотрим тут - http://repos.1c-bitrix.ru/yum/bitrix-env.version
putenv("BITRIX_VA_VER=7.4-3");
// error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT);
//ini_set('display_errors', '1');
ini_set('default_charset', 'utf-8');
ini_set('mbstring.internal_encoding', 'UTF-8');
ini_set('mbstring.func_overload', 2);
Еще может понадобится установить переменные окружения для MySQL в файле /bitrix/php_interface/after_connect.php:
$DB->Query("SET NAMES 'utf8'");
$DB->Query('SET collation_connection = "utf8_unicode_ci"');
$DB->Query('SET innodb_strict_mode = "off"');
$DB->Query("SET sql_mode = ''");
$DB->Query("SET wait_timeout=28800");
Убираем ограничение на максимальное количество открытых файлов в /etc/sysctl.conf:
fs.file-max=512000
Или тоже действие для конкретного пользователя - /etc/security/limits.conf:
www-data soft nofile 100000
www-data hard nofile 100000
Если не сработает, то остается костыль - прописать
ulimit -n 100000
#ulimit -s unlimited
в /etc/default/apache2
для проверки:
cat /proc/sys/fs/file-max
Установка Bitrix
правитьПеред установкой Битрикса рекомендуется выполнить скрипт проверки сервера. Он проверяет соответствует ли он техническим требованиям Битрикса.
Загрузить любой дистрибутив непосредственно на хостинг можно с помощью скрипта BitrixSetup
wget https://www.1c-bitrix.ru/download/scripts/bitrixsetup.php
Кроме того, скрипт позволяет распаковать дистрибутив без доступа к порталу по ssh или внешними программами.
Настройка после установки
правитьСразу после установки переведите работу агентов на cron.