Обновление на версию 5.0

Любая инструкция является примерной,
и создана для того, чтобы показать основные команды и действия,
в связи с очень большим разнообразием linux-систем и windows-систем

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

Обновление на версию Doczilla 5.0 в Linux

ВАЖНО! Обновление устанавливается только на операционные системы linux, где библиотека glibc не ниже версии 2.29 (проверить можно командой  ldd --version )
например, РедОС 8.0.2 (2.36), Astra Linux 1.8.1 (2.36), Debian 12 (2.36), Debian 13 (2.41), Rocky Linux 9.6 (2.34) и т.д.

Обновление включает в себя, остановку службы, выполнения резервного копирования БД и директории с приложением, замену директории сборки, настройку конфигов и возврат документов из копии

1. Необходимо остановить службу Doczilla

systemctl stop doczilla

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

## пример команды бекапа БД различными способами:
pg_dump -Fc doczilla > /tmp/doczilla.dump
pg_dump -h 127.0.0.1 -p 5432 -U postgres doczilla  >  /tmp/doczilla.dump
pg_dump -h localhost -p 5432 -U postgres doczilla | gzip > /tmp/backup_db_`date +\%Y-\%m-\%d`.sql.gz

3. Переименовать на сервере приложения рабочую версию в резервную

mv /opt/doczilla  /opt/doczilla_backup

4. Распаковать новую версию (название файла может отличаться)

unzip pro.doczilla-5.0.0-202602282359.zip

5. Переименовать директорию в исходную (рабочую)

mv ./pro.doczilla-5.0.0-202602282359   /opt/doczilla

6. Внимательно переносим документы, лицензию и конфиги из резервной копии в рабочую

