Это старая версия документа!


Копирование сертификатов с 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/copy_certs.sh

Скопировать и вставить

copy_certs.sh
#!/bin/bash
 
# Certificate directory on the server
REMOTE_DIR="/srv/appdata/npm/letsencrypt/archive"
# Mounting the certificate directory
mount -t nfs4 IP_OMV:/certs /mnt/nfs/certs
 
# Number proxy host npm-X
for varname in 1 2
do
if [$varname -eq 0]
then
break
 
fi
mkdir /mnt/nfs/certs/npm-$varname
cat "$(ls -rt $REMOTE_DIR/npm-$varname/fullchain* | tail -n1)" |  tee /mnt/nfs/certs/npm-$varname/fullchain.pem
cat "$(ls -rt $REMOTE_DIR/npm-$varname/privkey* | tail -n1)" | tee /mnt/nfs/certs/npm-$varname/privkey.pem
done
 
umount -t nfs4 IP_OMV:/crt /mnt/nfs/certs
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/copy_certs.sh

Cделать исполняемый скрипт для владельца файла

chmod u+x ~/scripts/copy_certs.sh

В cron заносим его выполнение по необходимому вам расписанию.

crontab -e
copy_cert.sh
0 0 28 */2 * /root/scripts/copy_cert.sh
</code>
 
<code bash>
#!/bin/bash
 
# Certificate directory on the server
CERT_DIR="/etc/apache2/certs/sdo.l200.su"
 
# NPM certificate directory
CERT_DIR_NPM="npm-1"
 
# Mounting the certificate directory
mount -t nfs4 IP_OMV:/certs/$CERT_DIR_NPM /mnt/nfs/cert
 
# Copying certificates to the server
cp /mnt/nfs/cert/privkey.pem $CERT_DIR/privkey.pem
cp /mnt/nfs/cert/fullchain.pem $CERT_DIR/fullchain.pem
 
# Changing certificate permissions
chmod 400 /etc/apache2/certs/sdo.l200.su/privkey.pem
 
# Restart Apache2
systemctl restart apache2
 
# or Restart NGINX
#service nginx restart
 
# Unmounting the certificate directory
umount -t nfs4 IP_OMV:/certs/$CERT_DIR_NPM /mnt/nfs/cert
 
history -cert
reset
  • Последнее изменение: 29:09:2025 10:32