Установка CRM Битрикс24 на Linux CentOS

Обновлено Обновлено: Опубликовано Опубликовано:

Есть несколько способов установить CRM Битрикс24 — развернуть готовую виртуальную машину BitrixVM или установить коробку с помощью готового веб окружения. В данной инструкции мы будем использовать второй метод.

Установка веб-окружения

Битрикс24 является веб приложением и для своей работы требует установленного и настроенного веб-сервера. Для этого у 1С есть готовый скрипт — нам просто нужно его загрузить и запустить.

И так, скачиваем скрипт:

yum install wget

wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh

* первая команда установит утилиту wget, если ее нет.

Даем права скрипту на выполнение:

chmod +x bitrix-env.sh

... и запускаем его:

./bitrix-env.sh

Мы увидим приветствие, в котором говорится, что на все вопросы по умолчанию будет ответ «Да» (Yes) и при необходимости ответить «Нет» нужно ввести n. Также скрипт должен быть запущен от пользователя root:

====================================================================
Bitrix Environment for Linux installation script.
Yes will be assumed as a default answer.
Enter 'n' or 'no' for a 'No'. Anything else will be considered a 'Yes'.
This script MUST be run as root, or it will fail.
====================================================================

... и следом, если на сервере работает SELinux, первый вопрос — согласны ли мы его отключить. Отвечаем утвердительно, нажав Enter:

You have to disable SElinux before installing Bitrix Environment.
Do you want to disable SELinux?(Y|n)

Скрипт вернет ответ, что SELinux выключен и потребует перезагрузки сервера:

SELinux status changed to disabled in the config file /etc/selinux/config.
SELinux status changed to disabled in the config file /etc/sysconfig/selinux.
Please reboot the system! (cmd: reboot)

... перезагружаем (если отключали SELinux):

shutdown -r now

После перезагрузки снова запускаем скрипт:

./bitrix-env.sh

* перед этим необходимо перейти в каталог, куда мы его скачивали.

Начнется процесс установки обновлений, загрузки пакетов и развертывания необходимого программного обеспечения — просто ждем.

В конце мы должны увидеть следующее:

Bitrix Environment bitrix-env has been installed successfully.

Смотрим пароль для подключения к базе mysql:

cat /root/.my.cnf

Мы увидим что-то на подобие:

...
password='3XJ2|~HnBJB7jsS~L8F7'
...

* где 3XJ2|~HnBJB7jsS~L8F7 — пароль для подключения к базе данных.

Веб-окружение установлено.

Установка Битрикс24

Открываем браузер и переходим по ссылке https://<IP-адрес сервера>/bitrixsetup.php — откроется окно приветствия. Меняем язык на русский и кликаем по кнопке Установить:

Начинаем установку Битрикс24

В открывшемся окне выбираем дистрибутив 1С-Битрикс24 и демонстрационную версию (если у нас есть ключ, то можно выбрать коммерческую лицензию и ввести его), после нажимаем по кнопке Загрузить:

Выбираем дистрибутив и демонстрационную версию продукта

... начнется процесс загрузки дистрибутива. После его окончания откроется мастер установки — на первой странице принимаем лицензионное соглашение и нажимаем Далее:

Принимаем лицензионное соглашение при установке

На странице «Регистрация продукта» можно снять галочку для заполнения формы регистрации:

Регистрация Битрикс24 при его установке

Начнется процесс установки Битрикс24. Ждем — откроется окно создания учетной записи администратора. Заполняем веб-формы и кликаем Далее.

Откроется страница настройки портала. Кликаем Далее до пункта «Настройка Битрикс24» — отмечаем нужные нам галочки и кликаем Установить:

Настройка портала перед установкой

Откроется последняя страница — нажимаем по Перейти в Битрикс24. Установка завершена.

Настройка HTTPS

Для корректной работы портала необходимо на него заходить по https, а для этого нужен сертификат. Мы рассмотрим пример получения бесплатного сертификата от Let's Encrypt. Подробнее в статье Получение бесплатного SSL сертификата Let's Encrypt.

Открываем на редактирование файл:

vi /etc/nginx/bx/site_enabled/s1.conf

В раздел server добавляем следующее:

