Администрирование

Ключи запуска

Исполняемый файл doc-v (doc-v.exe) поддерживает следующие ключи запуска:

  • start
    Для запуска До́кви
  • stop
    Для остановки До́кви
  • restart
    Для перезагрузки До́кви
  • reload
    Для перезагрузки настроечного файла doc-v.conf (некоторые настройки не перегружаются, и чтобы их изменения вступили в силу требуется перезагрузка До́кви)
  • about
    Выводит информацию о системе и ее версии
  • no-daemon
    Позволяет запустить систему в режиме консольного приложения (иногда полезно для отладки возникающих критических ошибок в работе системы)

Лог-файлы

В каталоге logs До́кви записывает следующие лог-файлы:

  • info.log
    Основной информационный лог-файл по работе системы
  • access.log
    В этот лог-файл записывается информация по входу пользователей в систему, открытия ими журналов, документов, нажатии на кнопки
  • error.log
    При возникновении ошибок в системе в этот лог-файл записывает стек (для разработчиков)
  • debug.log
    При включенной отладке в этот файл записывается дополнительная отладочная информация (для разработчиков)

Стартовая страница администратора

Стартовая страница открывается, когда администратор входит в систему. Она также доступна через административную панель.

На этой странице администратору доступны некоторые показатели системы, а также размещен журнал системных событий.

Все показатели (кроме максимального количества активных пользователей) администратор может вывести в меню (см. редактор меню, там же описаны все эти показатели). В журнале события на текущий момент отображаются только уведомления о наличии новой версии, создаваемые задачей автообновления планировщика задач.

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

Настройки доступны только администратору системы.

