Поиск

Релиз

Содержание

Нужна помощь?

Не нашли ответ на свой вопрос? Свяжитесь с нашей службой поддержки.

Обратиться в поддержку

2.3 Начальные настройки

Обновлено: 14 Июль 2026 Версия: 2.1.1

После успешной установки системы необходимо выполнить первоначальную настройку. Этот раздел описывает последовательность действий для запуска системы в работу.

Важно: Большинство настроек выполняется через пользовательскую админку (/settings/). Системная админка Django (/admin/) нужна для периодических задач Celery Beat, Django Sites и отдельных служебных операций. В описании каждого шага указано, где именно выполняется настройка.

Порядок выполнения первоначальной настройки

Рекомендуется выполнять настройку в следующем порядке:

  1. Активация лицензии
  2. Создание сотрудника
  3. Системные настройки и логотипы
  4. Настройка электронной почты
  5. Настройка LDAP (опционально)
  6. Настройка Telegram-ботов (опционально)
  7. Настройка ботов мессенджера MAX (опционально)
  8. Настройка Mattermost (опционально)
  9. Настройка шаблонов уведомлений
  10. Добавление подразделений
  11. Настройка регулярных задач
  12. Настройка адреса сайта
  13. Включение модулей

1. Активация лицензии

После установки система работает в пробном режиме (Trial). Без активации ключа доступ со временем ограничивается.

  1. Войдите под суперпользователем, созданным при установке
  2. Перейдите в "Настройки""License" (/settings/license/)
  3. Введите лицензионный ключ и сохраните его

Подробнее: 6. Лицензия и обновление.


2. Создание сотрудника

После установки есть только учётная запись суперпользователя. Для повседневной работы создайте первого сотрудника.

Создание через пользовательский интерфейс (рекомендуется)

Права: группа Personal-Create_employee, Personal-Edit, Rules-TopMan или суперпользователь.

  1. Перейдите в раздел "Персонал""Сотрудники"
  2. Нажмите кнопку "Создать сотрудника"
  3. Заполните форму (email, пароль, имя, фамилия, должность, мобильный телефон и др.)
  4. Сохраните запись

Примечание: если настроена электронная почта, система может отправить письмо с логином и паролем. Для работы сервис-деска может потребоваться клиент типа «Внутренний клиент» — система предупредит при создании, если его ещё нет.

Подробнее: 3. Управление пользователями.

Создание через системную админку

  1. Войдите в /admin/
  2. Раздел "Users""Users" → добавьте пользователя:
  3. Email — логин
  4. Password — пароль
  5. User typeemployee
  6. First name / Last name, Title, Mobile number
  7. Is active — обязательно
  8. Is staff — если нужен доступ к /settings/ и /admin/
  9. Затем "Personal""Employees" → привяжите созданного пользователя, статус Working

Группы и права

Системные группы создаются при миграциях (System-Settings, группы модулей и др.). Назначьте сотруднику нужные группы в карточке сотрудника или через /admin/"Authentication and Authorization""Groups".

Для доступа к настройкам системы пользователь должен быть в группе System-Settings (или быть суперпользователем).


3. Системные настройки и логотипы

Системные настройки задают базовое поведение системы.

Важно: настраиваются через пользовательскую админку /settings/, а не только через Django admin.

  1. Войдите под учётной записью с правом system.settings
  2. Откройте "Настройки" (/settings/)
  3. Настройте параметры в разделе "Системные настройки"

Основные параметры:

  • SITE_TITLE — служебное название системы (для ряда подписей и панели)
  • Пример: АСК Легарус
  • DEFAULT_TIMEZONE — часовой пояс по умолчанию для новых пользователей
  • Пример: Europe/Moscow
  • ALLOWEDFILEEXTENSION — разрешённые расширения файлов (через запятую)
  • MAXSIZEFILE — максимальный размер файла в мегабайтах
  • ITEMS_ON_PAGE — число записей на странице по умолчанию

Полный перечень настроек: Системные настройки.

Название и логотипы (MainSystemSettings)

Отображаемое название системы и логотипы задаются на вкладке "Базовые настройки" той же страницы /settings/:

  • System Name — название в заголовках страниц (именно оно используется в интерфейсе)
  • System description — описание системы
  • Main logo — основной логотип (265×50)
  • Favicon — иконка вкладки браузера (.ico, рекомендуется 32×32)
  • Menu logo — логотип в меню (512×512)
  • Login Page Logo — логотип на странице входа (225×225)
  • Telegram bot QR code — QR-код Telegram-бота (150×150)
  • Telegram bot URL for employees / MAX bot URL for employees — ссылки на ботов на странице входа
  • Telegram notifications enabled / MAX notifications enabled — глобальные выключатели отправки уведомлений в мессенджеры

