Содержание
На схеме отображена архитектура с установленной версией Корпоративный сервер 2024.
Далее описана инструкция по обновлению этой архитектуры до актуальной версии Корпоративный сервер 2024.
Перед обновлением обязательно прочитайте инструкцию до конца.
Обновление НЕ изменит файлы конфигурации.
Но предварительно настоятельно рекомендуем создать снэпшоты и бэкапы обновляемых сервисов и базы данных.
Для проверки текущей версии перейдите по URL:
https://cddisk.ваш-домен/version
Где:
cddisk
— адрес Р7-Диск;ваш-домен
— используемый домен для работы портала.
Скачать дистрибутив и патч обновления возможно по ссылке: Скачать «Р7-Офис. Корпоративный сервер».
1. Обновление документ сервера
Для обновления можно воспользоваться инструкцией по ссылке.
2. Обновление Сервиса поиска SearchApi
Подключитесь к каждому из серверов с вынесенным сервисом SearchApi.
При проведении обновлении с версии 4400 до 14752 и выше выполните следующие действия:
Если установлен dotnet 3, удалите его, при обновлении установится dotnet 6.
Команды для удаление dotnet 3.1 по порядку для ОС Astra Linux, РЕД ОС, Альт Linux:
apt remove dotnet-sdk-3.1 dnf remove dotnet-sdk-3.1 apt-get remove dotnet-sdk-3.1
2.1. Скачайте на серверы любым удобным способом файл с обновлением
cd /mnt wget https://download.r7-office.ru/disk/update/Patch_<версия>.zip
Распакуйте скрипт обновления из архива с обновлением в эту же папку:
unzip Patch_<версия>.zip Patch/update.sh -d /mnt
Запустите скрипт обновления с параметром -s и названием обновляемого сервиса:
bash Patch/update.sh -s search Patch_<версия>.zip
Где:
update.sh
— скрипт обновления-s
— ключ для обновления бэкендаPatch_<версия>.zip
— полный путь до скачанного на ВМ патча для обновления SearchApi
3. Обновление Р7-диск и БД
Перед обновлением на версию 2025.1.18.15276 потребуется на сервере БД выполнить команды:
sudo -i -u postgres psql -c "CREATE DATABASE pagesdb OWNER cddisk;" sudo -i -u postgres psql -c "GRANT ALL privileges ON DATABASE pagesdb TO cddisk;"
Для Alt Линукс:
su - postgres -s /bin/bash -c "psql -c \"CREATE DATABASE pagesdb OWNER cddisk;\"" su - postgres -s /bin/bash -c "psql -c \"GRANT ALL privileges ON DATABASE pagesdb TO cddisk;\""
Укажите параметры подключения на сервере БД в /var/lib/pgsql/data/pg_hba.con
f или /etc/postgresql/11/main/pg_hba.conf
адрес подключения с Корпоративного сервера:
host cddisk cddisk 192.168.27.52/32 trust host pagesdb cddisk 192.168.27.52/32 trust
После обновления возможно изменить на md5 и выполнить перезапуск БД
systemctl restart postgresql
Скачайте на сервер любым удобным способом файл с обновлением (Patch) и дистрибутив.
cd /mnt wget https://download.r7-office.ru/disk/update/Patch_<версия>.zip # для всех ОС wget https://download.r7-office.ru/disk/deb/CDinstall_<версия>.zip # для Astra linux или wget https://download.r7-office.ru/disk/rpm/RedOS_<версия>.zip # для Red OS или wget https://download.r7-office.ru/disk/alt/AltServer_<версия>.zip
Распакуйте скрипт обновления из архива с обновлением в эту же папку:
unzip Patch_<версия>.zip Patch/update.sh -d /mnt
Во время обновления будет происходить:
- Обновление базы данных с помощью SQL скриптов до актуальной, для версии патча.
- Обновление api, apisso, filestorage, registry и processing до версии патча. Конфигурационные файлы остаются без изменений.
- Установка версии dotnet 6 и удаление dotnet 3;
Обновите зависимости. Файл update.sh
необходимо взять из архива с патчем Patch_<версия>.zip
.
Подходит для инсталляций «всё в одном».
Команды для Astra Linux:
sudo bash Patch/update.sh -c CDinstall_<версия>.zip # для Astra sudo bash Patch/update.sh -a Patch_<версия>.zip # для Astra
Команды для РЕД ОС (обратите внимание на пункт 7.2):
sudo bash Patch/update.sh -r RedOS_<версия>.zip # для РЕД ОС sudo bash Patch/update.sh -a Patch_<версия>.zip # для РЕД ОС
Команды для Альт Linux:
sudo bash Patch/update.sh -l AltServer_<версия>.zip # для Альт Linux sudo bash Patch/update.sh -a Patch_<версия>.zip # для Альт Linux
Где:
update.sh
— скрипт обновления;-c
— ключ для обновления Astra Linux;-r
— ключ для обновления РЕД ОС;-l
— ключ для обновления Альт Linux;-a
— ключ для обновления всех компонентов (веб, база данных, бэкенд);
Так же возможен запуск обновления с параметрами и указанием обновляемого сервиса в случае вынесенных сервисов на отдельные сервера, примеры команд:
sudo bash Patch/update.sh -s api Patch_<версия>.zip — для обновления api sudo bash Patch/update.sh -s processing Patch_<версия>.zip — для обновления processing sudo bash Patch/update.sh -s sr Patch_<версия>.zip — для обновления registry sudo bash Patch/update.sh -s sso Patch_<версия>.zip — для обновления apisso sudo bash Patch/update.sh -s fs Patch_<версия>.zip — для обновления filestorage
4. Перечень вопросов во время инсталляции
4.1. Префиксы для новых модулей
4.1.1. Для модуля Р7-Страницы
4.1.2 Для модуля Р7-Формы
4.1.3 Для Сервера Документов укажите ранее используемый
4.1.4 Добавьте в DNS записи на эти модули
4.2. Обновлять Базу данных?
4.2.1. Ответить Нет
Не будет запущен процесс обновления БД.
Актуально, если обновление БД не требуется, и она уже обновлена до версии этого патча
4.2.2. Ответить Да
Будет обновлена БД бэкенда до актуального состояния
4.3 Обновлять веб?
4.3.1 Ответить Да
Будет запущен процесс обновления веба
4.3.2 Ответить Нет
Обновление веба будет пропущено.
Актуально, если ваш веб-сервер находится на отдельной виртуальной машине
5. Команды проверки версии dotnet
Команда для Astra:
apt-cache depends cddisk |grep dotnet
Команда для РЕД ОС:
rpm -qR cddisk |grep dotnet
Команда для Альт Linux:
rpm -qR cddisk |grep dotnet
6. Логирование скрипта
Лог выводится в консоль в реальном времени, также дублируется в системный лог в файл каталога /var/log/log-date+time-update.sh.log
.
7. Известные проблемы после обновления
7.1 Если после обновления на портале у пользователей пропали аватары (изображения профилей), то выполните следующее обновление в базе данных:
sudo -i -u postgres psql cddisk update public."Users" set "PhotoId"=(SELECT "AvatarId" FROM public."ChatAvatarRelations" r where r."EntityId"=public."Users"."Id" and r."Type"=1 order by r."Id" desc limit 1) where "PhotoId" IS NULL; \q
7.2 Для РедОС обновление до версий 14752 и 15276. После проведения обновления на основном сервере проверьте конфигурацию /etc/nginx/nginx.conf
user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; map $http_x_forwarded_proto $the_scheme { default $scheme; "https" "https"; } default_type application/octet-stream; log_format main '3603remote_addr - 3603remote_user [3603time_local] "3603request" ' '3603status 3603body_bytes_sent "3603http_referer" ' '"3603http_user_agent" "3603http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
и выполните команды:
sudo sed -i 's/proxy_set_header Connection \$proxy_connection;/proxy_set_header Connection "";/g' /etc/nginx/sites-available/* systemctl restart nginx
После обновления проверьте конфигурацию Postfix (в случае если установлен почтовый сервер). В /etc/postfix/master.cf
проверьте корректность строк:
dovecot unix - n n - - pipe # flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient} flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}