Доступны следующие настройки:

  • Пользователь.
    • Стартовая страница — страница, которая открывается после входа пользователя в систему. В качестве стартовой страницы для пользователей может выступать документ, идентификатор которого находится в выбранном в данном параметре поле. Настройка не действует для администраторов - для них всегда отображается стартовая страница администратора.
    • Изменение адреса почты в профиле. Этот параметр доступен при включенной интеграции с электронной почтой. Если его включить, то пользователь сможет изменить свой адрес электронной почты в профиле.
    • Тип аутентификации. Доступны встроенная в систему аутентификация и аутентификация через Active Directory.
      • Встроенная аутентификация имеет следующие настройки:
        • Срок действия пароля пользователя. Можно указать период (в днях) смены пароля пользователем. По истечении этого периода пользователь будет обязан изменить пароль. Если установить 0, ограничения на срок действия пароля не будет.
        • Максимальное количество ошибок аутентификации, которое пользователь может допустить при вводе пары логин / пароль. При превышении заданного количества пользователь блокируется. Разблокировать пользователя можно через справочник «Учетные записи». Если в данной настройке установлено значение, равное нулю, количество попыток аутентификации не ограничено. В любом случае, начиная с третьей неудачной попытки ввода пароля До́кви добавляет временную задержку перед очередной попыткой для защиты от автоматического перебора паролей. Кстати, установка пароля пользователя осуществляется через справочник «Учетные записи» в поле типа «Пароль». В настройках этого поля есть параметр «Уровень сложности». В типовой конфигурации установлен средний уровень, открыв упомянутое поле можно изменить сложность.
      • Active Directory. Включив этот вид аутентификации не выходите из До́кви, пока не убедитесь, что все работает нормально, и вы имеете возможность войти в систему от имени учетной записи с административными привилегиями, чтобы не потерять возможность переключения аутентификации на встроенную. Для настройки аутентификации в Active Directory по протоколу Kerberos необходимо:
        • Cоздать keytab-файл с названием doc-v.keytab и разместить его в каталоге storage (/opt/doc-v/storage/doc-v.keytab).
          1. Создать в Active Directory учетную записью компьютера для сервера Дóкви (например, Дóкви) через оснастку «Пользователи и компьютеры».
          2. Запустить в командной консоли на контроллере домена (от имени учетной записи администратора домена, обладающей всеми привилегиями):
          ktpass -princ HTTPS/doc-v.com@DOMAIN.MAIN -mapuser doc-v$@DOMAIN.MAIN -crypto ALL -ptype KRB5_NT_SRV_HST +rndpass -out C:\doc-v.keytab где
          -princ HTTPS/doc-v.com@DOMAIN.MAIN - SPN-имя вашего сервера Дóкви, состоящее из названия протокола (HTTP(s)), доменного имени сервера Дóкви (пользователи в браузерах должны будут открывать систему по этому имени) и названия домена Active Directory;
          -mapuser doc-v$@DOMAIN.MAIN - учетная запись Active Directory типа «Компьютер» для сервера Дóкви;
          DOMAIN.MAIN - название вашего домена Active Directory, в большинстве случаев, заглавными буквами;
          -crypto ALL — включить поддержку всех типов шифрования;
          -ptype KRB5_NT_SRV_HST — тип принципала хоста;
          +rndpass — сгенерировать случайный пароль для учетной записи;
          -out C:\doc-v.keytab — название keytab-файла и полный путь к нему.

          Полученный ключ C:\doc-v.keytab следует скопировать на сервер Дóкви в каталог storage (убедитесь, что пользователь, от имени которого запускается Дóкви, будет иметь к этому файлу права доступа).
        • Название домена Active Directory. В большинстве случае вводится в верхнем регистре.
        • Имя субъекта-службы (SPN) — доменное имя сервера Дóкви, которое вводилось при создании keytab-файла, например, HTTPS/doc-v.com .
        • KDC-сервер, - как правило, это контроллер домена Active Directory. По умолчанию, используется порт 88.
        • Создать для каждого пользователя учетную запись (справочник «Учетные записи») с логином, соответствующем его UPN в каталоге Active Directory (вручную или через сервис Active Directory).
        • Настроить браузеры пользователей.
          В Google Chrome добавить в ярлык запуска параметр --auth-server-whitelist=доменное-имя-вашего-сервера-DOC-V --auth-negotiate-delegate-whitelist=доменное-имя-вашего-сервера-DOC-V В Mozilla Firefox ввести about:config и установить параметры: network.negotiate-auth.trusted-uris доменное-имя-вашего-сервера-DOC-V
          network.negotiate-auth.delegation-uris доменное-имя-вашего-сервера-DOC-V
        • Контроллер домена Active Directory, сервер Doc-v и клиент должны быть разными физическими машинами.
  • Время. В этой секции доступна одна настройка:
    • Часовой пояс, который необходимо выбрать из выпадающего списка.
  • Электронная почта. Для отправки почтовых сообщений действиями «Уведомление» и «Электропочта» Дóкви использует почтовый ящик, определяемый в следующих настройках:
    • Состояние. Во включенном состоянии действия («Электропочта», «Уведомление» и пр.) могут отправлять сообщения пользователям по электронной почты через системный почтовый адрес. У пользователей в профиле появляется возможность изменения своего электронного адреса.
    • Системный почтовый адрес, например, doc-v@gmail.com.
    • Адрес SMTP-сервера, например, smtp.gmail.com.
    • Порт SMTP-сервера, обычно 465.
    • Имя пользователя, например, doc-v@gmail.com.
    • Пароль пользователя. Обратите внимание, что многие популярные почтовые сервисы требуют установки отдельного пароля приложений. Инструкции доступны по ссылкам: Gmail, Yandex, Mail.ru.
  • Telegram. Действия «Уведомление» и «Решение» могут дублировать сообщения в Telegram-аккаунт пользователя. Для этого необходимо установить следующие настройки:
    • Состояние. Во включенном состоянии у пользователя в профиле появляется виджет аутентификации Telegram, чтобы пользователь мог разрешить Дóкви отправлять ему сообщения. Виджет появляется только в том случае, если система открыта пользователем в браузере по адресу с публичным DNS-именем (к которому «привязан» бот Telegram, см. ниже) на 80 (443) порту. Это доменное имя может быть сопоставлено внутреннему IP-адресу, то есть доступ к Дóкви извне не нужен.
    • Имя Telegram-бота. Необходимо создать собственного Telegram-бота, от имени которого пользователи будут получать сообщения. Для этого нужно:
      • открытьв Telegram бот @BotFather;
      • ввести команду /newbot для создания бота, задать его имя;
      • ввести команду /setdomain и задать доменное имя системы.
    • Токен Telegram-бота. При создании бота Telegram создает токен вида
      110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw. Его необходимо ввести в эту настройку. Содержимое настройки доступно в конфигурации через переменную ТОКЕН TELEGRAM-БОТА
  • Web Push уведомления. Действия «Уведомление» и «Решение» могут отправлять Web-push уведомления на устройства пользователя (если он подписался в ответ на предложение подписки). Для этого необходимо настроить HTTPS (для тестовых целей можно использовать localhost без HTTPS) и установить следующие настройки:
    • Состояние. Во включенном состоянии пользователю при работе в браузере на основе Chromium предлагается оформить подписку на Web Push уведомления. Если он ответит утвердительно, он будет получать уведомления.
    • Электронная почта. Этот адрес электронной почты будет включен в состав отправляемых Web Push уведомлений (адресат его не будет видеть). Он требуется провайдером Web Push уведомлений.
  • Предварительный просмотр файлов.
    • Просмотр офисных файлов. Для работы предварительного просмотра поля «Файл» необходимо установить приложение Unoserver, после чего включить эту настройку.
    • Движок: Unoserver (рекомендуется) или Unoconv (устарел).
    • Для Unoserver предусмотрены следующие настройки:
      • Автозапуск. Если Unoserver установлен на одном сервере с Дóкви рекомендуется выключить эту настройку, чтобы система при необходимости могла запустить Unoserver самостоятельно.
      • Имя хоста или IP-адрес Unoserver.
      • Порт Unoserver.
      • Путь к исполняемым файлам LibreOffice. Настройка доступна при включенном автозапуске и не является обязательной для заполнения.
        Подробнее см. документацию к Unoserver.
    • Для Unoconv доступна одна настройка:
      • Таймаут на формирование файла предварительного просмотра в секундах. Если в течение отведенного времени приложение Unoconv не сможет сформировать файл предварительного просмотра, процесс будет прерван и повторен позже.
  • Сообщения. Администратор имеет возможность отправить пользователям сообщение (например, о планируемом техническом перерыве в работе системы), которое будет отображаться в верхней части окна системы.
  • Темы. Дóкви поддерживает несколько разноцветных тем оформления, каждая из которых может быть светлой или темной. Можно разрабатывать собственные темы на основе файлов sample-light.css и sample-dark.css, размещенных в каталоге data дистрибутива Дóкви. После доработки этих файлов их следует переименовать, изменив sample на название своего основного цвета, разместить в каталоге view и добавить в данной настройке, указав:
    • Цвет, который будет отображаться у пользователя в профиле для включения данной темы
    • Название цвета темы (на которое было заменено слово sample в названии css файлов).

