Расширение функционала 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.

Ссылки[править]