Перейти к содержанию

Расширение функционала Bitrix 24/Введение

Материал из Викиучебника — открытых книг для открытого мира

На данный момент максимальная допустимая версия PHP для Битрикс - 7.2

Многие рекомендуют для установки Битрикс использовать виртуальную машину - «1C-Битрикс: Виртуальная машина». ВМ создана на основе дистрибутива Centos 7.

Системные требования Bitrix24 для ручной настройки можно найти тут.

Выбор веб-сервера

[править]

Настроить 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 и возможно установка не сможет завершиться корректно.

Если возникает ошибка:

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.

Ссылки

[править]