Загрузите изображения через форму и нажмите "Сохранить".


4. Настройка электронной почты

Настройка SMTP нужна для уведомлений и писем с паролями.

  1. Откройте /settings/ → раздел "Настройки электронной почты"
  2. Заполните поля:

Основные параметры:

  • Email Host — SMTP-сервер (smtp.mail.ru, smtp.yandex.ru, smtp.gmail.com и т.п.)
  • Email Port — обычно 587 (TLS) или 465 (SSL)
  • Use TLS — рекомендуется включить для портов 587/465
  • Email Host User / Email Host Password — учётные данные SMTP

Адреса отправителя:

  • Default From Email — письма сотрудникам
  • Default sender address for external — письма клиентам
  • Server Email — системные уведомления администраторам
  • Нажмите "Сохранить"

Проверка: создайте тестового пользователя или отправьте тестовое уведомление и убедитесь, что письмо дошло (проверьте «Спам» и логи приложения).


5. Настройка LDAP

Если используется Active Directory / LDAP — настройте интеграцию.

Обязательные условия

LDAP-авторизация работает только если одновременно:

  1. В "Настройки LDAP" включён флаг Enabled
  2. В системных настройках (раздел "Авторизация") включён AD_AUTH

Параметры LDAPConfig

  1. Откройте /settings/"Настройки LDAP"
  2. Заполните:

Подключение:

  • Enabled — включить LDAP
  • Server URI — например ldaps://ldap.corp.domain.com:636
  • Bind DN / Bind Password — учётная запись для поиска
  • Ignore cert errors — только для тестов; в production лучше False

Поиск пользователей:

  • User Search Base, User Filter (например (mail=%(user)s)), User Query Field

Группы (опционально):

  • User Flags by Group — JSON вида:
{
  "is_superuser": "CN=ask-admins,OU=ASK,DC=corp,DC=domain,DC=com",
  "is_staff": "CN=ask-users,OU=ASK,DC=corp,DC=domain,DC=com"
}

Ключ — имя флага пользователя в ASK, значение — DN группы в AD.

  1. Включите AD_AUTH в системных настройках и сохраните обе формы
  2. Проверьте вход учётными данными AD

6. Настройка Telegram-ботов

В системе используются два Telegram-бота:

  1. Бот для сотрудников — задачи, отсутствия, уведомления (tgbot, токен EMPLOYEE_TELEGRAM_BOT_TOKEN)
  2. Бот для клиентов — заявки сервис-деска (sdbot, токен TELEGRAM_BOT_TOKEN)

Создание ботов через BotFather

  1. В Telegram найдите @BotFather/newbot
  2. Задайте имя и username (должен заканчиваться на bot)
  3. Сохраните токен
  4. Создайте второй бот аналогично

Настройка в ASK

Токены задаются в "Настройки" → системные настройки → раздел "Уведомления" (/settings/):

  • EMPLOYEE_TELEGRAM_BOT_TOKEN — бот сотрудников
  • TELEGRAM_BOT_TOKEN — бот клиентов техподдержки