server {
        ...
        location ~ /.well-known {
                root /usr/share/nginx/html;
                allow all;
        }
        ...
}

Открываем второй файл:

vi /etc/nginx/bx/site_enabled/ssl.s1.conf

Также добавим:

server {
    ...
    location ~ /.well-known {
        root /usr/share/nginx/html;
        allow all;
    }
    ...
}

* данная настройка укажет веб серверу искать файлы в каталоге /usr/share/nginx/html, если мы обратимся к странице /.well-known.

Если у нас несколько сайтов, данную операцию нужно повторить для конфигурационных файлов всех этих сайтов. Они находятся в каталоге /etc/nginx/bx/site_enabled.

Проверяем корректность настройки NGINX:

nginx -t

Если ошибок нет, перезапускаем службу:

systemctl restart nginx

Устанавливаем утилиту certbot:

yum install certbot

С помощью даннай утилиты получим сертификат:

certbot certonly --webroot --agree-tos --email postmaster@dmosk.ru --webroot-path /usr/share/nginx/html/ -d bitrix.dmosk.ru

* в данном примере мы запрашиваем сертификат для домена bitrix.dmosk.ru. Предполагается, что именно на нем у меня работает битрикс.

Теперь открываем файл:

vi /etc/nginx/bx/conf/ssl.conf

Редактируем значения для ssl_certificate и ssl_certificate_key:

ssl_certificate         /etc/letsencrypt/live/bitrix.dmosk.ru/fullchain.pem;
ssl_certificate_key     /etc/letsencrypt/live/bitrix.dmosk.ru/privkey.pem;

* в данном примере мы указываем пути до полученных сертификатов. Где bitrix.dmosk.ru — имя нашего сайта, для которого был получен сертификат.

Перезапускаем nginx:

systemctl restart nginx

Можно открывать портал по доменному имени по https.

Для автоматической переадресации с http на https в корне каталога с сайтом создаем файл .htsecure.

Добавление другого типа сайта

На первом этапе мы выбрали установку и настройку CRM-системы. Вы могли выбрать Интернет-магазин или обычный сайт. Так или иначе, нам может понадобиться на том же сервере развернуть новый тип веб-приложения.

Для этого заходим на сервер по SSH. Если мы зашли не под пользователем root, вводим команду:

/root/menu.sh

Если мы заходим в данное меню впервые, система запросит установить пароль для пользователя bitrix — вводим его дважды.

Создаем пул для управления:

Available actions: 
                  1. Create management pool on the server
                  2. Configure localhost settings
                  0. Exit.

Enter your choice: 1

Вводим домен для портала, который будет крутиться на новом пуле:

Please enter master server name (default: bitrix.dmosk.ru): shop.dmosk.ru

Мы должны увидеть сообщение, что пул успешно создан:

Pool has been created successfully. Please enter any key

Нажимаем Enter — загрузится меню управления и выбираем управление пулом сайтов:

Available actions: 
                 1.  Manage servers in the pool
                 2.  Configure localhost settings
                 3.  Configure MySQL service for the pool
                 4.  Configure Memcached service for the pool
                 5.  Configure pool monitoring
                 6.  Configure pool sites
                 7.  Configure Sphinx service for the pool
                 8.  Manage pool web servers
                 9.  Configure Push/RTC service for the pool
                 10. Background pool tasks
                 11. Configure Transformer service
                 0.  Exit.

Enter your choice: 6

Теперь создаем новый сайт:

Available actions: 
                 
        1.  Create a site
        2.  Delete a site
        3.  Change a site's cron settings
        4.  Change a site's email settings
        5.  Change a site's https settings
        6.  Change a site's backup settings
        7.  Configure NTLM auth for sites
        8.  Configure optional services (xmppd|smtpd) for a site
        9.  Configure nginx to use composite cache
        10. Configure additional site's options
        0. Previous screen or exit

Enter your choice: 1

Вводим имя сайта (доменное):

Enter the site name (e.g. example.org) or 0 to exit: shop.dmosk.ru

Теперь необходимо ввести kernel, чтобы создать новый сайт с отдельной базой данных:

