Skip to content

Перенос всех приложений wsks на другой сервер

Задача

Перенести все приложения контейнера wsks по порту 443 из одного сервера на другой.

1. Получите root-права

Наберите команду и введите пароль от пользователя root.

bash
sudo su

2. Скопируйте весь каталог приложения на новый сервер

Скопируйте весь каталог /opt/wsks-<версия>_443 в каталог /opt на новый сервер с переименованием в wsks-<версия>_5449.


Внимание

Следующие действия выполняются на новом сервере!

1. Получите root-права

Наберите команду и введите пароль от пользователя root.

bash
sudo su

2. Проверьте статус «Selinux»

Если он в режиме «enforcing» или «disabled», то переведите его в режим «permissive».

Внимание, команды перезагрузят ОС при выполнении условий!

bash
if [ -f /etc/selinux/config ]; then if [ "$(echo $(getenforce))" = "Enforcing" ]; then sudo sed -i "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config && reboot;fi;fi;
if [ -f /etc/selinux/config ]; then if [ "$(echo $(getenforce))" = "Disabled" ]; then sudo sed -i "s/SELINUX=disabled/SELINUX=permissive/" /etc/selinux/config && reboot;fi;fi;

3. Получите root-права снова

Получите root-права снова, если предыдущая команда перезагрузила ОС.

bash
sudo su

4. Определите имя пакетного менеджера

Имя пакетного менеджера (apt-get, apt или yum) определяется автоматически и записывается в переменную $kstmp.

bash
if [ "$(which apt-get 2> /dev/null)" != "" ]; then export kstmp="apt-get";fi;
if [ "$(which yum 2> /dev/null)" != "" ]; then export kstmp="yum";fi;
if [ "$(which apt 2> /dev/null)" != "" ]; then export kstmp="apt";fi;

4.1. Установите дополнительные утилиты «wget», nano при их отсутствии

Пункт 4 должен быть выполнен.

bash
if [ -z $(which wget 2> /dev/null) ]; then $kstmp install -y wget;fi;
if [ -z $(which nano 2> /dev/null) ]; then $kstmp install -y nano;fi;

Проверьте наличие «iptables»

В Debian GNU/Linux 11, 12 (bullseye) проверьте наличие iptables командой: iptables --version.

Если iptables не установлен, то для установки используйте команду apt install iptables.

5. Настройте диапазон TCP портов

Для исключения ошибки:

Unable to start Kestrel. Failed to bind to address http://0.0.0.0:54430: address already in use

5.1. Выполните команду:

bash
sysctl net.ipv4.ip_local_port_range="32768 54429"

5.2. Создайте файл /etc/sysctl.d/777-keysystems.conf:

bash
nano /etc/sysctl.d/777-keysystems.conf

С содержимым:

bash
net.ipv4.ip_local_port_range = 32768 54429

5.3. Проверьте диапазон TCP портов командой:

bash
sysctl net.ipv4.ip_local_port_range

6. Настройте часовой пояс

Если не выполнить данный пункт, в дальнейшем придется выполнить пересоздание контейнера.

6.1. Узнайте текущий часовой пояс

bash
timedatectl status | grep "zone"

6.2. Получите список часовых поясов

bash
timedatectl list-timezones

6.3. Установите часовой пояс MSK +3 (пример)

bash
timedatectl set-timezone Europe/Moscow

6.4. Установите время

bash
timedatectl set-time 'YYYY-MM-DD HH:MM:SS'

7. Установите «Podman» или «Docker»

Рекомендуется установка Docker.

7.1. Установите «Docker»

Рекомендуется во всех ОС.

bash
$kstmp install -y docker
$kstmp install -y runc
systemctl start docker
systemctl status docker

6.2. Установите «Podman» при наличии в репозиториях

Пункт 4 должен быть выполнен.

bash
$kstmp install -y podman
$kstmp install -y runc
systemctl start podman
systemctl status podman

8. Скачайте и распакуйте образ «dks-wsks»

WEB-Сервер-КС v.6.0.9