Конфигурационный файл

В корневом каталоге системы находится файл doc-v.conf, в котором могут определяться описываемые далее настройки. После внесения изменений в этот файл, необходимо выполнить команду:

doc-v reload Изменение ключей секций [DB] и [Network] требует полную перезагрузку Дóкви:
doc-v restart

Файл разделен на несколько секций, название которых заключено в []. Файл может не содержать все описываемые далее ключи, Дóкви в таких случаях использует значения по умолчанию.

Секция [General]

  • Language. Язык, используемый в системе по умолчанию. Значение по умолчанию: ru
  • Debug. Возможные значения: true, false. Включает / отключает режим отладки. В режиме отладки Дóкви ведет записи в файл log/debug.log.
  • FirstDayOfWeek. Возможные значения: от 0 до 6. Первый день недели. По умолчанию, 1 (понедельник).
  • MaxRouteContextCalls. Максимальное количество вызовов точек маршрутов в рамках одной сессии. Используется для защиты системы от зацикливания вследствие ошибок конфигурации. По умолчанию, 1024.
  • WarnRouteContextCalls. Количество вызовов точек маршрута, при превышении которого записывается предупреждение в файл info.log. Используется для выявления неоптимальной конфигурации. По умолчанию, 10.
  • LocaleDate. Формат даты, по умолчанию, 02.01.2006.
  • LocaleDateTime. Формат даты со временем, по умолчанию, 02.01.2006 15:04:05
  • FloatDecimals. Возможные значения: от 0 до 4. Количество знаков после запятой для форматирования вещественных чисел. По умолчанию, 2.
  • FloatDecPoint. Разделитесь целой и дробной частей вещественных чисел. По умолчанию, запятая.
  • FloatThousandsSep. Разделитель тысячных разрядов чисел. По умолчанию, пробел.
  • TokenTTL. Время «жизни» пользовательского токена. По истечению этого времени, пользователь должен будет заново ввести логин/пароль. Вводится в секундах. По умолчанию, 1 год.
  • OnlineUserTTL. Количество секунд с момента последней действия пользователя в системе в течение которых пользователь считается активным. Используется для подсчета активных пользователей на странице администратора. По умолчанию: 5 минут.
  • NoUpdateBackup. Возможные значения: true, false. Позволяет отключить (true) автоматическое резервное копирование при обновлении системы.
  • ImmutableDocumentUIDs. Идентификаторы документов (через запятую), которые не могут удалены из системы.
  • NoChangeSettings. Возможные значения: true, false. Позволяет отключить (true) изменение настроек системы.
  • NoFree. Возможные значения: true, false. Позволяет отключить (true) бесплатные 5 000 документов, то есть будут доступны только купленные модули. Значение по умолчанию: false.
  • NoStartExec. Возможные значения: true, false. Позволяет отключить (true) выполнение действия «Запуск» для повышения уровня безопасности.
  • SavedFieldUIDsOnImportConf. Идентификаторы полей типов документов (через запятую), которые не удаляются при загрузке конфигурации через сервис «Перенос конфигурации».

