IT
March 3, 2021

Proxmox 4x и 5х приводим к лучшему виду

Статья перенесена из старого блога.

Не буду рассказывать, что это за продукт и как его устанавливать. Таких статей в интернете полно.

Лучше поговорим о том, как сделать для веб-панели валидный ssl сертификат бесплатно. И как убрать всплывающее окно "No valid subscription".

И так начнем.

Создаем валидный сертификат с помощью Let's Encrypt. Для этого, должен быть обязательно привязан домен к вашей системе.

В удобной для вас папке выполняем:

wget 'https://github.com/Neilpang/acme.sh/archive/master.zip'unzip master.zip

Далее установка:

mkdir /etc/pve/.lecd /root/acme.sh-master./acme.sh --install --accountconf /etc/pve/.le/account.conf --accountkey /etc/pve/.le/account.key --accountemail "Ваш_имэйл"

Проверяем конфиг /etc/pve/.le/account.conf

  • ACCOUNT_EMAIL должен содержать вашу рабочую почту.
  • ACCOUNT_KEY_PATH должен быть путь "/etc/pve/.le/account.key"

Теперь надо проверить, что 80 порт не закрыт извне. Он нужен, для подтверждения, что домен принадлежит вам.

Выполняем:

./acme.sh --issue --standalone --keypath /etc/pve/local/pveproxy-ssl.key --fullchainpath /etc/pve/local/pveproxy-ssl.pem --reloadcmd "systemctl restart pveproxy" -d ваш_домен

Все, можете проверять.

И что бы каждый раз вам не регистрировать по-новой вручную сертификат. Создадим скрипт.

#!/usr/bin/env shcd /root/acme.sh-master/./acme.sh --issue --standalone --keypath /etc/pve/local/pveproxy-ssl.key --fullchainpath /etc/pve/local/pveproxy-ssl.pem --reloadcmd "systemctl restart pveproxy" -d ваш_домен --force

Назовем его update_cert.sh и добавим в крон:

0 0 * * * /root/acme.sh-master/update_cert.sh > /dev/null

Ну а теперь, уберем раздражающее окно о том, что у нас нет подписки. Оно появляется каждый раз, когд мы логинитесь в веб-панель.

Создадим скрипт:

#!/usr/bin/env shsed -i.bak "s/data.status !== 'Active'/xyu == pizdec/g" /usr/share/pve-manager/ext6/pvemanagerlib.js

Извиняюсь, за переменные. Но таких, точно нет в этом продукте, а нам это и нужно ;) Выполняете скрипт и готово.

Но не спешите его удалять, при обновлении proxmox окно может вернуться и вам придеться выполнить скрипт снова.

UPD:

На версии 5 и выше, что бы убрать напоминание о подписке, нужно выполнить:

sed -i "s/getNoSubKeyHtml:/getNoSubHtml_:/" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js