FAQ

Частые вопросы


Просмотр логов и выгрузка в файл

В операционной системе Linux логи хранятся в системном журнале, для просмотра необходимо выполнить команды

## просмотр логов на экране
journalctl -xeu doczilla

## выгрузка всех логов в файл
journalctl -u doczilla > /tmp/dz.log

## выгрузка логов за определенный период времени в файл
journalctl -u doczilla --since '2024-01-15 10:08' --until '2024-01-16 15:00' >> /tmp/dz.log

## выгрузка логов из докер контейнера
docker logs CONTAINER_ID >> /tmp/dz.log
## выгрузка логов из докер контейнера за определенный период времени в файл
docker logs --since 2024-01-15T10:08 CONTAINER_ID >> /tmp/dz.log
docker logs --since 10h CONTAINER_ID > /tmp/dz.log

Для хранения логов в файле можно изменить скрипт запуска ./doczilla/bin/service.sh

## хранение логов в системном журнале
JAVA_OPTS="$JAVA_OPTS -Dorg.slf4j.simpleLogger.logFile=System.out"

## хранение логов в файле
JAVA_OPTS="$JAVA_OPTS -Dorg.slf4j.simpleLogger.logFile=/opt/dz.log"

В операционной системе Windows логи хранятся в файле .\doczilla\log\wrapper.log 



Поиск документа на сервере

Для поиска где хранится документ в файловой системе Doczilla, необходимо знать его documentId, далее логинимся на сервер приложения, и выполняем команду поиска 

##  указываем где искать, потом указываем искать директорию по documentID (можно по полному ID или первой части, но указать символ * звездочка)
find /opt/doczilla/work/documents/ -type d -iname '1A20DD57-8684*'

##  в ответ выдаст строку где расположен файл.




Изменить web-порт используемый в Doczilla

По умолчанию Doczilla использует HTTP порт 9080, который можно сменить в файле 

## Linux - файл ./doczilla/conf/server.properties
## добавить строку и указать порт web.server.http.port=80 ## Windows - файл .\doczilla\conf\wrapper.conf ## найти строку и заменить порт wrapper.java.additional.3=-Dz8.web.server.http.port=80


Увеличение заголовка для Kerberos

Ошибки в браузере: 431 Request Header Fields Too Large / 400 Request Header OR Cookie Too Large

Ошибка в логах: WARN:oejh.HttpParser:qtp891095110-76159: Header is too large 8193>8192

Учетная запись пользователя была смигрирована из другого домена или состоит в очень большом количестве доменных групп, поэтому получается слишком большой заголовок токена Kerberos. Для изменения размера заголовка необходимо прописать в файлы:

## файл /etc/nginx/conf.d/doczilla.conf
server {
...
large_client_header_buffers 8 64k;
...
}

## файл ./doczilla/conf/server.properties
web.server.request.header.size=64536
web.server.response.header.size=64536

И перезапустить службу nginx и службу doczilla.



Запуск двух сборок на одном сервере

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

Веб порт Докзилла по умолчанию:  9080

## Linux - файл ./doczilla/conf/server.properties
## добавить строку и указать порт
web.server.http.port=80

## Windows - файл .\doczilla\conf\wrapper.conf
## найти строку и заменить порт
wrapper.java.additional.3=-Dz8.web.server.http.port=80

## найти строки и заменить название службы wrapper.name=Doczilla2 wrapper.displayname=Doczilla Standalone Server 2 wrapper.description=Doczilla Standalone Server 2

Порт NodeJs по умолчанию:   3000

## Linux / Windows - файл ./doczilla.nodejs/server.js
## найти строку и заменить порт
var port = normalizePort(process.env.PORT || '3001');

Порт LibreOffice по умолчанию:  8100

## Linux / Windows - файл ./doczilla/conf/server.properties
## добавить строку и указать порт
office.port=8101

Не забываем так же  указать на другую схему или новую базу данных

## Windows/Linux - файл ./doczilla/conf/server.properties
application.database.schema=newnameschema
...
application.database.connection=jdbc:postgresql://localhost/newnamebase

После всех изменений необходимо перезапустить службу doczilla



Ошибка при генерации схемы "operator class 'gist_trgm_ops' does not exit for method 'gist'"

В базе данных нет плагина тригонометрии "pg_trgm", который устанавливается файлом postgresql-contrib. Плагин включается командой:

su - postgres
psql doczilla
CREATE EXTENSION pg_trgm;
\q


Добавление шрифтов

В Doczilla шрифт "Times New Roman" подменяется бесплатным шрифтом "XO Thames", чтобы использовать оригинальный шрифт, его необходимо установить и поправить конфиг в файле fonts.mjs:

## в файле /opt/doczilla/web/css/fonts/fonts.mjs
## настройка для замены шрифтов по умолчанию

  'Times New Roman': {
        'alt': [
            'XO Thames'
        ]
    },

## чтобы убрать замену шрифта, необходимо изменить конфиг

  'Times New Roman': {},

Пример установки шрифтов в Debian / Astra Linux

## скачиваем шрифты из репозитория debian
wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.7_all.deb 

## устанавливаем скаченные шрифты
apt install ./ttf-mscorefonts-installer_3.7_all.deb 

## обновляем кэш шрифтов
fc-cache -fv
fc-cache

Пример установки шрифтов в CentOS 7/8/9 / Rocky Linux / Ред ОС