Секция [Network]

  • Hostname. Адрес хоста системы. Например, demo.doc-v.com. Используется для формирования URL-адреса для гиперссылок, например, при отправке почтовых сообщений. Адрес формируется следующим образом: http(s, если HTTPS=true)://Hostname(:Port)
  • HTTPServer. Иногда описанный выше вариант формирования URL-адреса система через Hostname не подходит. Например, в случае, если Дóкви запускается на порту 8443, а доступен через Nginx по порту 443, адрес будет содержать номер порта :8443. В этом случае можно использовать данный ключ, указав в нем полный URL адрес сервера, например, https://demo.doc-v.com
  • Port. Номер порта, на котором работает Дóкви.
  • HTTPS. Возможные значения: true, false. Позволяет включить (true) HTTPS. Помимо изменения данной настройки, необходимо подготовить SSL-сертификат (например, настройку Let’s Encrypt) и установить следующие три ключа:
  • SSLCertFile. Путь к файлу SSL-сертификата. Например, /opt/doc-v/ssl/cert.pem или просто ssl/cert.pem.
  • SSLKeyFile. Путь к файлу приватного ключа. Например, /opt/doc-v/ssl/privkey.pem
  • SSLChainFile. Путь к цепочке центров сертификации SSL-сертификата. Например, /opt/doc-v/ssl/fullchain.pem
  • Interface. Сетевой интерфейс (IP-адрес) , на котором будет работать Дóкви. По умолчанию ключ пустой, и Дóкви «слушает» все интерфейсы.
  • Timeout. Таймаут не выполнение пользовательского запроса в секундах. Значение по умолчанию: 120 секунд.
  • EDSCheckerAddress. Сетевой адрес для RPC-сервера проверки ЭЦП (для Казахстана). По умолчанию, 127.0.0.1
  • EDSCheckerPort. Сетевой порт для RPC-сервера проверки ЭЦП (для Казахстана). По умолчанию, 22072

Секция [Файл]

  • Backup. Путь к папке с резервными копиями Дóкви, создаваемыми действием «Резервное копирование» сервиса «Планировщик задач». По умолчанию, storage/backup.
  • Log. Путь к папке для хранение лог-файлов. По умолчанию, log в корневой директории Дóкви.
  • FileStorage. Путь к папке файлового хранилища. По умолчанию, storage/files в корневой директории Дóкви.
  • FileStoragePreview. Путь к папке файлов предварительного просмотра поля «Файл». По умолчанию, storage/fpreview в корневой директории Дóкви.
  • DocumentLogDir. Путь к папке файлов хода работы документов. По умолчанию, storage/doclogs в корневой директории Дóкви.
  • EmailStorage. Путь к папке временного хранения отправляемых файлов действия «Электропочта». По умолчанию, storage/templ/email в корневой директории Дóкви.
  • ExportfStorage. Путь к папке временного хранения отправляемых файлов действия «Экспорт в файл». По умолчанию, storage/templ/exportf в корневой директории Дóкви.
  • Temp. Путь к временной папке для служебных нужд. По умолчанию, temp в корневой директории Дóкви.
  • AllowedCopyDirs. Список разрешенных каталогов (через запятую) для копирования файлов из файловой системы в Дóкви.
  • MaxFileSize. Максимальный размер загружаемого файла по умолчанию (в поле «Файл» можно переопределить эту настройку). По умолчанию, размер неограничен.
  • MySQLPath. Путь к исполняемым файлам MySQL / MariaDB. Допускается использование переменной DOC-V_WORKING_DIR, которая заменяется на корневой каталог Дóкви. По умолчанию настройка не используется, применяются системные переменные.
  • LogSizeRotation. Максимальный размер лог-файлов (в байтах) для ротации (сжатия). По умолчанию, 50 МБ, после превышения этого размера лог файл очищается, а существующие записи размещаются в новом zip-файле с датой создания в названия. Допускается использование литер K (килобайты), M (мегабайты) и G (гигабайты), например, 100M.
  • DebugLogSizeHour. При большой нагрузке и включенном режиме отладки, в файл debug.log может записываться довольно большие объемы данных. Данный ключ позволяет определить предельную скорость записи (байт/час) в этот файл, после превышения которой режим отладки отключается (до перезагрузки Дóкви). По умолчанию, 1G (в час; проверка выполняется каждые полчаса). Допускается использование литер K (килобайты), M (мегабайты) и G (гигабайты).

