Существует много web панелей управления сервером, как специализированных для хостинга, так и общего назначения. Сегодня я займусь установкой одной из таких панелей - Webmin на сервер CentOS 7. На мой взгляд это одно из самых популярных средств удаленного управления сервером через браузер.
Что такое Webmin
Webmin это web панель для администрирования unix сервера. Она кроссплатформенная, ставится на различные unix дистрибутивы. Одно из ее применений я когда-то давно описывал в статье про управление openvpn через браузер на freebsd. С помощью webmin можно выполнять практически все популярные административные действия на сервере, такие как:
- Настраивать сетевые подключения
- Добавлять пользователей
- Монтировать разделы
- Настраивать фаерволл
- Выключать или перезагружать сервер
- Обновлять пакеты
и многое другое. Существуют модули для различного софта, которым можно управлять через webmin. Например самбой, или веб сервером, mysql сервером и множеством других пакетов. Список модулей обширный, можно посмотреть на официальном сайте список сторонних пользовательских модулей, или в самой панели после установки список официальных модулей. Через webmin можно получить доступ к консоли сервера, загрузить или скачать файлы с сервера. Иногда это бывает удобно.
Сам я практически никогда не пользуюсь этой панелью, нет необходимости, привык все в консоли настраивать. Но я знаю людей, которые активно админили серверы с помощью webmin. Это были не очень продвинутые в линуксе админы, но тем не менее эта панелька позволяла им нормально управлять сервером без должных знаний и навыков.
Я почти всегда использую webmin на почтовых серверах. Мне удобно анализировать и что-то искать в огромных почтовых логах с помощью модуля просмотра логов. Чего-то более простого и удобного мне не попадалось. К примеру, у вас есть лог за день на 100-300 мегабайт, в нем каждую секунду фиксируются десятки событий. У вас есть id письма. Можно ввести в строку поиска id письма и увидеть все строки лога, в которых оно фигурирует. Это очень удобно. Обычным поиском в такой ситуации не обойтись. Можно, конечно, грепать вывод cat, либо что-то еще придумывать, но это менее удобно. Особенно, если надо сопоставить значения из разных лог-файлов. Просто открываешь в двух окнах браузера разные логи и анализируешь.
Приступим к установке webmin. Статья подразумевает, что у вас уже установлена и настроена операционная система. Если это не так, то читайте про установку и настройку CentOS 7.
Установка Webmin на CentOS 7
Приступим к установке Webmin на сервер под упралвением СentOS 7. Процесс описан на официальном сайте в соответствущем разделе. Ничего сложного нет. Нужно добавить репозиторй webmin, а потом произвести установку самого пакета и зависимостей.
Добавляем репозиторий:
# mcedit /etc/yum.repos.d/webmin.repo
[Webmin] name=Webmin Distribution Neutral #baseurl=http://download.webmin.com/download/yum mirrorlist=http://download.webmin.com/download/yum/mirrorlist enabled=1
Импортируем GPG ключ:
# rpm --import http://www.webmin.com/jcameron-key.asc
Устанавливаем Webmin:
# yum install -y webmin
После установки он автоматически запустится. Нам остается только добавить его в автозагрузку:
# chkconfig webmin on
Настройка Webmin
Заходим в web интерфейс webmin по ссылке https://192.168.56.10:10000, где 192.168.56.10 ip адрес сервера. Обязательно указывайте протокол https, без этого не зайти. Вводите логин и пароль root. Открывается главная страница webmin:
Описывать все возможности я не буду, можете сами полазить по меню слева и посмотреть, что можно настроить через webmin. Обращаю внимание на несколько важных моментов. Бытует мнение, что webmin не безопасен и через него могут взломать сервер. Я не знаю, насколько эти опасения оправданы, но на всякий случай доступ к серверу лучше ограничить.
Если он будет в открытом доступе, то рекомендую хотя бы сменить стандартный порт на какой-то более высокий и непопулярный. Делается это в разделе Webmin -> Webmin configuration -> Ports and Addresses
Если будете заходить со статических адресов, то ограничьте доступ только этим адресам. Делается тут же, в соседней настройке IP Access Control. Рекомендую именно эту настройку. Открывать в мир webmin лично я бы не стал без особой надобности.
Если хотитите видеть панель с русским языком, то нет никакой проблемы. Его можно выбрать в разеделе Language. Переведено в целом нормально, все понятно. Но лучше, конечно, привыкать к английскому, без него в системном администрировании никуда. Но если не разбираетесь, можно и русский использовать. В конце концов webmin больше всего полезен именно тем, кто не разбирается в серверах, но нужно что-то админить. После смены языка нужно принудительно обновить страницу бразера, чтобы весь интерфейс стал русским.
На этом все, с остальными возможностями и настройками можно самостоятельно разобраться, в вебмине ничего сложного нет.
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Проверьте себя на вступительном тесте и смотрите подробнее программу по ссылке.
Добрый день! Подскажите пожалуйста, последнее время Webmin перестал обновляться, выдает ошибку "Не удалось обновить с http://www.webmin.com : HTTP/1.1 403 Forbidden". Остальные пакеты CentOS обновляются без проблем.
Может из-за блокировок каких-нибудь для ip адресов РФ? Есть много пакетов, которые перестали обновляться. У меня нет webmin, так что сам не сталкивался.
Webmin рулит только тем сервером на котором установлен?
По идее, да. Я всегда именно так его использовал.
Наверное, а я размечтался что вебмин один и для всех серверов.
Подскажите, вебмин можно поставить на рабочий настроенный сервер?
Да, можно. Он сам ничего не меняет и не настраивает в системе в момент установки.
У меня ISPManager Lite, к концу года буду от него отказываться, если я сейчас поставлю webmin в пару для привыкания и не буду пользоваться ISP , нормально все будет?
Webmin не заменит ISPManager Lite. Насчет все ли нормально будет, не знаю. Это всё тестировать сначала надо. Могут и помешать друг другу.
Доброго времени суток, очень ценю вашу работу и ваши статьи они очень полезны!!!
Есть вопрос, позволяет ли webmin просматривать логи и их анализировать?
Да, чаще всего для просмотра логов я и устанавливаю webmin. Там неплохой модуль для этого.
спасибо , полезно и просто
p.s. исправьте опечатку: Импоритуем GPG ключ:
Спасибо, исправил.
Хорошая статья, автору спасибо!
Webmin ставился на Centos7. Вылезла проблема на дашборде: No Perl MD5 hashing module found! Решилась командой yum install perl-Digest-MD5
Вот, что выдаёт...
[root@host ~]$ rpm --import http://www.webmin.com/jcameron-key.asc
error: http://www.webmin.com/jcameron-key.asc: key 1 not an armored public key.
Только что проверил на сервере. У меня подобной ошибки не возникло. Возможно, у вас время неправильно настроено. Из-за этого часто бывают проблемы с сертификатами.
добавьте iptables -I INPUT -p tcp --dport 10000 -m state --state NEW -j ACCEPT
А как с просмотром и анализом логов здесь, просто ссылка сюда с теми про почтовик есть, а там написано "Просмотр и анализ логов с помощью webmin."
Там есть раздел System - System logs. В нм удобный веб интерфейс для просмотра логов и поиска в них строк с заданными фразами.
Добрый день!
после команды
rpm --import http://www.webmin.com/jcameron-key.asc
появляется ошибка
curl: (6) Could not resolve host: http://www.webmin.com; Name or service not known
error: http://www.webmin.com/jcameron-key.asc: import read failed(2).
В чем может быть проблема. Не может разрешить имя? Проверил файл /etc/resolv.conf
dns-сервера прописаны.
Не понятно.
Во общем пришлось колхозить)
Скачал через win-хост файлик http://www.webmin.com/jcameron-key.asc,
затем через winscp перекинул на centos, а там уже rpm --import .
Заработало, но пришлось добавить правило в iptables на открытие 10000 порта.
На сервере какая-то проблема с интернетом, либо с днс.
Добрый день! Webmin установил, по Вашей статье все заработало, правило в фаерволе прописал, чтобы достучаться. Потом изменил настройку на странице Адреса и порты. Теперь не получается попасть ниоткуда на Webmin. Подскажите какой конфиг-файл поправить, чтобы вернуть настройки Webmin по умолчанию?
If this is instruction how to set up Cento/Webmin then please, make this as complete tutorial. Add lines about Firewall (iptables) rules. There is noob users who found this tutorial in google and follows it. But in result - nothing works for them just because of Your lazyness. Do your great job complete.
Привет.
Я столкнулся с тем что Webadmin не открывался.
Пришлось настраивать FireWall.
Для законченности статьи:
iptables -I INPUT -p tcp --dport 10000 -j ACCEPT
service iptables save
Спасибо за статью.
Про фаервол забывать не надо, это актуально для настройки любого сервиса.
Привет, спасибо огромное за материал.
Добавь пожалуйста статью о ускорении сервера на Centos
это наверно оптимизация называется... Page Speed
спасибо
Это не имеет прямого отношения к centos. Это оптимизация и ускорение работы веб сервера и сайта. Комплексная работа. На эту тему много материала в сети. Я сам по ним свой блог ускорял.