Заметки обо всем

Установка webmin на vps с веб-сервером nginx

При очередной настройке vps решил установить webmin наконец-то как положено и из этого получился двухдневный квест, который просто необходимо записать для истории.

Подготовка:
Предварительно должен быть установлен nginx, certbot и создан поддомен с адресом vps.

Шаг 1: Устанавливаем webmin.

Добавляем репозиторий webmin. Для этого открываем в редакторе файл /etc/apt/sources.list

sudo vim /etc/apt/sources.list

И в самый низ добавляем строчку вида:

deb http://download.webmin.com/download/repository sarge contrib

Далее выполняем в терминале следуюущие команды:

wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
sudo apt update
sudo apt install webmin

webmin установлен и мы можем зайти на него по адресу https://your-server-ip:10000, предварительно разрешив порт 10000 в ufw, но не будем этого делать, так как мы будем организовывать доступ к webmin через поддомен.

Шаг 2: Добавляем конфиг nginx.

sudo vim /etc/nginx/sites-available/nginx

Добавляем следующий конфиг:

И активируем конфиг:

sudo ln -s /etc/nginx/sites-available/nginx /etc/nginx/sites-enabled/nginx

Шаг 3: Правим конфиги webmin.

sudo vim /etc/webmin/miniserv.conf

Находим ssl=1 и исправляем на ssl=0

sudo vim /etc/webmin/config

Добавляем строку:

referers=your-domain.name

Перезагружаем nginx и webmin

sudo service webmin restart
sudo service nginx restart

Теперь, если мы попробуем зайти по адресу http://your-domain.name/ мы должны увидеть окошко авторизации webmin.

Внимание! Не следует пробовать авторизоваться на этом шаге, так как в этом случае учетные данные будут отправлены небезопасно

Шаг 4: Получение ssl-сертификата при помощи certbot.

Самый простой шаг:

sudo certbot --nginx -d your-domain.name

Если сервер за NAT, не забываем, что нужно пробросить порт 443, а то были тут случаи)