Секция [DB]

  • Hostname. Доменное имя или IP-адрес сервера базы данных.
  • Port. Порт сервера базы данных, по умолчанию, 3306.
  • User. Имя пользователя для подключения к серверу базы данных.
  • Password. Пароль пользователя для подключения к серверу базы данных.
  • Name. Название базы данных.
  • MaxOpenConns. Максимальное количество открытых соединений с базой данных. По умолчанию, 50. При большой нагрузке следует увеличить это значение, учитывая, что чрезмерное количество способствует неоправданному расходу ресурсов. Для определения оптимального значения можно включить режим отладки (ключ Debug = true в секции [General]) и мониторить файл debug.log, в который будут периодически записываться измерение нагрузки на базу данных в виде:
    Using DB-connections: N WaitCount: C, WaitDuration: D sec, где
    N — количество используемых соединений с базой данных в момент записи в лог-файл;
    C — общее количество (с момента загрузки сервера Дóкви) недостающих соединений с базой данных;
    D — время ожидания свободных соединений с базой данных в секундах.
  • MaxIdleConns. Максимальное количество простаивающих соединений с базой данных. По умолчанию, 50. Должно быть не меньше MaxOpenConns.

Для настройки главного меню необходимо в панели администратора выбрать пункт «Редактор меню».

В редакторе есть две вкладки: первая для настройки самого меню, а вторая для настройки схемы. На первой вкладке настраивается древовидное меню. Каждый пункт имеет следующие настройки:

  • Название пункта меню. Необязательно для ввода.
  • Родитель. Здесь можно выбрать пункт, в который будет вложен настраиваемый.
  • Пиктограмма. Необязательна для выбора.
  • Сортировка. Чем меньше значение, тем левее будет расположен этот пункт в меню.
  • Тип действия:
    • ссылка на журнал документа (необходимо выбрать журнал, который будет открываться, когда пользователь нажмет на этот пункт в меню),
    • ссылка на документ (необходимо выбрать настроечное поле, которое будет содержать идентификатор документа, который будет открыт, когда пользователь нажмет на этот пункт меню),
    • гиперссылка (необходимо ввести URL ссылки),
    • разделитесь (для визуальной группировки пунктов).

На вкладке схемы определяется место расположения главного меню и порядок расположения элементов в нем.

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

В центре всегда отображается древовидное меню, настраиваемое на первой вкладке редактора, или соответствующие кнопки (в административной части). А до и после этого меню можно размещать следующие элементы:

  • Административная панель. Кнопка вызова панели администратора. Доступна только для администраторов, т. е. несмотря на наличие элемента в схеме, пользователь не увидит эту кнопку.
  • Пользовательские уведомления. Кнопка в виде «колокольчика» - пользовательский центр уведомлений.
  • Профиль пользователя. Элемент доступен всем пользователям. Элемент имеет настройку, в которой можно определить его внешний вид: только иконка, иконка + отображаемое имя (Структуры) или иконка + должность.
  • Текущее время. Отображает текущее время. Элемент доступен всем пользователям.
  • Пользователей в системе. Выводит информацию о количестве пользователей, проявлявших активность в системе в течение последних пяти минут. Элемент доступен только администраторам.
  • Количество соединений. По сути, количество открытых вкладок в браузерах. Элемент доступен только администраторам.
  • Количество документов в системе. Элемент доступен только администраторам.
  • Количество файлов в системе. За счет наличия версионности файлов, количество файлов может быть больше, чем их можно насчитать в документах. Элемент доступен только администраторам
  • Размер базы данных. Элемент доступен только администраторам.