bash
wget -O /opt/dks-wsks-6.0.9_lp11.tar.gz https://keysystems.ru/files/web/Linux/wsks/6.0.9/dks-wsks-6.0.9_lp11.tar.gz
tar -C /opt/ -xvf /opt/dks-wsks-6.0.9_lp11.tar.gz
bash
wget -O /opt/dks-wsks-6.0.9_a18.tar.gz https://keysystems.ru/files/web/Linux/wsks/6.0.9/dks-wsks-6.0.9_a18.tar.gz
tar -C /opt/ -xvf /opt/dks-wsks-6.0.9_a18.tar.gz
bash
wget -O /opt/dks-wsks-6.0.9_d12.tar.gz https://keysystems.ru/files/web/Linux/wsks/6.0.9/dks-wsks-6.0.9_d12.tar.gz
tar -C /opt/ -xvf /opt/dks-wsks-6.0.9_d12.tar.gz

WEB-Сервер-КС v.8.0

bash
wget -O /opt/dks-wsks-8.0_lp11.tar.gz https://keysystems.ru/files/web/Linux/wsks/8.0/dks-wsks-8.0_lp11.tar.gz
tar -C /opt/ -xvf /opt/dks-wsks-8.0_lp11.tar.gz
bash
wget -O /opt/dks-wsks-8.0_a18.tar.gz https://keysystems.ru/files/web/Linux/wsks/8.0/dks-wsks-8.0_a18.tar.gz
tar -C /opt/ -xvf /opt/dks-wsks-8.0_a18.tar.gz
bash
wget -O /opt/dks-wsks-8.0_d12.tar.gz https://keysystems.ru/files/web/Linux/wsks/8.0/dks-wsks-8.0_d12.tar.gz
tar -C /opt/ -xvf /opt/dks-wsks-8.0_d12.tar.gz

9. Установите контейнер с http-сервером или без http-сервера

Узнайте сначала установленные локали:

bash
locale -a | grep ru
Пример вывода ru_RU.utf8:
bash
ru_RU
ru_RU.koi8r
ru_RU.utf8
ru_UA
ru_UA.utf8

9.1. Установка контейнера с http-сервером

Установите одно из следующих сочетаний:

  • Podman+Apache
  • Podman+Nginx
  • Podman+Angie
  • Docker+Apache
  • Docker+Nginx Рекомендуется к установке
  • Docker+Angie В РРПО

Порты web-сервиса 443, и prometheus 9093 укажите свои, а также укажите локаль ru_RU.utf8.

В случае, если порт web-сервиса использовался отличный от 443, то наименование установленного контейнера будет иметь вид wsks-<версия>_54хх, поэтому нужно быть внимательнее, так как дальнейшая инструкция установки описана для контейнера с портом 443 (wsks-<версия>_443).

Не устанавливайте вариант с Apache в ОС ROSA Enterprise Linux Server 7.3!

Docker

  • wsks-6.0.9
bash
/opt/dks-wsks-6.0.9/install.sh -ws "nginx" -p "443" -cs "docker" -pp "9091" -l ru_RU.utf8
bash
/opt/dks-wsks-6.0.9/install.sh -ws "angie" -p "443" -cs "docker" -pp "9093" -l ru_RU.utf8
bash
/opt/dks-wsks-6.0.9/install.sh -ws "apache2" -p "443" -cs "docker" -pp "9091" -l ru_RU.utf8
  • wsks-8.0
bash
/opt/dks-wsks-8.0/install.sh -ws "nginx" -p "443" -cs "docker" -pp "9093" -l ru_RU.utf8
bash
/opt/dks-wsks-8.0/install.sh -ws "angie" -p "443" -cs "docker" -pp "9093" -l ru_RU.utf8

Podman

  • wsks-6.0.9
bash
/opt/dks-wsks-6.0.9/install.sh -ws "nginx" -p "443" -cs "podman" -pp "9093" -l ru_RU.utf8
bash
/opt/dks-wsks-6.0.9/install.sh -ws "angie" -p "443" -cs "podman" -pp "9093" -l ru_RU.utf8
bash
/opt/dks-wsks-6.0.9/install.sh -ws "apache2" -p "443" -cs "podman" -pp "9093" -l ru_RU.utf8
  • wsks-8.0
