# Webmin. Веб-интерфейс для управления сервером на Ubuntu
Стандартные средства управления сервером — ssh-подключение и работа через консоль — очень эффективны и позволяют получить доступ к любым функциям и возможностям сервера. Основной минус работы с консолью — порог вхождения. Чтобы изучить и освоить все команды управления, нужно потратить довольно много времени.
Ещё одним минусом работы в консоли можно считать ограниченные возможности визуализации.
Для решения этих проблем существует очень удобный и функциональный веб-интерфейс для полноценного управления сервером — Webmin.
В этой инструкции мы установим Webmin на наш сервер под управлением Ubuntu и познакомимся с основными возможностями его работы.
Для начала работы нам понадобится подготовленный к работе сервер, предустановленный веб-сервер Apache, домен, с которым будет работать наш сервер, и виртуальный хост для него.
# Установка Webmin
Устанавливать Webmin будем из официального репозитория разработчика. Чтобы добавить его в список поддерживаемых apt репозиториев, пропишем его напрямую:
sudo vim /etc/apt/source.list
В открывшийся список репозиториев добавим следующую строку:
deb http://download.webmin.com/download/repository sarge contrib
Теперь добавим PGP-ключ, чтобы система доверяла новому репозиторию:
wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add
После этого останется только обновить список доступных пакетов, и можно будет переходить непосредственно к установке:
sudo apt update
sudo apt install webmin
В конце установки на экран будет выведено сообщение:
# Output
…
Webmin install complete. You can now login to
https://your_server_ip:10000 as root with your
root password, or as any user who can use sudo.
Webmin установился, запустился и предлагает совершить первый вход от имени root-пользователя или от имени любого другого пользователя, добавленного в группу sudo
.
По умолчанию Webmin работает на порту 10000. Не забудьте добавить его в список исключений фаервола, если он у вас запущен:
sudo ufw allow 10000
# Настройка подключения
После установки Webmin настроен на использование защищённого подключения. Если у вас ещё нет SSL-сертификата, подключите его к домену либо настройте Webmin на подключение без SSL-шифрования.
Подключить SSL-сертификат к своему домену можно будет через Webmin, поэтому сейчас настроим его для входа без шифрования.
Откроем для этого конфигурационный файл Webmin:
sudo vim /etc/webmin/miniserv.conf
В открывшемся файле найдём строку ssl=1
и укажем в значении параметра 0.
После этого перезапустим Webmin:
sudo systemctl restart webmin
Теперь можно заходить в панель управления вашим сервером через браузер по адресу yor_server_ip:10000
.
# Начало работы
Webmin позволяет полноценно администрировать сервер и включает в себя все возможные сервисы, инструменты и функции. Рассмотрим несколько базовых возможностей Webmin.
# SSL-сертификат
Сначала подключим безопасное соединение.
В разделе Webmin — Webmin configuration выберите пункт «SSL Encryption»:
В открывшемся окне есть несколько вариантов защиты SSL-соединения: от указания данных об уже имеющемся SSL-сертификате или получения бесплатного сертификата от Let’s Encrypt до создания самоподписного сертификата. Выберите тот пункт, который вас устраивает, и настройте шифрование.
# Создание нового пользователя
Новые пользователи и группы пользователей создаются в разделе System — Users and Groups. На вкладке «Local users» представлены все пользователи, имеющие доступ к серверу, указаны их ID, группы, к которым они принадлежат, их домашние директории и права на SSH-подключение.
Создать нового пользователя можно кнопкой
:Открывшееся окно предоставляет полный набор характеристик создаваемого пользователя — от выбора ID до указания публичного ключа для SSH-подключения с аутентификацией.
На соседней вкладке «Local groups» представлена такая же информация о группах пользователей на сервере. В окне создания новой группы также представлены все необходимые операции по созданию новой группы пользователей, вплоть до возможности сразу же добавить в группу нужных пользователей:
# Обновление пакетов
Webmin позволяет в оперативном порядке отслеживать приложения, для которых доступна более поздняя версия. Список доступных для обновления пакетов представлен на вкладке с общей информацией о сервере «Dashboard»:
В открывшемся окне представлен список пакетов, которые можно обновить, а также возможность управления обновлением (полное, выборочное и т.д.):
# Ротация логов
Ещё одна важная функция Webmin — возможность настраивать ротацию логов. Обычно она настраивается для каждого приложения в отдельности, и период ротации прописывается в конфигурационных файлах приложения. Webmin же позволяет сделать это централизованно.
В разделе System — Log File Rotation представлены все лог-файлы, которые ведёт сервер.
Выбрав любой из них, можно настроить параметры его ротации: период ротации, максимальный размер лог-файла или задать условие по размеру лог-файла — очищать, если больше определённого размера, или не трогать, пока лог не достигнет нужного размера. Также вы можете настроить архивирование старых логов, выбрать директорию для хранения старых логов и настроить отправку логов на почту:
# Мониторинг состояния сервера
С помощью Webmin можно легко и просто следить за нагрузкой на сервер. На вкладке «Dashboard» представлены общие сведения о нагрузке на сервер, используемых ресурсах и т.д.
Более детальные сведения об использовании ресурсов сервера приведены в разделе System. Здесь на вкладке «Running Processes» представлена детальная информация о том, какие процессы запущены, от имени какого пользователя, сколько системных ресурсов они потребляют и прочее:
# Работа с серверами
Помимо стандартных возможностей сервера под управлением Ubuntu, Webmin поддерживает работу и настройку приложений, установленных на сервере. Например, в разделе Servers представлены инструменты для полноценного управления любыми серверами, запущенными на нашей машине.
Это может быть Apache:
А также почтовый сервер на Postfix:
Или встроенный SSH-сервер:
Каждый из них будет полностью функционален.
В Apache можно будет настраивать общую конфигурацию веб-сервера (подключать модули, настраивать сетевые параметры, исправлять конфигурационный файл), создавать новые виртуальные хосты и управлять уже существующими.
Раздел, отвечающий за почтовый сервер, позволит не только настроить все необходимые параметры сервера (от настроек SMTP-сервера до почтовых ящиков пользователей и их алиасов), но и протестировать созданную конфигурацию.
В разделе SSH-сервера будет представлена вся информация из конфигурационного файла в удобном и наглядном виде, с возможностью выбора простых чекбоксов.
# Фаервол
Настройки безопасности и ограничения доступа представлены в разделе Networking:
Здесь представлены сведения о сетевых интерфейсах, правилах iptables и даже фильтрах и jail’ах Fail2ban.
В этом разделе можно посмотреть и исправить или настроить не только фильтры и jail’ы, но и правила iptables, на которые эти фильтры будут ссылаться.
# Командная строка
Те, кому всё же понадобится командная строка для выполнения определённых команд, смогут найти её в разделе Tools — Command Shell:
В большинстве случаев универсальный инструмент Webmin способен служить полноценной заменой классическому управлению сервером через SSH-подключение и работу в командной строке.