# 1С-Битрикс

# Как установить в 1С-Битрикс бета-версию решения из маркетплейса

> Рекомендуем ознакомиться с общим регламентов по установке обновлений: [Рекомендуемый регламент обновления сайта](https://doc.aprix.ru/books/1s-bitriks/page/rekomenduemyi-reglament-obnovleniia-saita)

> Важно.
> 
> - Перед установкой любых обновлений убедитесь, что у Вас есть **резервная копия** и Вы умеете работать с нею, а так же рекомендуем ставить обновление в начале недели
> - **Не рекомендуем ставить обновления в выходные и предвыходные дни**

Для этого нужно в пенели управления Вашего сайта \*\*https://Ваш\_Сайт/bitrix/admin/partner\_modules.php?lang=ru \*\* перейти в раздел **Администрирование - Marketplace - Обновление платформы**[![б1.jpg](https://doc.aprix.ru/uploads/images/gallery/2024-10/scaled-1680-/tQlgYiovOhasAwzm-b1.jpg)](https://doc.aprix.ru/uploads/images/gallery/2024-10/tQlgYiovOhasAwzm-b1.jpg)

Далее в **Cистеме обновлений** надо снять галку "**Загружать только стабильные обновления**" и сохранить[![б2.jpg](https://doc.aprix.ru/uploads/images/gallery/2024-10/scaled-1680-/H7dMN7B2tGuqZJ1V-b2.jpg)](https://doc.aprix.ru/uploads/images/gallery/2024-10/H7dMN7B2tGuqZJ1V-b2.jpg)

После чего в **Установленных решениях** нужно выбрать интересующее Вас решене и поставить обновления[![б3.jpg](https://doc.aprix.ru/uploads/images/gallery/2024-10/scaled-1680-/YDqyIh00WA0T6iFf-b3.jpg)](https://doc.aprix.ru/uploads/images/gallery/2024-10/YDqyIh00WA0T6iFf-b3.jpg)

> После установки обновлений рекомендуем вернуть настройки обратно

# Как обновлять решения из маркетплайса

> Рекомендуем ознакомиться с общим регламентов по установке обновлений: [Рекомендуемый регламент обновления сайта](https://doc.aprix.ru/books/1s-bitriks/page/rekomenduemyi-reglament-obnovleniia-saita)

Для того, чтобы поставить обновления нужно зайти в раздел **Администрирование &gt; Marketplace &gt; Установленные решения**

[![1.jpg](https://doc.aprix.ru/uploads/images/gallery/2024-11/scaled-1680-/i11Z1owku0DRaUJi-1.jpg)](https://doc.aprix.ru/uploads/images/gallery/2024-11/i11Z1owku0DRaUJi-1.jpg)

Далее надо выбрать нужно Вам решение и поставить обновление [![2.jpg](https://doc.aprix.ru/uploads/images/gallery/2024-11/scaled-1680-/ZPdaVE1LgXyLUyF5-2.jpg)](https://doc.aprix.ru/uploads/images/gallery/2024-11/ZPdaVE1LgXyLUyF5-2.jpg)

> Рекомендуем устанавливать стабильные версии, но если потребуется, то можно утановить и бета версию [бета версию](https://doc.aprix.ru/books/1s-bitriks/page/kak-ustanovit-v-1s-bitriks-beta-versiiu-reseniia-iz-marketpleisa)

# Рекомендуемый регламент обновления сайта

Данный регламент является рекомендуемым, вы в праве сами определять применимость всего регламента или отдельных пунктов

## 1. Подготовительный этап

- **Анализ изменений**: Составьте список изменений и обновлений, необходимых для сайта (например, обновления модуля, исправления ошибок, изменения в дизайне и функционале).
- **Планирование времени**: Определите оптимальное время для обновления, чтобы минимизировать влияние на пользователей. Обычно обновления лучше проводить в часы низкой посещаемости сайта и **не перед выходными**.
- **Бэкап сайта**: 
    - Сделайте резервную копию всех файлов сайта и базы данных.
    
    > Для простоты рекомендуем так же сделать резервную копию силами Вашего хостинга. Вот примеры инструкций для популярных хостингов:
    > 
    > 
    > - [Бегет](https://beget.com/ru/kb/manual/p2013/backup)
    > - [NetAngels](https://www.netangels.ru/support/cloud-vds/backup-archive-howto/?p_ref=u97631)
    
    
    - Убедитесь, что копия проверена и готова к восстановлению в случае возникновения ошибок.

## 2. Подготовка тестового окружения

- **Создание копии сайта**: Если возможно, настройте тестовую копию сайта на отдельном сервере или поддомене для предварительной проверки обновлений.
- **Тестирование обновлений**: 
    - Примените обновления на тестовой копии сайта.
    - Проверьте работоспособность всех основных функций и модулей.
    - Убедитесь, что все обновления не вызвали сбоев или ошибок.

## 3. Обновление сайта на рабочем окружении

- **Остановка сайта (при необходимости)**: В случае крупных обновлений можно временно закрыть сайт для пользователей с сообщением о технических работах.
- **Обновление ядра и модулей**: 
    - Войдите в админ-панель и начните обновление ядра и модулей 1С-Битрикс.
    - Выполняйте обновления последовательно, следя за сообщениями об ошибках.
    - После каждого обновления проверяйте работоспособность функционала, особенно если на сайте установлены кастомные доработки.
- **Обновление пользовательских настроек и модулей**: Если в обновлениях произошли изменения в пользовательских настройках или модулях, настройте их заново.
- **Тестирование сайта**: 
    - Проверьте основные функции, такие как корзина, авторизация, поиск, отправка форм и т.д.
    - Убедитесь, что внешний вид сайта и функционал не нарушены.

## 4. Завершение и мониторинг

- **Открытие сайта для пользователей**: Если сайт был временно закрыт, снимите заглушку и откройте доступ для пользователей.
- **Проверка логов ошибок**: Проверьте логи ошибок и сервера, чтобы убедиться, что во время обновления не возникли ошибки.
- **Мониторинг производительности**: На протяжении 24–48 часов после обновления отслеживайте производительность сайта и обратную связь от пользователей для выявления возможных проблем.

## 5. Документирование процесса

- **Фиксация изменений**: Запишите все изменения и обновления, которые были сделаны на сайте, а также описание всех возникших проблем и их решений.
- **Отчетность**: Подготовьте отчет для ответственных лиц или клиентов, в котором указаны основные выполненные действия, обнаруженные проблемы и рекомендации для последующих обновлений.

## Дополнительные рекомендации

- **Резервное копирование перед каждым крупным обновлением**: Даже если сайт уже поддерживается регулярными резервными копиями, дополнительная копия перед обновлением – это обязательный этап.
- **Проверка совместимости с кастомными модулями и изменениями**: Обновления ядра или модулей могут нарушить работу кастомных решений.

# Как установить агенты на крон

# Настройка агентов на крон в 1С-Битрикс

Эта инструкция поможет вам настроить выполнение агентов через cron для улучшения производительности сайта.

---

## Шаг 1: Отключение выполнения агентов при посещении страниц

1. Перейдите в административную панель сайта.
2. Откройте раздел **Настройки** → **Инструменты** → **Командная PHP-строка**.
3. Вставьте и выполните следующий код:

> Если прочие команды есть, то их надо стереть

```php
COption::SetOptionString("main", "agents_use_crontab", "N");
echo COption::GetOptionString("main", "agents_use_crontab", "N");
COption::SetOptionString("main", "check_agents", "N");
echo COption::GetOptionString("main", "check_agents", "Y");

```

После выполнения вы должны увидеть вывод: `NN`, что подтверждает корректное выполнение.

---

## Шаг 2: Настройка файла конфигурации

> Правки желательно вносить не через админку сайта, а через ftp/ssh или через файловый менеджер хостинг

1. Откройте файл `/bitrix/php_interface/dbconn.php`.
2. Удалите следующие строки, если они присутствуют:
    
    ```php
    define("BX_CRONTAB_SUPPORT", true);
    define("BX_CRONTAB", true);
    
    ```
3. Добавьте следующую строку:
    
    ```php
    if (!(defined("CHK_EVENT") && CHK_EVENT === true))
        define("BX_CRONTAB_SUPPORT", true);
    
    ```

---

## Шаг 3: Создание скрипта для выполнения агентов

> Правки желательно вносить не через админку сайта, а через ftp/ssh или через файловый менеджер хостинг

1. Создайте файл `/bitrix/php_interface/cron_events.php` со следующим содержимым:
    
    ```php
    <?php
    $_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__) . "/../..");
    $DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
    
    define("NO_KEEP_STATISTIC", true);
    define("NOT_CHECK_PERMISSIONS", true);
    define('BX_NO_ACCELERATOR_RESET', true);
    define('CHK_EVENT', true);
    define('BX_WITH_ON_AFTER_EPILOG', true);
    
    require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
    
    @set_time_limit(0);
    @ignore_user_abort(true);
    
    CAgent::CheckAgents();
    define("BX_CRONTAB_SUPPORT", true);
    define("BX_CRONTAB", true);
    
    if (CModule::IncludeModule('sender')) {
        \Bitrix\Sender\MailingManager::checkPeriod(false);
        \Bitrix\Sender\MailingManager::checkSend();
    }
    
    require($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/tools/backup.php");
    CMain::FinalActions();
    ?>
    
    ```

---

## Шаг 4: Настройка задания в cron

> Рекомендуем обратиться в службу технической поддержки для выполнения этого действия, поскольку на виртуальных хостингах обычно предусмотрен специальный интерфейс для таких задач.

> **Важно. Нужно, чтобы версия PHP была такая же как и на сайте**

1. Откройте терминал на вашем сервере.
2. Введите команду для редактирования crontab:
    
    ```bash
    crontab -e
    
    ```
3. Добавьте следующую строку для выполнения скрипта каждую минуту:
    
    ```bash
    */1 * * * * /usr/bin/php -f /home/bitrix/www/bitrix/php_interface/cron_events.php
    
    ```
    
    Замените `/usr/bin/php` на путь к вашему PHP-интерпретатору, если он отличается, и `/home/bitrix/www/` на путь к корневой директории вашего сайта.
4. Сохраните и закройте редактор.

---

## Шаг 5: Оптимизация отправки почтовых сообщений

Чтобы уменьшить очередь отправки почтовых сообщений, выполните в командной PHP-строке административной панели следующий код:

```php
COption::SetOptionString("main", "mail_event_bulk", "20");
echo COption::GetOptionString("main", "mail_event_bulk", "5");

```

После выполнения вы должны увидеть вывод: `20`.

---

## Примечания

- **Права доступа**: Убедитесь, что пользователь, от имени которого выполняется cron-задание, имеет необходимые права доступа к файлам и директориям сайта.
- **Проверка работы**: После настройки рекомендуется проверить корректность выполнения агентов и отправки почтовых сообщений.
- **Логи**: В случае возникновения ошибок проверьте логи сервера и PHP для диагностики проблем.

Следуя этой инструкции, вы настроите выполнение агентов через cron, что позволит разгрузить сервер и обеспечить более стабильную работу сайта.