## устанавливаем для CentOS 7 необходимые утилиты для работы с шрифтами
yum install curl cabextract xorg-x11-font-utils fontconfig

## скачать нужную утилиту для версий 8/9 можно по ссылке
https://pkgs.org/download/xorg-x11-font-utils

## скачиваем шрифты для всех версий из репозитория
wget https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
## или
wget https://rpmfind.net/linux/sourceforge/m/ms/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

## устанавливаем скаченные шрифты
yum install ./msttcore-fonts-installer-2.6-1.noarch.rpm

## обновляем кэш шрифтов
fc-cache -fv
fc-cache

Настройка отправки почты

Для настройки почтовой учетной записи необходимо отредактировать файл конфигурации в директории ./conf/smtp.properties

 ## адрес почтового домена
mail.smtp.host=domain.ru
 ## указываем порт для отправки (например: 25 или 587)
mail.smtp.port=25
 ## включаем аутентификацию
mail.smtp.auth=true
 ## указываем домен для доверия серверу без проверки сертификатов
mail.smtp.ssl.trust=domain.ru
 ## выбор протокола безопасности
mail.smtp.ssl.protocols=TLSv1.2
 ## включение протокола безопасности
mail.smtp.starttls.enable=true
 ## логин почтовой учетной записи
mail.smtp.login=noreply@domain.ru
 ## пароль почтовой учетной записи
mail.smtp.password=Pa$$w0rd

## указание обратного ящика отправителя (при mail.smtp.auth=false)
mail.smtp.alias=noreply@domain.ru​

Смена кодировки 

Если в меню часть текста указывается символами ??????????? (знаки вопроса)
Необходимо сменить кодировку в операционной системе на русскую UTF8, и перезагрузить сервер

## CentOS
localectl list-locales
localectl set-locale LANG=ru_RU.UTF-8

## Debian / Ubuntu locale
dpkg-reconfigure locales [*] ru_RU.UTF-8

Для смены кодировки в СУБД, необходимо пересоздать весь инстанс или хотя бы пересоздать базу данных

su - postgres
createdb -E UTF8 -T template0 --lc-collate=ru_RU.utf8 --lc-ctype=ru_RU.utf8  doczilla


Настройка интернет прокси-сервера

Для работы дополнительных сервисов в Докзилла необходим доступ в сеть Интернет, в некоторых организациях через прокси-сервер,
в Linux системах несколько способов указать прокси-сервер

## для всей операционной системы
export http_proxy="http://user:password@server:port"
export https_proxy="https://user:password@server:port"
## только для службы doczilla, в конфиге /etc/systemd/system/doczilla.service [Service] ..... Environment="http://user:password@server:port" Environment="https://user:password@server:port" .....

Для настройки прокси-сервера только для сервиса DaData, необходимо в браузере зайти в Докзилла
в меню - Настройки (Еще - Настройки) - Параметры - слева найти DaData - DaData Proxy settings, указать server:port


Особенности работы на Astra Linux

Для работы c российской операционной системой Astra Linux, необходимо еще дополнительно донастроить различные программы

1. в репозиториях отсутствует Java JDK 8, необходимо установить отдельно (несмотря на заглушку в Astra Linux 1.6)
решение: рекомендуем установить openjdk-jdk-8  со стороннего репозитория для российский систем от "Лаборатории 50"
https://packages.lab50.net/alse/pool/main/o/openjdk-8/openjdk-8-jdk_8u181-b13-2~deb9u1_amd64.deb
https://packages.lab50.net/alse/pool/main/o/openjdk-8/openjdk-8-jdk-headless_8u181-b13-2~deb9u1_amd64.deb
https://packages.lab50.net/alse/pool/main/o/openjdk-8/openjdk-8-jre_8u181-b13-2~deb9u1_amd64.deb
https://packages.lab50.net/alse/pool/main/o/openjdk-8/openjdk-8-jre-headless_8u181-b13-2~deb9u1_amd64.deb

2. для стабильной работы программы Докзилла необходимо удалить libreoffice установленный из репозитория, и установить другой полный дистрибутив
решение: рекомендуем установить libreoffice-7 с официального сайта 
https://downloadarchive.documentfoundation.org/libreoffice/old/7.6.7.2/deb/x86_64/LibreOffice_7.6.7.2_Linux_x86-64_deb.tar.gz

3. после установки PostgreSQL необходимо настроить мандатное управление доступом к СУБД,
решение: или отключить его в файле postgresql.conf

## отключение мандатного управления доступом в файле postgresql.conf
ac_ignore_maclabel=true

4. для работы с шрифтом Tahoma в Докзилла необходимо убрать его автозамену, но всё равно не работает выделение жирным при конвертации в pdf
решение1: отключение автозамены для использования оригинального шрифта необходимо выполнить действия по инструкции
https://help.doczilla.pro/articles/#!knowledge_base/faq/a/h3__74825219

решение2: для решения проблемы выделения жирным шрифтом Tahoma, рекомендуем его заменить на шрифт другой версии.
необходимо заменить шрифт (предварительно сделав резервную копию) в папке на скаченный с сайта https://ofont.ru/view/563  шрифт Tahoma Bold

cp -rf ./ofont.ru_Tahoma.ttf  /usr/share/fonts/truetype/wine-tahoma/tahoma.ttf

5. в репозитории несколько версий compose поэтому установка docker командой

apt install docker.io docker-compose-v2