Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| sysadmin:scripts:bash:npm_copy_crt [23:09:2025 23:22] – School Sysadmin | sysadmin: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) |
| На OMV в секции **Services -> NFS -> Shares -> Extra optinons** необходимо добавить **rw, | На OMV в секции **Services -> NFS -> Shares -> Extra optinons** необходимо добавить **rw, | ||
| Предварительно на всех VM установлен и настроен **NFS client**, на OMV7 **NFS Server**.\\ | Предварительно на всех VM установлен и настроен **NFS client**, на OMV7 **NFS Server**.\\ | ||
| + | [[https:// | ||
| + | ===== NPM ===== | ||
| Создать каталог в домашней директории пользователя **root**\\ | Создать каталог в домашней директории пользователя **root**\\ | ||
| <code bash> | <code bash> | ||
| Строка 10: | Строка 12: | ||
| Содать файл в каталоге **scripts** | Содать файл в каталоге **scripts** | ||
| < | < | ||
| - | touch ~/script/cert_from_npm.sh | + | touch ~/script/copy_certs.sh |
| </ | </ | ||
| Скопировать и вставить | Скопировать и вставить | ||
| - | <file bash cert_from_npm.sh> | + | <file bash copy_certs.sh> |
| #!/bin/bash | #!/bin/bash | ||
| - | # Server details | + | # Certificate directory on the server |
| REMOTE_DIR="/ | REMOTE_DIR="/ | ||
| - | mount -t nfs4 172.26.1.252:/cert /mnt/nfs/cert | + | # Mounting the certificate directory |
| + | mount -t nfs4 IP_OMV:/certs /mnt/nfs/certs | ||
| - | for varname in 2 4 13 17 18 19 20 21 23 27 | + | # Number proxy host npm-X |
| + | for varname in 1 2 | ||
| do | do | ||
| if [$varname -eq 0] | if [$varname -eq 0] | ||
| Строка 27: | Строка 31: | ||
| fi | fi | ||
| - | mkdir /mnt/nfs/cert/ | + | mkdir /mnt/nfs/certs/ |
| - | cat "$(ls -rt $REMOTE_DIR/ | + | cat "$(ls -rt $REMOTE_DIR/ |
| - | cat "$(ls -rt $REMOTE_DIR/ | + | cat "$(ls -rt $REMOTE_DIR/ |
| done | done | ||
| - | umount -t nfs4 172.26.1.252:/cert /mnt/nfs/cert | + | umount -t nfs4 IP_OMV:/certs /mnt/nfs/certs |
| history -c | history -c | ||
| reset | reset | ||
| </ | </ | ||
| где | где | ||
| - | for varname in **1 2 3 4 5 6 7 8 9 10** - цифра соответствует номеру папки с сертификатами типа **npm-X**; | + | **for varname in 1 2 3 4 5 6 7 8 9 10** - цифра соответствует номеру папки с сертификатами типа **npm-X**; |
| **IP_OMV** ip адрес OMV7. | **IP_OMV** ip адрес OMV7. | ||
| Cделать исполняемый скрипт для владельца файла | Cделать исполняемый скрипт для владельца файла | ||
| < | < | ||
| - | mcedit ~/scripts/cert_from_npm.sh | + | mcedit ~/scripts/copy_certs.sh |
| </ | </ | ||
| Cделать исполняемый скрипт для владельца файла | Cделать исполняемый скрипт для владельца файла | ||
| < | < | ||
| - | chmod u+x ~/scripts/cert_from_npm.sh | + | chmod u+x ~/scripts/copy_certs.sh |
| </ | </ | ||
| - | В cron заносим его выполнение по необходимому вам | + | В cron задаем его выполнение по расписанию. |
| < | < | ||
| + | < | ||
| + | Если, что то не работает смотрим log | ||
| + | < | ||
| + | ===== На сервере (VM) ===== | ||
| + | Создать каталог\\ | ||
| + | <code bash> | ||
| + | Содать файл\\ | ||
| + | < | ||
| + | Скопировать и вставить | ||
| + | <file bash copy_cert.sh> | ||
| + | #!/bin/bash | ||
| - | <code bash> | + | # Certificate directory on the server |
| + | CERT_DIR="/ | ||
| - | 0 0 28 */2 * / | + | # NPM certificate directory |
| - | </ | + | CERT_DIR_NPM=" |
| - | <code bash> | + | # Mounting the certificate directory |
| - | #!/bin/bash | + | mount -t nfs4 IP_OMV:/ |
| - | CRT_DIR=" | + | # Copying certificates to the server |
| + | cp /mnt/nfs/cert/privkey.pem $CERT_DIR/privkey.pem | ||
| + | cp /mnt/ | ||
| - | mount -t nfs4 IP_OMV:/crt /mnt/crt | + | # Changing certificate permissions |
| + | chmod 400 $CERT_DIR/privkey.pem | ||
| - | cp / | + | # Restart Apache2 |
| - | cp / | + | systemctl restart apache2 |
| - | chmod 400 $CRT_DIR/ | + | # or Restart NGINX |
| + | #service nginx restart | ||
| - | sudo service nginx restart | + | # Unmounting the certificate directory |
| + | umount -t nfs4 IP_OMV:/ | ||
| - | umount | + | history |
| - | </ | + | reset |
| + | </file> | ||
| + | |||
| + | Cделать исполняемый скрипт для владельца файла | ||
| + | < | ||
| + | Cделать исполняемый скрипт для владельца файла | ||
| + | < | ||
| + | |||
| + | В cron задаем его выполнение по расписанию. | ||
| + | |||
| + | < | ||
| + | < | ||