Дополнительно на вкладке "Базовые настройки":

  • укажите Telegram bot URL for employees (например https://t.me/your_bot)
  • при необходимости загрузите QR-код
  • убедитесь, что Telegram notifications enabled включено

Запуск сервисов

Боты работают через systemd (не supervisor):

sudo systemctl status tgbot    # сотрудники: manage.py tgbot
sudo systemctl status sdbot    # клиенты SD: manage.py sdbot

sudo systemctl enable --now tgbot sdbot
sudo systemctl restart tgbot sdbot

Юниты создаются при установке (см. 2.2 Установка). Celery (celery / celerybeat) по-прежнему управляется через supervisor.


7. Настройка ботов мессенджера MAX

Аналогично Telegram, в ASK есть два бота для мессенджера MAX:

  1. Бот для сотрудников — команды runmaxbot, systemd-сервис maxbot, токен EMPLOYEE_MAX_BOT_TOKEN
  2. Бот для клиентов техподдержки — команда sdmaxbot, systemd-сервис sdmaxbot, токен MAX_BOT_TOKEN

Через MAX-боты доступны уведомления, регистрация по номеру телефона и работа с заявками / отсутствиями (в зависимости от бота).

Создание ботов на платформе MAX

Создать бота может организация с верифицированным профилем на платформе MAX для партнёров.

  1. Откройте dev.max.ru и выберите верифицированный профиль
  2. Раздел «Чат-боты»«Создать»
  3. Заполните карточку бота и дождитесь проверки
  4. После одобрения откройте бота → «Расширенные настройки»«Настроить» и скопируйте токен
  5. Создайте два бота (для сотрудников и для клиентов), сохраните оба токена

Официальная документация: Создание чат-бота, Подготовка к разработке.

Ссылка на бота обычно имеет вид https://max.ru/@ник_бота (ник выдаётся платформой).

Настройка в ASK

В "Настройки" → системные настройки → "Уведомления":

Настройка Назначение
EMPLOYEE_MAX_BOT_TOKEN Токен бота для сотрудников
MAX_BOT_TOKEN Токен бота для клиентов техподдержки
EMPLOYEE_MAX_BOT_URL Ссылка на employee-бота (дублируется также в базовых настройках)
EMPLOYEE_MAX_NOTIFICATIONS_ON Включить персональные уведомления сотрудникам через MAX

На вкладке "Базовые настройки":

  • MAX bot URL for employees — ссылка на странице входа
  • MAX notifications enabled — глобальный выключатель MAX-уведомлений

Запуск сервисов

Юниты maxbot и sdmaxbot могут отсутствовать сразу после установки скриптом — создайте их по образцу Telegram-ботов:

# /etc/systemd/system/maxbot.service
[Unit]
Description=ASK Employee MAX Bot
After=network.target

[Service]
Environment=DJANGO_SETTINGS_MODULE=config.settings
User=askprodadmin
Group=www-data
WorkingDirectory=/var/www/ask
ExecStart=/var/www/ask_env/bin/python /var/www/ask/manage.py runmaxbot
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target
# /etc/systemd/system/sdmaxbot.service
[Unit]
Description=ASK Servicedesk MAX Bot
After=network.target

[Service]
Environment=DJANGO_SETTINGS_MODULE=config.settings
User=askprodadmin
Group=www-data
WorkingDirectory=/var/www/ask
ExecStart=/var/www/ask_env/bin/python /var/www/ask/manage.py sdmaxbot
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

Запуск:

sudo systemctl daemon-reload
sudo systemctl enable --now maxbot sdmaxbot
sudo systemctl status maxbot sdmaxbot

Логи: journalctl -u maxbot -f, journalctl -u sdmaxbot -f.

Автообновление из веб-интерфейса учитывает сервисы maxbot и sdmaxbot, если они установлены.

Регистрация пользователей в MAX-боте

Сотрудник или заявитель запускает бота в MAX и проходит привязку (обычно по мобильному номеру, который должен быть указан в карточке в ASK). После успешной регистрации в карточке появляется признак «В боте» (in_max_bot).


8. Настройка Mattermost

Mattermost используется для уведомлений в корпоративный мессенджер.

Создание вебхука в Mattermost

  1. "Integrations""Incoming Webhooks""Add Incoming Webhook"
  2. Укажите канал и скопируйте URL вебхука

Настройка в ASK

Вебхуки и флаги задаются в /settings/ → системные настройки → "Уведомления" (не только в /admin/):

  • PUBLIC_MM_WEBHOOK / PUBLIC_MM_ON — общий канал
  • PRIVATE_MM_WEBHOOK / SEND_PRIVATE_MM_ON — персональные уведомления
  • MATTERMOST_URL — базовый URL сервера Mattermost для ссылок

Для персональных уведомлений укажите Mattermost Username в карточке сотрудника (PersonalEmployees), без символа @.


9. Настройка шаблонов уведомлений

  1. Откройте "Настройки""Notify Templates" (/settings/notify/)
  2. Право доступа: system.settings (группа System-Settings)
  3. Отредактируйте шаблоны электронной почты и мессенджеров (Subject, Body, Style)

Основные шаблоны: приветствие сотрудника, сброс пароля, уведомления по заявкам и задачам, шаблоны Telegram / Mattermost / MAX.

Запасной путь: /admin/"System""Email templates" / "Messenger templates".

Подробнее: 5. Шаблоны уведомлений.


10. Добавление подразделений

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

Через пользовательский интерфейс

  1. Откройте "Настройки""Personal" (/settings/personal/)
  2. Вкладка "Departments""Добавить подразделение"
  3. Укажите название, родительское подразделение (для иерархии) и сохраните

Просмотр структуры: "Персонал""Organizational Structure" (/personal/org-structure/).

Через системную админку

  1. /admin/"Personal""Departments"
  2. "Add Department" — заполните поля и сохраните

Пример иерархии:

Организация
├── Отдел информационных технологий
│   ├── Группа поддержки
│   └── Группа разработки
├── Отдел продаж
└── Отдел кадров

11. Настройка регулярных задач

Периодические задания выполняются Celery Beat. Настройка — через /admin/"Django Celery Beat""Periodic tasks".

Расписание из config/settings.py синхронизируется в БД (DatabaseScheduler). Часть задач появляется автоматически после запуска beat.

Задачи, создаваемые автоматически (основные)

  • accrue_vacancy_day — начисление дней отпуска (1-е число, 5:00)
  • notify_vacation_departures / notify_vacation_returns — уведомления об отпусках (ежедневно 9:30)
  • check_stale_client_statuses — статусы клиентов (1-е число, 9:00)
  • check-expiring-pages-daily — истекающие страницы БЗ (ежедневно 8:00)
  • remind_employees_to_acknowledge / notify_manager_about_unacknowledged_documents — подтверждение документов БЗ
  • retrain-classifiers-weekly — обучение классификаторов заявок (воскресенье 4:00)
  • check-license-daily — проверка лицензии на legarus.ru (ежедневно 3:00)
  • check_clients_contracts_validity — договоры клиентов (понедельник 6:00)
  • crm_* — напоминания и актуализация CRM, проверка inbox CRM
  • calculate-kpi-monthly — KPI (1-е число, 2:00)
  • send-task-custom-notify — пользовательские уведомления по задачам (каждую минуту)
  • send-request-alarm-notify — тревожные уведомления по заявкам (каждую минуту; создавать вручную не нужно)
  • check-request-idle-watches, cleanup-request-email-drafts-daily
  • задачи финансов/1С, CMDB, Bitrix24, Trading — по расписанию в CELERY_BEAT_SCHEDULE

Задачи, которые обычно создают вручную

Создайте в "Periodic tasks", если нужны функции сервис-деска / задач по расписанию:

1. Проверка входящей почты

  • Name: check_incoming_email
  • Task: servicedesk.tasks.check_incoming_email
  • Crontab: каждые 5–10 минут (*/5 или */10)

2. Пользовательские уведомления по заявкам

  • Name: send_request_custom_notify
  • Task: servicedesk.tasks.send_request_custom_notify
  • Crontab: каждые 5–10 минут (или каждую минуту)

В коде задача закомментирована в CELERY_BEAT_SCHEDULE — без ручного создания работать не будет.

3. Ежедневный список заявок

  • Name: daily_requests_list
  • Task: servicedesk.tasks.daily_requests_list
  • Crontab: например ежедневно в 9:00

4. Ежедневный список задач

  • Name: daily_task_list
  • Task: tasks.tasks.daily_task_list
  • Crontab: например ежедневно в 9:00

Проверка Celery

sudo supervisorctl status celery celerybeat
tail -f /var/log/celery/beat.log
tail -f /var/log/celery/worker.log

12. Настройка адреса сайта

Адрес сайта нужен для корректных ссылок в письмах и уведомлениях.

  1. /admin/"Sites""Sites"
  2. Создайте или отредактируйте запись с ID = 2config/settings.py задано SITE_ID = 2; сайт с id=1 по умолчанию Django не используется)
  3. Domain name: ask.example.com (без https:// и пути)
  4. Display name: например АСК Легарус
  5. Сохраните и проверьте ссылки в тестовом уведомлении

13. Включение модулей

  1. Откройте "Настройки""Modules" (/settings/modules/)
  2. Включите нужные модули каталога (сервис-деск, CRM, проекты, Trading, VoIP, CMDB и др.)
  3. Назначьте соответствующие группы прав сотрудникам

Подробнее по модулям: 4. Настройка модулей, 7. Управление модулями.


Проверка завершения настройки

После выполнения шагов проверьте:

  1. Лицензия — ключ активен, статус не Trial/Expired
  2. Вход — сотрудники входят локально или через LDAP
  3. Почта — тестовое письмо доходит
  4. Telegramtgbot / sdbot в systemctl, боты отвечают на /start
  5. MAXmaxbot / sdmaxbot запущены (если используются), регистрация по телефону работает
  6. Mattermost — сообщения уходят в каналы при включённых флагах
  7. Celery Beat — нет ошибок в логах; входящая почта обрабатывается (если задача создана)
  8. Ссылки — в письмах корректный домен (Site ID=2)
  9. Модули — нужные модули включены, права назначены