Webmin - лучшая замена XPanel
Зачем вам нужна Webmin
Вот некоторые основные функции и возможности Webmin:
- Управление пользователями и группами: создание, удаление и редактирование пользователей и групп, а также управление правами пользователей.
- Управление службами и демонами: запуск, остановка, перезагрузка и автоматический запуск служб при запуске системы.
- Управление пакетами: установка, обновление и удаление пакетов с помощью различных менеджеров пакетов.
- Управление сетью: конфигурация сетевых интерфейсов, DNS, DHCP, и т.д.
- Управление системой: управление заданиями cron, создание резервных копий конфигураций, просмотр журналов системы и т.д.
- Управление безопасностью: настройка брандмауэра, управление сертификатами SSL, управление доступом к Webmin и т.д.
- Управление серверами: поддержка многих популярных серверов, таких как Apache, Nginx, MySQL, PostgreSQL, BIND и других.
- Модульность: Webmin состоит из модулей, которые можно установить и удалить по мере необходимости.
- Поддержка IPv6: Webmin поддерживает IPv6, однако эта функция может не работать корректно в некоторых условиях.
- Поддержка облачных сервисов: некоторые модули Webmin поддерживают облачные сервисы, такие как Amazon S3, но эта функция может быть ограничена или недоступна в некоторых версиях Webmin.
Информация
Пожалуйста, обратите внимание, что некоторые из этих функций могут требовать дополнительных модулей или настроек и могут не быть доступны в базовой установке Webmin.
Подготовка сервера
Для этого нам потребуется купить необходимый сервер в желаемой локации.
В нашем случае это будет базовый тариф SWEs-1 в Швеции:
Выбираем операционную систему Ubuntu последней версии - 22.04.
Ставим желаемый срок аренды по часам или месяцам и жмём кнопку оплатить:
Отлично. Теперь ваш сервер готов к установке Webmin.
Установка Webmin
Заходим на наш сервер и начинаем вписывать команды.
Обновите систему:
Откройте терминал и введите следующую команду, чтобы обновить список пакетов:
sudo apt-get update
Установите зависимости:
Webmin требует пакета Perl, который можно установить следующей командой:
sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python3 apt-transport-https
Скачайте последнюю версию Webmin:
Посетите официальный сайт Webmin и найдите ссылку на последний .deb-файл. Затем используйте команду wget для скачивания файла.
Например, если последняя версия — это 1.973:
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.973_all.deb
1. Установите Webmin:
Используйте следующую команду для установки .deb файла:
sudo dpkg -i webmin_1.973_all.deb
2. Если при установке возникли ошибки из-за неудовлетворенных зависимостей, можно исправить их, выполнив команду:
sudo apt-get install -f
3. Далее вы должны увидеть данное сообщение в командной строке:
Информация
Webmin install complete. You can now login to https://nameserver:10000/
as root with your root password, or as any user who can use sudo
to run commands as root.
После данного сообщения вы должны зайти в ваш браузер и ввести данную строчку:
IP вашего сервера:10000
4. После того как вы зашли на сайт по ссылке в 6 пункте, то у вас появляется ввод данных это - username и password:
Информация
Username по стандарту будет - rootPassword это ваш пароль, который вы сможете найти в настройках вашей услуги на нашем сайте
Внимание
В случае, если по ссылке IP:10000 вы не можете попасть на сайт, то введите команду: sudo /etc/init.d/webmin start
После чего попробуйте вновь войти по ссылке!
После ввода данных вы попадаете в главное меню Webmin:
Поздравляю вас! 🎉
SSL сертификат на Webmin
Для настройки Webmin для работы с SSL сертификатом, сначала вам нужно будет получить SSL сертификат. Вы можете сгенерировать самоподписанный сертификат или получить его от удостоверяющего центра (CA), такого как Let's Encrypt.
Вот общие шаги для настройки SSL на Webmin:
1. Получение SSL сертификата:
Сначала вам нужно будет получить SSL сертификат. Если вы хотите использовать Let's Encrypt, вы можете использовать инструмент, такой как Certbot или acme.sh, для автоматического получения и обновления сертификатов.
Вот пример того, как вы можете использовать acme.sh для получения сертификата для вашего домена:
acme.sh --issue --standalone -d example.com --httpport 80
2. Конфигурация Webmin для использования SSL сертификата:
После того, как у вас есть SSL сертификат, вы можете сконфигурировать Webmin для его использования. Вот общие шаги:
- Войдите в свой интерфейс Webmin.
- Перейдите в раздел "Webmin Configuration".
- Выберите "SSL Encryption".
- Нажмите на кнопку "SSL Settings".
- Выберите "SSL Encryption".
- Нажмите на кнопку "SSL Settings".
Заполните поля "Private key file" и "Certificate file" соответствующими путями до ваших файлов сертификата и приватного ключа. Если вы использовали acme.sh, они будут находиться в папке ~/.acme.sh/example.com/.
Нажмите "Save" для сохранения изменений.
Наконец, перезапустите Webmin для применения новых настроек:
/etc/init.d/webmin restart
Создание VPN
Для начала установим необходимые пакеты OpenVPN сервера.
Для этого выполним команду в терминале.
sudo apt install openvpn easy-rsa
Оба пакета нужны как на сервере, так и на клиенте, если Вы будете подключать Ubuntu к OpenVPN серверу.
Всё, больше ничего делать не требуется. ****
Всё остальное будет сделано за нас в веб-интерфейсе.
Установка пакета управления OpenVPN на Ubuntu 22.04
Теперь нам предстоит самое интересное. Сайт данного модуля уже давно недоступен и разработчик выложил последнюю версию на GitHub. Во всех статьях и на файлообменниках лежит старая версия «OpenVPN + CA», которая не работает с Ubuntu 22.04, но мы нашли рабочий модуль. Устанавливаем модуль Webmin OpenVPN + CA.
Для этого заходим в WebMin через веб интерфейс и переходим в Настройки WebMin, выбираем «Модули WebMin»:
Скачиваем модуль по данной ссылке:
https://it-grafoman.ru/wp-content/uploads/2022/07/openvpn.wbm_.gz
Устанавливаем скачанный модуль, выбрав его на компьютере:
Далее необходимо настроить центр сертификации, но прежде мы исправим главную проблему данной установки. Если мы оставим всё как есть и перейдем сразу к настройке, то стандартный клиент OpenVPN, скачанный с официального сайта, будет ругаться на то, что hash алгоритм слишком слабый ("You are using insecure hash algorithm in CA signature. Please regenerate CA with other hash algorithm.") и вы не сможете подключиться.
Стандартный hash алгоритм модуля WebMin ставится md5, а его нужно поменять на sha256. Для этого переходим в файл конфига ssl.
sudo nano /etc/openvpn/openvpn-ssl.cnf
Находим строчку default_md = md5 и меняем md5 на sha256
default_md = sha256
Теперь официальный клиент OpenVPN не будет ругаться на слабый hash алгоритм.
Настраиваем центр сертификации OpenVPN
Переходим в «Службы», выбираем «OpenVPN + CA» и кликаем на «Certification Authority List»:
Ничего сложного вводить не нужно, можно ввести данные организации или оставить как есть. Главное ввести название центра сертификации изменив текст «changeme».
Сохраняем и переходим к добавлению ключа сервера и ключей клиентов сервера OpenVPN.
Добавление ключа сервера и ключа клиента в Webmin
Переходим в «Key List» нашего нового центра сертификации как на скриншоте:
Для сервера достаточно одного ключа, но его нужно обязательно создать. Называем его как угодно, для удобства лучше назвать «server», никаких паролей для него не создаём. Главное выбрать «Server» в «Key Server»:
Теперь переходим к созданию ключа для клиента. Для этого так же переходим в «Key List» как выше, но теперь в «Key Server» выбираем «Client» и задаем пароль для клиента. Назовите сертификат как Вам будет удобно, его понадобится выбрать позже.
Настраиваем OpenVPN Server в WebMin на Ubuntu 22.04
Теперь нам необходимо создать сам сервер OpenVPN, точнее его конфигурацию. Переходим в «VPN List» для добавления конфига сервера OpenVPN:
Выбираем наш центр сертификации и нажимаем «New VPN Server»:
Настроек здесь очень много и если вы уже ранее имели опыт с OpenVPN, то вы уже знаете что и куда ввести, поэтому я покажу только основные настройки.
Нам нужно дать название нашему серверу, выбрать порт, который по умолчанию 1194, выбрать наш сертификат сервера, задать пул IP адресов, которые будут выдаваться клиентам сервера и выбрать шифрование. Так же рекомендую включить management, чтобы видеть подключенных клиентов. Порт можно ввести любой, например, 7505.
Сохраняемся и переходим к шагу добавления клиентов.
Информация
Клиентов можно добавить только после добавления сертификатов клиентов!
Переходим обратно в VPN List, и уже видим наш OpenVPN Server. Нажимаем на Client List.
Нажимаем на кнопку «New VPN Client» и **** добавляем клиента. Здесь обязательно нужно выбрать сертификат клиента и вписать внешний IP адрес сервера для подключения.
Сервер готов к запуску. Теперь просто переходим к VPN List и выбираем справа Start в столбце Action нашего OpenVPN Сервера.
Скачиваем готовый конфиг в WebMin OpenVPN Server
Теперь переходим обратно в Client List и скачиваем полный .ovpn файл нашего сервера для вашего клиента.
Данный файл можно просто импортировать в официальный клиент OpenVPN и подключиться, ввести пароль клиента, который мы задавали при создании сертификата.