Меню
Запуск CRM Битрикс-24 на кастомном веб-окружении под Ubuntu 24.04

Задача: Так как с 30 июня 2024 года операционная система CentOS-7 полностью снята с поддержки и не будет получать обновлений безопасности, принято решение создать аналог "Битрикс веб окружение" на Ubuntu 24.04
Если ставите на Ubuntu 24.10 нужно доустановить (в самом начале, до конфигурирования maridb):
Код
apt install mariadb-server mariadb-client mariadb-client-compat -y

После запуска портала в .settings.php добавляем
Код
'pull' => Array(
    'value' =>  array(
        'path_to_listener' => 'http://#DOMAIN#/bitrix/sub/',
        'path_to_listener_secure' => 'https://#DOMAIN#/bitrix/sub/',
        'path_to_modern_listener' => 'http://#DOMAIN#/bitrix/sub/',
        'path_to_modern_listener_secure' => 'https://#DOMAIN#/bitrix/sub/',
        'path_to_mobile_listener' => 'http://#DOMAIN#:8893/bitrix/sub/',
        'path_to_mobile_listener_secure' => 'https://#DOMAIN#:8894/bitrix/sub/',
        'path_to_websocket' => 'ws://#DOMAIN#/bitrix/subws/',
        'path_to_websocket_secure' => 'wss://#DOMAIN#/bitrix/subws/',
   'path_to_publish' => 'http://ИМЯ_ВАШЕГО_СЕРВЕРА:8895/bitrix/pub/',
        'path_to_publish_web' => 'http://#DOMAIN#/bitrix/rest/',
        'path_to_publish_web_secure' => 'https://#DOMAIN#/bitrix/rest/',
        'nginx_version' => '4',
        'nginx_command_per_hit' => '100',
        'nginx' => 'Y',
        'nginx_headers' => 'N',
        'push' => 'Y',
        'websocket' => 'Y',
        'signature_key' => 'ПРИДУМАННЫЙ ПАРОЛЬ ОЧЕНЬ ДЛИННЫЙ, СИМВОЛОВ НА 40',
        'signature_algo' => 'sha1',
        'guest' => 'N',
    ),
),

Обратите внимание на строку
'path_to_publish' => 'http://ИМЯ_ВАШЕГО_СЕРВЕРА:8895/bitrix/pub/',
Имя сервера можно узнать введя команду: hostname
Перезапускаем Apache и push-server.

Что бы не получать предупреждение о локальных редиректах в тестировании окружения.
В /bitrix/php_interface/dbconn.php добавьте:
Код
$_SERVER["SERVER_PORT"] = "443";
Цитата
"Проверка системы будет выдавать вам красное оповещение:
Ошибка! Для гарантированной работы "1С-Битрикс24" необходимо его устанавливать на веб-окружении Битрикс, у вас используется собственное серверное окружение."
Добавил в .settings.php
Код
putenv("BITRIX_VA_VER=10.0.0"),

Ошибка ушла )
Поиск по содержимому документов (check_search): Fail
решается так:
Код
apt install catdoc poppler-utils
Пара полезных дополнений.
1. Установка оболочки bash для нового пользователя.
У вновь созданного пользователя bitrix по-умолчанию будет оболочка sh, что не слишком удобно: нет автодополнения, памяти команд и пр. Чтобы это исправить установим ему оболочку bash.
Сначала смотрим путь к оболочке:
Код
echo $SHELL
В ответе должно быть примерно так:
Код
/bin/bash
Далее прописываем оболочку для пользователя bitrix используя полученный путь:
Код
chsh -s /bin/bash bitrix
Теперь переключившись на пользователя bitrix (это часто необходимо, например для управления git) в терминале будет комфортно работать.

2. Отправка почты с сайта на примере Яндекс
Установим ssmt выполнив поочередно команды:
Код
sudo apt update
sudo apt install ssmtp
После установки вам нужно отредактировать файл конфигурации `ssmtp`. Откройте файл `/etc/ssmtp/ssmtp.conf`:
Код
sudo nano /etc/ssmtp/ssmtp.conf
Затем внесите следующие изменения поменяв значения user@yandex.ru и password на свои:
Код
root=user@yandex.ru           # Ваш email-адрес
mailhub=smtp.yandex.ru:587    # SMTP сервер Yandex
AuthUser=user@yandex.ru       # Ваш логин на Yandex
AuthPass=password             # Ваш пароль от Yandex
UseSTARTTLS=YES               # Использовать STARTTLS
UseTLS=YES                    # Использовать TLS
Далее нам нужно сделать так, чтобы не только root мог отправлять почту, но и bitrix. Открываем файл:
Код
sudo nano /etc/ssmtp/revaliases
И вписываем следующие правила, изменив user@yandex.ru на свои:
Код
root:user@yandex.ru:smtp.yandex.ru:587
bitrix:user@yandex.ru:smtp.yandex.ru:587
Далее, если установлен фаервол по инструкции в этой статье, необходимо открыть порты
Код
sudo ufw allow 25
sudo ufw allow 587
sudo ufw allow 465
Ну и проверяем отправку из консоли:
Код
echo "Test email from ssmtp" | ssmtp you_email@yandex.ru
Если отправка не произошла, то смотрим логи, там все есть:
Код
sudo tail -f /var/log/mail.log
Видеоуроки по
1С-Битрикс
на моем Boosty канале Видео
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 

Блог-note: заметки разработчика

Fancybox в стандартном шаблоне детальной карточки товара, 1С-Битрикс, вместо всплывающего окна и лупы.

Задача: заменить работу с изображениями в стандартном или кастомном шаблоне детальной карточки (catalog.element)...

Получение токена доступа API Firebase (HTTP v1) с помощью PHP для отправки push-уведомлений.

До июня 2024 года API Firebase использовал постоянный токен доступа, который можно было получить один раз в консоли. Одн...

Многосайтовость битрикс на разных доменах и поддоменах

Часто спрашивают "как настроить многосайтовость Битрикс на разных доменах", решил записать небольшое видео в котором уст...

Данные о заказе текущего пользователя

Иногда нужно получить данные о заказе текущего пользователя. Не через компонент, а непосредственно через API Битрикс. Ва...

Индивидуальные цены в 1С-Битрикс: в каталоге и при оформлении заказа

В этой заметке постараюсь описать процесс реализации индивидуальных цен, для пользователей. При этом, индивидуальные цен...

Как добавить режим редактирования элементов в собственном компоненте Битрикс

Задача: добавить режим редактирования и удаления элементов в собственном компоненте.

Добавить СЕО-метатеги в результаты поиска по каталогу

Задача: на странице с результатами поиска по каталогу нужно установить уникальные метатеги: keywords, description, canon...

Повторить заказ на API 1С-Битрикс наполнив корзину из заказа

Задача: заполнить корзину пользователя теми же товарами и количествами которые были в ранее созданном заказе. При этом н...

Оплата заказа с внутреннего счета только за товары, без учета стоимости доставки

Задача: В магазине реализован внутренний счет (бонусный счет) для покупателей. Необходимо, чтобы при оплате зака...