bash
/opt/dks-wsks-8.0/install.sh -ws "nginx" -p "443" -cs "podman" -pp "9093" -l ru_RU.utf8
bash
/opt/dks-wsks-8.0/install.sh -ws "angie" -p "443" -cs "podman" -pp "9093" -l ru_RU.utf8
Результат успешной установки
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           ~     Установка контейнера WEB-Сервер-КС
           ~        http сервер: nginx
           ~           порт\id : 443
           ~   контейнеризация : docker
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[   OK   ] Проверка доступности порта 443  ПО "WEB-Сервер-КС".
[   OK   ] Проверка доступности порта 9093  ПО "prometheus".
[   OK   ] Проверка работы сервиса ПО "Docker" (docker.service).
[   OK   ] Загрузка эталонного локального образа wsks-6.0.9 из архива ksdeb12_wsks-6.0.9_image.tar.
[   OK   ] Построение конечного образа wsks-6.0.9_443 на базе эталонного.
           Структура каталогов /opt/wsks-6.0.9_443 для запуска контейнера wsks-6.0.9_443 не существует, создаем...
[   OK   ] Создание структуры каталогов для запуска контейнера wsks-6.0.9_443.
[   OK   ] Создание контейнера wsks-6.0.9_443 и запуск в docker (порт\id 443).
[   OK   ] Создание пользователя ks-www-data.
           Группа ks-www-data существует.
           Пользователь ks-www-data существует.
[   OK   ] Остановка контейнера wsks-6.0.9_443.
[   OK   ] Настройка ротации логов ПО "WEB-Сервер-КС".
[   OK   ] Запуск сервиса wsks-6.0.9_443.service.
[  Инфо  ] Остановка сервиса wsks-6.0.9_443.service.
           Отсутствуют установленные приложения.
           Для развертывания веб приложений используйте скрипт ws_addapp.sh.
           См. инструкцию по развертыванию /opt/wsks-6.0.9_443/ctl/readme.txt

10. Скопируйте все приложения

Скопируйте на новом сервере все приложения из каталога wsks-<версия>_5449 в контейнер wsks-<версия>_443 командой:

bash
bash /opt/wsks-6.0.9_443/ctl/ws_copyfrom.sh -s "wsks-6.0.9_5449" -m replace
bash
bash /opt/wsks-8.0_443/ctl/ws_copyfrom.sh -s "wsks-8.0_5449" -m replace

Прочитайте информацию о состоянии контейнера на новом сервере:

bash
bash /opt/wsks-6.0.9_443/ctl/ws_info.sh
bash
bash /opt/wsks-8.0_443/ctl/ws_info.sh

11. Скопируйте каталоги «Сервис ОД и ЭП» и «Сервиса обновлений»

Каталоги (по умолчанию /var/lib/wsks-<версия>_443) нужно будет скопировать на новый сервер с соблюдением номеров кестрел-портов, и присвоением соответствующих прав (ks-www-data:ks-www-data).

11.1. На старом сервере в каталоге:

  • В /var/lib/wsks-<версия>_443/wsks_54432/UPLOADS размещались первичные документы (Сервис ОД и ЭП).

    Перенесите их на новый сервер в /var/lib/wsks-<версия>_443/wsks_54431.

  • В /var/lib/wsks-<версия>_443/wsks_54430/UPDATES размещались архивы сервиса обновлений.

    Перенесите их на новый сервер в /var/lib/wsks-<версия>_443/wsks_54433.

11.2. На новом сервере установите владельца и права доступа

bash
chown -R ks-www-data:ks-www-data /var/lib/wsks-6.0.9_443
chmod -R 755 /var/lib/wsks-6.0.9_443
bash
chown -R ks-www-data:ks-www-data /var/lib/wsks-8.0_443
chmod -R 755 /var/lib/wsks-8.0_443

© 2003—2025 ООО «Кейсистемс». Все права защищены.