The following site types are available:
      link - the new site will share database and kernel files with an existing site; 
                     web server configuration files will be created
    kernel - the new site will have a dedicated database 
                     and a private set of kernel files;
                     web server configuration files will be created
ext_kernel - the new site will have a dedicated database and a private set of kernel files; 
                     it will not be accessible from the web
Default: link

Enter site type (link|kernel|ext_kernel): kernel

Выбираем кодировку:

Enter site encoding (UTF-8|windows-1251): UTF-8

Разрешаем cron:

Do you want to enable cron for this site? (N|y) y

Теперь система предложит изменить параметры базы данных и пользователя. Если есть желание, можно их изменить, но в моем примере мы ответим нет:

Do you want to customize them? (N|y) n

Готово. Теперь в браузере переходим по адресу созданного сайта, в данном примере, http://shop.dmosk.ru — откроется окно, в котором можно создать новый портал, по инструкции, описанной выше.

Настройка (проверка системы)

Для правильной работы портала необходимы дополнительные настройки системы. Анализ ошибок и предупреждений при настройке можно получить на странице Настройки - Инструменты - Проверка системы.

Попробуем рассмотреть некоторые из ошибок и способы из решения.

1. Работа с сокетами

Является основной настройкой для портала, так как на ее основе строится много других провером. Нет смысла продолжать работу с Битрикс24, если при проверке работы с сокетами система возвращает ошибку.

Для корректной работы необходимо:

  1. Перейти на использование https с настройкой корректного сертификата.
  2. Установить (обновить) корневые центры сертификации.

После данных действий проверка должна пройти корректно.

2. Выполнение агентов на cron

Чтобы портал мог выполнять фоновые задания, необходимо настроить cron.

Открываем конфигурационный файл:

vi /home/bitrix/www/bitrix/php_interface/dbconn.php

Проверяем, чтобы была строка: 

define('BX_CRONTAB_SUPPORT', true);

Открываем на редактирование crontab (для пользователя bitrix):

crontab -e -u bitrix

Добавляем задание:

* * * * * /usr/bin/php -f /home/bitrix/www/bitrix/modules/main/tools/cron_events.php

* в данном примере мы запускаем на исполнение скрипт /home/bitrix/www/bitrix/modules/main/tools/cron_events.php каждую минуту.

Если не заработает, переходим в панели Битрикс в раздел НастройкиИнструментыКомандная PHP-строка и вводим команду:

COption::SetOptionString("main", "agents_use_crontab", "Y");
COption::SetOptionString("main", "check_agents", "Y");

3. Битрикс24.Диск. Быстрая работа с файлами

Переходим в раздел Настройки - Настройки продукта - Настройка модулей. Мы окажемся в разделе «Главный модуль». В подразделе «Файлы» ставим галочку Быстрая отдача файлов через Nginx:

Включаем быструю отдачу файлов через NGINX

Нажимаем Применить.

4. Настройка почтовых уведомлений

Для отправки почты прочитайте инструкцию Настройка корректной отправки почты в Битрикс24.

5. Настройка кеширования

У нас на выбор разные технологии для настройки кэширования:

  • apc
  • files
  • redis
  • xcache
  • memcache

Мы рассмотрим пример с memcache. Для начала, устанавливаем его:

yum install memcached php-pecl-memcached

Откроем конфигурационный файл memcached:

vi /etc/sysconfig/memcached

Увеличим объем памяти, например, до 512 Мб:

CACHESIZE="512"

Разрешаем автозапуск сервиса и запускаем его:

systemctl enable memcached --now

Перезапускаем веб-сервер apache:

systemctl restart httpd

тобы убедиться в этом, вводим следующую команду:

php -r "phpinfo();" | grep memcache

Открываем конфигурационный файл битрикс:

vi /home/bitrix/www/bitrix/.settings.php

Раздел cache приводим к виду:

  'cache' => array (
      'value' => array(
          'type' => array(
              'class_name' => '\\Bitrix\\Main\\Data\\CacheEngineMemcache',
              'extension' => 'memcache'
          ),
          'memcache' => array(
              'host' => '127.0.0.1',
              'port' => '11211',
         ),
          'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
      ),
  ),

Готово.

# 1С # Серверы # CentOS # Управление
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет