Это старая версия документа!
Копирование сертификатов с NPM на сервер (VM)
Скрипт копирует сертификаты с NPM на промежуточную машину с OMV7 (Openmediavaut) по NFS.
На OMV в секции Services → NFS → Shares → Extra optinons необходимо добавить rw,subtree_check,secure,no_root_squash, иначе доступа на запись не будет.
Предварительно на всех VM установлен и настроен NFS client, на OMV7 NFS Server.
Создать каталог в домашней директории пользователя root
mkdir ~/scripts
Содать файл в каталоге scripts
touch ~/script/cert_from_npm.sh
Скопировать и вставить
- cert_from_npm.sh
#!/bin/bash # Server details REMOTE_DIR="/srv/appdata/npm/letsencrypt/archive" mount -t nfs4 172.26.1.252:/cert /mnt/nfs/cert for varname in 2 4 13 17 18 19 20 21 23 27 do if [$varname -eq 0] then break fi mkdir /mnt/nfs/cert/npm-$varname cat "$(ls -rt $REMOTE_DIR/npm-$varname/fullchain* | tail -n1)" | tee /mnt/nfs/c cat "$(ls -rt $REMOTE_DIR/npm-$varname/privkey* | tail -n1)" | tee /mnt/nfs/cert done umount -t nfs4 172.26.1.252:/cert /mnt/nfs/cert history -c reset
где
for varname in 1 2 3 4 5 6 7 8 9 10 - цифра соответствует номеру папки с сертификатами типа npm-X;
IP_OMV ip адрес OMV7.
Cделать исполняемый скрипт для владельца файла
mcedit ~/scripts/cert_from_npm.sh
Cделать исполняемый скрипт для владельца файла
chmod u+x ~/scripts/cert_from_npm.sh
В cron заносим его выполнение по необходимому вам расписанию.
crontab -e
0 0 28 */2 * /root/scripts/cert_from_npm.sh
#!/bin/bash CRT_DIR="/var/www/r7-office/Data/certs/" mount -t nfs4 IP_OMV:/crt /mnt/crt cp /mnt/crt/npm-8/privkey.pem $CRT_DIR/privkey.pem cp /mnt/crt/npm-8/fullchain.pem $CRT_DIR/fullchain.pem chmod 400 $CRT_DIR/privkey.pem sudo service nginx restart umount -t nfs4 IP_OMV:/crt /mnt/crt