Частые вопросы
Просмотр логов и выгрузка в файл
В операционной системе 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