## необходимо скопировать нужные директории из старой версии
cp -f /opt/doczilla_backup/work /opt/doczilla/ ## необходимо удалить старую версию директории
rm -rf /opt/doczilla/work/just-in-time
## необходимо скопировать конфигурационные файлы Active Directory
cp -rf /opt/doczilla_backup/conf/* /opt/doczilla/conf/

## необходимо скопировать конфигурационные файлы приложения и почты (если есть)
cp -rf /opt/doczilla_backup/conf/server.properties /opt/doczilla/conf​/ cp -rf /opt/doczilla_backup/conf/smtp.properties /opt/doczilla/conf​/

7. Отредактировать/проверить конфигурационный файл : service.sh (при необходимости)


## service.sh - указать если необходимо настройки для Kerberos
vi  /opt/doczilla/bin/service.sh

например,
DEBUG=
... SSO= DOMAIN=
...

8. Запустить службу Doczilla 

systemctl start doczilla


Обновление схемы данных

После обновления необходимо запустить браузер Google Chrome / Microsoft Edge / Яндекс браузер последних версий и перейдите по адресу Doczilla

например, http://localhost:9080

Если появится окно входа — введите логин: Admin и пароль: ваш пароль администратора

В интерфейсе откройте меню: Doczilla → Администрирование → Обновление схемы данных.

Важно! Если в системе созданы и используются локальные справочники, то при обновлении схемы данных возникнет ошибка.

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

Найти исходные коды справочников можно в разделе «Администрирование -> Исходные коды».


Обновление на версию Doczilla 5.0 в Docker

Обновление состоит из нескольких шагов: остановить текущий контейнер, сделать резервные копии (БД и файлов), заменить тег образа (image) в настройках запуска и запустить контейнер снова.

1. Загрузите новый Docker-образ (tar.gz) на сервер и выполните одну из команд:

docker load < pro.doczilla-5.0.0-202602282359.tar.gz
docker load -i /tmp/pro.doczilla-5.0.0-202602282359.tar.gz

2. Остановите Doczilla и удалите старый контейнер

## Посмотреть запущенные контейнеры:
docker ps

## если контейнер называется doczilla-pro

docker stop doczilla-pro
docker rm doczilla-pro

## если Doczilla запускается через docker compose, перейдите в папку с docker-compose.yml и остановите сервис
cd /opt/docker/doczilla
docker compose down

3. Сделайте резервную копию базы данных, в зависимости от того, где у вас работает PostgreSQL.

## PostgreSQL в контейнере (пример: контейнер postgres-16):
docker exec postgres-16 pg_dump -U doczilla doczilla > /tmp/doczilla.dump

## PostgreSQL установлен на сервере (один из примеров):
pg_dump -Fc doczilla > /tmp/doczilla.dump
pg_dump doczilla > /tmp/doczilla.dump
pg_dump -h localhost -p 5432 -U postgres doczilla | gzip > /tmp/backup_db_`date +\%Y-\%m-\%d`.sql.gz

4. Сделайте резервную копию и удалите старую версию папки just-in-time

## копия рабочей директории 4.0
cp -r /opt/docker/doczilla/work  /opt/docker/doczilla/work_4.0

## удаление старой директории
rm -rf /opt/docker/doczilla/work/just-in-time

5. Обновите конфигурацию запуска: замените образ на новый

## Если запускаете через docker run, в команде запуска замените имя/тег образа на новый, например:

docker run --restart always --name doczilla-pro -d -p 9080:9080 --network doczilla -e DOCZILLA_DB_CONNECTION=jdbc:postgresql://postgres-16/doczilla -v /opt/volumes/work:/opt/doczilla/work registry.doczilla.pro/doczilla-pro:demo-202602282359

## Если запускаете через docker compose, в docker-compose.yml замените строку image на новую, например:

image: registry.doczilla.pro/doczilla-pro:demo-202602282359

6. Запустите Doczilla

## если запуск через docker run, запустите тем же скриптом/командой, который используется у вас на сервере (уже с новым образом)

## если запуск через docker compose, перейдите в папку с compose-файлом и запустите

cd /opt/docker/doczilla
docker compose up -d


Обновление схемы данных

После обновления необходимо запустить браузер Google Chrome / Microsoft Edge / Яндекс браузер последних версий и перейдите по адресу Doczilla

например, http://localhost:9080

Если появится окно входа — введите логин: Admin и пароль: ваш пароль администратора

В интерфейсе откройте меню: Doczilla → Администрирование → Обновление схемы данных.

Важно! Если в системе созданы и используются локальные справочники, то при обновлении схемы данных возникнет ошибка.

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

Найти исходные коды справочников можно в разделе «Администрирование -> Исходные коды».


Обновление на версию Doczilla 5.0 в Windows

Обновление включает в себя, остановку службы, выполнения резервного копирования БД и директории с приложением, замену директории сборки, настройку конфигов и возврат документов из копии

Копируем файлы обновления на сервер на диск или в директорию, где установлена Doczilla (название файла может отличаться), например:
C:\DZ\pro.doczilla-5.0.0-202602282359.zip

1. Необходимо остановить и удалить службу Doczilla, при срабатывании фильтра SmartScreen - выбрать: "Подробнее" - нажать: "Выполнить в любом случае"

C:\DZ\doczilla\bin\stop.bat
C:\DZ\doczilla\bin\uninstall.bat​

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

## пример команды бекапа БД различными способами: 
pg_dump -Fc doczilla > C:\DZ\doczilla.dump
pg_dump -h 127.0.0.1 -p 5432 -U postgres doczilla > C:\DZ\doczilla.dump


Так же можно воспользоваться программой pgAdmin​4 (подключиться к серверу СУБД - выбрать базу данных doczilla - выполнить backup)

3. Переименовать на сервере приложения рабочую версию в резервную

Можно выполнить на директории правой кнопкой мыши - 'Переименовать',
или через командную строку:

move C:\DZ\doczilla  C:\DZ\doczilla_backup

4. Распаковать новую версию (название файла может отличаться)

Можно на архиве правой кнопкой мыши - 'Извлечь всё' - выбрать путь C:\DZ\
или воспользоваться сторонними программами, например 7-zip

5. Переименовать директорию в исходную (рабочую)

Можно на директории правой кнопкой мыши - 'Переименовать',
или через командную строку:

move C:\DZ\pro.doczilla-5.0.0-202602282359  C:\DZ\doczilla

6. Внимательно переносим документы, лицензию и конфиги из резервной копии в рабочую

- создание директории можно выполнить правой кнопкой мыши - 'Создать' - 'Папку',
- копирование файлов и директорий можно выполнить выделением кнопкой мыши - правой кнопкой мыши 'Копировать' и в новом месте правой кнопкой мыши 'Вставить',
- или через командную строку:


## копируем нужные директории
xcopy /i /s C:\DZ\doczilla_backup\work C:\DZ\doczilla\
​## удаление старой версии директории

rmdir /s /q C:\DZ\doczilla\work\just-in-time ​
## копируем конфигурационные файлы Active Directory
xcopy /i /s C:\DZ\doczilla_backup\conf C:\DZ\doczilla\conf\ ## копируем конфигурационные файлы приложения и почты (если есть)
xcopy /s C:\DZ\doczilla_backup\conf\server.properties C:\DZ\doczilla\conf​\ xcopy /s C:\DZ\doczilla_backup\conf\smtp.properties C:\DZ\doczilla\conf​\
xcopy /s C:\DZ\doczilla_backup\conf\wrapper.conf C:\DZ\doczilla\conf​\

7. Отредактировать/проверить конфигурационный файл: wrapper.conf ( https://help.doczilla.pro/articles/#!doczilla/install-doczilla-windows)

## wrapper.conf подробнее в инструкции

notepad C:\DZ\doczilla\conf​\wrapper.conf
например,
set.JAVA_HOME=C:\Program Files\Java\jre1.8.0_321
...
# Spnego setup
...

8. Установить и запустить службу Doczilla, при срабатывании фильтра SmartScreen - выбрать: 'Подробнее' - нажать: 'Выполнить в любом случае'

C:\DZ\doczilla\bin\install.bat​
C:\DZ\doczilla\bin\start.bat

Обновление схемы данных

После обновления необходимо запустить браузер Google Chrome / Microsoft Edge / Яндекс браузер последних версий и перейдите по адресу Doczilla

например, http://localhost:9080

Если появится окно входа — введите логин: Admin и пароль: ваш пароль администратора

В интерфейсе откройте меню: Doczilla → Администрирование → Обновление схемы данных.

Важно! Если в системе созданы и используются локальные справочники, то при обновлении схемы данных возникнет ошибка.

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

Найти исходные коды справочников можно в разделе «Администрирование -> Исходные коды».



Обновление NodeJS скриптов

1. В версии Doczilla 5.0 больше не используется NodeJS, поэтому необходимо остановить службы и не использовать

## Linux - если нода запускается совместно с Докзиллой
## необходимо удалить строку запуска NodeJS в файле ./bin/service.sh и перезапустить службу
node /opt/doczilla.nodejs/cluster.js &
## Linux - если нода запускается отдельной службой systemctl stop doczilla-nodejs systemctl disable doczilla-nodejs

## Linux - если нода запускается отдельным контейнером docker
docker stop doczilla-nodejs && docker rm doczilla-nodejs
docker compose down

## Linux - если нода запускается контейнером docker файлом compose совместно с doczilla
## необходимо отредактировать конфиг удалив раздел с запуском контейнера doczilla-nodejs


​## Windows
Зайти в "Планировщик задач" - Завершить и Отключить задачу NodeJS​




Восстановление предыдущей версии (откат обновления)

Необходимо выполнить в следующем порядке

1. произвести остановку службы приложения Doczilla

systemctl stop doczilla

2. на сервере СУБД удалить используемую схему в базе данных: “doczilla”

su - postgres
psql doczilla
DROP SCHEMA nameschema CASCADE;

3. создать схему в базе данных “doczilla”

CREATE SCHEMA nameschema AUTHORIZATION doczilla;
\q

4. произвести на сервере СУБД восстановление (restore) базы данных из резервной копии (сделанной ранее, до обновления), примеры команды:

## пример команд восстановления БД
pg_restore -d doczilla  /tmp/doczilla.dump
psql doczilla  <  /tmp/doczilla.dump
gunzip -c /tmp/backup_db_2023-12-31.sql.gz | psql doczilla

5. произвести удаление директории Doczilla на сервере приложения;

rm -rf  /opt/doczilla/
​

6. произвести восстановление директорий на сервере приложения из резервной копии (сделанной ранее, до обновления) в папку Doczilla

cp  -rf  /opt/doczilla_backup  /opt/doczilla
cp  -rf  /opt/doczilla.nodejs_backup  /opt/doczilla.nodejs

7. запустить службу приложения Doczilla

systemctl start doczilla