Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
sysadmin:scripts:bash:npm_copy_crt [29:09:2025 10:26] School Sysadminsysadmin:scripts:bash:npm_copy_crt [30:09:2025 23:51] (текущий) School Sysadmin
Строка 1: Строка 1:
 ====== Копирование сертификатов с NPM на сервер (VM) ====== ====== Копирование сертификатов с NPM на сервер (VM) ======
  
-Скрипт копирует сертификаты с NPM на промежуточную машину с OMV7 (Openmediavaut) по NFS.\\+Скрипт копирует сертификаты с NPM Nginx Proxy Manager) на промежуточную машину с OMV7 (Openmediavaut) по NFS.\\
 На OMV в секции **Services -> NFS -> Shares -> Extra optinons** необходимо добавить **rw,subtree_check,secure,no_root_squash**, иначе доступа на запись не будет.\\ На OMV в секции **Services -> NFS -> Shares -> Extra optinons** необходимо добавить **rw,subtree_check,secure,no_root_squash**, иначе доступа на запись не будет.\\
 Предварительно на всех VM установлен и настроен **NFS client**, на OMV7 **NFS Server**.\\ Предварительно на всех VM установлен и настроен **NFS client**, на OMV7 **NFS Server**.\\
 +[[https://interface31.ru/tech_it/2023/07/nastraivaem-setevuyu-faylovuyu-sistemu-nfs-v-debian-i-ubuntu.html|Источник]]
 +===== NPM =====
 Создать каталог в домашней директории пользователя **root**\\ Создать каталог в домашней директории пользователя **root**\\
 <code bash> <code bash>
Строка 10: Строка 12:
 Содать файл в каталоге **scripts** Содать файл в каталоге **scripts**
 <code> <code>
-touch ~/script/cert_from_npm.sh+touch ~/script/copy_certs.sh
 </code> </code>
 Скопировать и вставить Скопировать и вставить
-<file bash cert_from_npm.sh>+<file bash copy_certs.sh>
 #!/bin/bash #!/bin/bash
  
Строка 34: Строка 36:
 done done
  
-umount -t nfs4 IP_OMV:/crt /mnt/nfs/certs+umount -t nfs4 IP_OMV:/certs /mnt/nfs/certs
 history -c history -c
 reset reset
Строка 43: Строка 45:
 Cделать исполняемый скрипт для владельца файла Cделать исполняемый скрипт для владельца файла
 <code> <code>
-mcedit ~/scripts/cert_from_npm.sh+mcedit ~/scripts/copy_certs.sh
 </code> </code>
 Cделать исполняемый скрипт для владельца файла Cделать исполняемый скрипт для владельца файла
 <code> <code>
-chmod u+x ~/scripts/cert_from_npm.sh+chmod u+x ~/scripts/copy_certs.sh
 </code> </code>
  
-В cron заносим его выполнение по необходимому вам расписанию.+В cron задаем его выполнение по расписанию.
  
 <code>crontab -e</code> <code>crontab -e</code>
 +<code>0 0 25 */2 * /root/scripts/copy_certs.sh</code>
 +Если, что то не работает смотрим log
 +<code>sudo grep 'CRON' /var/log/syslog/</code>
 +===== На сервере (VM) =====
 +Создать каталог\\
 +<code bash>mkdir ~/scripts</code>
 +Содать файл\\
 +<code>touch ~/script/copy_cert.sh</code>
 +Скопировать и вставить
 +<file bash copy_cert.sh>
 +#!/bin/bash
  
-<code bash>+# Certificate directory on the server 
 +CERT_DIR="/etc/apache2/certs/WEB_SITE"
  
-0 0 28 */2 * /root/scripts/cert_from_npm.sh +# NPM certificate directory 
-</code>+CERT_DIR_NPM="npm-1"
  
-<code bash> +Mounting the certificate directory 
-#!/bin/bash+mount -t nfs4 IP_OMV:/certs/$CERT_DIR_NPM /mnt/nfs/cert
  
-CRT_DIR="/var/www/r7-office/Data/certs/"+# 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
  
-mount -t nfs4 IP_OMV:/crt /mnt/crt+# Changing certificate permissions 
 +chmod 400 $CERT_DIR/privkey.pem
  
-cp /mnt/crt/npm-8/privkey.pem $CRT_DIR/privkey.pem +# Restart Apache2 
-cp /mnt/crt/npm-8/fullchain.pem $CRT_DIR/fullchain.pem+systemctl restart apache2
  
-chmod 400 $CRT_DIR/privkey.pem+# or Restart NGINX 
 +#service nginx restart
  
-sudo service nginx restart+# Unmounting the certificate directory 
 +umount -t nfs4 IP_OMV:/certs/$CERT_DIR_NPM /mnt/nfs/cert
  
-umount -t nfs4 IP_OMV:/crt /mnt/crt +history -
-</code>+reset 
 +</file> 
 + 
 +Cделать исполняемый скрипт для владельца файла 
 +<code>mcedit ~/scripts/copy_cert.sh</code> 
 +Cделать исполняемый скрипт для владельца файла 
 +<code>chmod u+x ~/scripts/copy_cert.sh</code> 
 + 
 +В cron задаем его выполнение по расписанию. 
 + 
 +<code>crontab -e</code> 
 +<code>3 0 25 */2 * /root/scripts/copy_cert.sh</code>
  • Последнее изменение: 29:09:2025 10:26