Перенос всех приложений wsks на другой сервер
Задача
Перенести все приложения контейнера wsks по порту 443 из одного сервера на другой.
1. Получите root-права
Наберите команду и введите пароль от пользователя root.
sudo su2. Скопируйте весь каталог приложения на новый сервер
Скопируйте весь каталог /opt/wsks-<версия>_443 в каталог /opt на новый сервер с переименованием в wsks-<версия>_5449.
Внимание
Следующие действия выполняются на новом сервере!
1. Получите root-права
Наберите команду и введите пароль от пользователя root.
sudo su2. Проверьте статус «Selinux»
Если он в режиме «enforcing» или «disabled», то переведите его в режим «permissive».
Внимание, команды перезагрузят ОС при выполнении условий!
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-права снова, если предыдущая команда перезагрузила ОС.
sudo su4. Определите имя пакетного менеджера
Имя пакетного менеджера (apt-get, apt или yum) определяется автоматически и записывается в переменную $kstmp.
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 должен быть выполнен.
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. Выполните команду:
sysctl net.ipv4.ip_local_port_range="32768 54429"5.2. Создайте файл /etc/sysctl.d/777-keysystems.conf:
nano /etc/sysctl.d/777-keysystems.confС содержимым:
net.ipv4.ip_local_port_range = 32768 544295.3. Проверьте диапазон TCP портов командой:
sysctl net.ipv4.ip_local_port_range6. Настройте часовой пояс
Если не выполнить данный пункт, в дальнейшем придется выполнить пересоздание контейнера.
6.1. Узнайте текущий часовой пояс
timedatectl status | grep "zone"6.2. Получите список часовых поясов
timedatectl list-timezones6.3. Установите часовой пояс MSK +3 (пример)
timedatectl set-timezone Europe/Moscow6.4. Установите время
timedatectl set-time 'YYYY-MM-DD HH:MM:SS'7. Установите «Podman» или «Docker»
Рекомендуется установка Docker.
7.1. Установите «Docker»
Рекомендуется во всех ОС.
$kstmp install -y docker
$kstmp install -y runc
systemctl start docker
systemctl status docker6.2. Установите «Podman» при наличии в репозиториях
Пункт 4 должен быть выполнен.
$kstmp install -y podman
$kstmp install -y runc
systemctl start podman
systemctl status podman8. Скачайте и распакуйте образ «dks-wsks»
WEB-Сервер-КС v.6.0.9
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.gzwget -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.gzwget -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.gzWEB-Сервер-КС v.8.0
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.gzwget -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.gzwget -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.gz9. Установите контейнер с http-сервером или без http-сервера
Узнайте сначала установленные локали:
locale -a | grep ruПример вывода ru_RU.utf8:
ru_RU
ru_RU.koi8r
ru_RU.utf8
ru_UA
ru_UA.utf89.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
/opt/dks-wsks-6.0.9/install.sh -ws "nginx" -p "443" -cs "docker" -pp "9091" -l ru_RU.utf8/opt/dks-wsks-6.0.9/install.sh -ws "angie" -p "443" -cs "docker" -pp "9093" -l ru_RU.utf8/opt/dks-wsks-6.0.9/install.sh -ws "apache2" -p "443" -cs "docker" -pp "9091" -l ru_RU.utf8- wsks-8.0
/opt/dks-wsks-8.0/install.sh -ws "nginx" -p "443" -cs "docker" -pp "9093" -l ru_RU.utf8/opt/dks-wsks-8.0/install.sh -ws "angie" -p "443" -cs "docker" -pp "9093" -l ru_RU.utf8Podman
- wsks-6.0.9
/opt/dks-wsks-6.0.9/install.sh -ws "nginx" -p "443" -cs "podman" -pp "9093" -l ru_RU.utf8/opt/dks-wsks-6.0.9/install.sh -ws "angie" -p "443" -cs "podman" -pp "9093" -l ru_RU.utf8/opt/dks-wsks-6.0.9/install.sh -ws "apache2" -p "443" -cs "podman" -pp "9093" -l ru_RU.utf8- wsks-8.0
/opt/dks-wsks-8.0/install.sh -ws "nginx" -p "443" -cs "podman" -pp "9093" -l ru_RU.utf8/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.txt10. Скопируйте все приложения
Скопируйте на новом сервере все приложения из каталога wsks-<версия>_5449 в контейнер wsks-<версия>_443 командой:
bash /opt/wsks-6.0.9_443/ctl/ws_copyfrom.sh -s "wsks-6.0.9_5449" -m replacebash /opt/wsks-8.0_443/ctl/ws_copyfrom.sh -s "wsks-8.0_5449" -m replaceПрочитайте информацию о состоянии контейнера на новом сервере:
bash /opt/wsks-6.0.9_443/ctl/ws_info.shbash /opt/wsks-8.0_443/ctl/ws_info.sh11. Скопируйте каталоги «Сервис ОД и ЭП» и «Сервиса обновлений»
Каталоги (по умолчанию /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. На новом сервере установите владельца и права доступа
chown -R ks-www-data:ks-www-data /var/lib/wsks-6.0.9_443
chmod -R 755 /var/lib/wsks-6.0.9_443chown -R ks-www-data:ks-www-data /var/lib/wsks-8.0_443
chmod -R 755 /var/lib/wsks-8.0_443