Управление несколькими linux серверами

Одновременное управление несколькими серверами

Если вы администрируете несколько Linux-серверов, вы неизбежно столкнетесь с тем, что довольно часто приходиться проделывать одни и те же операции над всеми серверами. Например: вносить изменения в конфигурационные файлы (/etc/hosts, скрипты инициализации и т.п.), или производить разовую архивацию на всех серверах. После очередной пресной порции обезьяньей работы мы понимаем, что это не linux-way. Что можно сделать?

Задача # 1

Для примера: нужно поправить /etc/hosts на локальном компьютере и 8 серверах, список которых в файле

Стандартный подход

Обычно для решения этой задачи используем стандартные инструменты: любимый редактор (vim или nano) и scp (http://ru.wikipedia.org/wiki/SCP), который входит в состав пакета openssh и включен во все современные дистрибутивы.

1. Вносим необходимые правки в /etc/hosts.
2. Копируем на каждый из серверов:

3. Вводим пароль.
4. Опять выполняем команду копирования:

5. И снова вводим пароль.
.
17. И последний раз вводим пароль.
То есть выполняем 17 нудных действий. Пришло время подняться на первую ступень просвещения.

Ускоренный стандартный подход

Для начали избавимся от необходимости ввода пароля при входе по ssh или выполнения копирования посредством scp. Для этого мы сгенерируем пару ключей на локальной машине:

Несколько раз нажимаем Enter на все задаваемые вопросы. А затем скопируем этот ключ на все сервера стандартной командой ssh-copy-id, попутно вводя пароль. Можно копировать по одному:

1. Копируем ключ сначала на одну машину:

2. Вводим пароль.

3. Копируем ключ на слеующую машину:

16. Последний пароль.

А лучше в ускоренном режиме:
1. Копируем ключи поочередно на каждую из машин, список которых в файле

2. Вводим пароль.
3. Следующий пароль.
.
8. Последний пароль.

Все!
Это и правда все, то есть всего 2 (два) действия. Этой конструкцией можно горы свернуть, но не все, к сожалению. Например, мы сможем выполнить любую команду для каждого из серверов, но мы не увидим вывода этой команды. Можем смириться или двигаться на следующую ступень просветления.

Задача # 2

Нам просто нужно узнать время работы с последней перезагрузки стандартной командой uptime, но со всех серверов. Для этого нам придется воспользоваться одной из программ для параллельного выполнения комманд.

Программы для параллельного выполнения команд

Так как проблема существует не первый день, решений придумана масса, с довольно различными реализациями и подходом :

Из них бы я особо выделил pssh, pdsh, shmux. А из этих трех мне приглянулся pdsh, за то что: написан на С, давно разрабатывается, часто обновляется, и есть в репозиториях практически всех современных систем (кроме Slackware). И самое главное — не требуется установка на сервера, только на машине, откуда будете работать.

PDSH — высокопроизводительная, распараллеленная оболочка (по крайней мере так говорится на официальном сайте. Для доступа к серверам использует либо rsh, либо ssh, что предпочтительней. А так же использует модули расширения, которых мы касаться не будем. Установка, думаю, проблем не вызовет:

Синтаксис программы прост:

Решаем задачу # 2, а по ходу разбираемся:

Вот и все, задача решена. Правда вывод мы получили вразнобой, так как задачи выполняются параллельно, и вывод происходит по мере поступления (в shmux проблема решена). Но сама команда выглядит монструозной, не правда ли? Для решения этой проблемы у pdsh есть свой синтаксис, который отличается от синтаксиса bash из примера, думаю, будет понятно:

Читайте также:  Windows не дает завершить форматирование

Получилось немного короче. А когда серверов 50, разница будет потрясающая.

Если мы хотим выполнить некий скрипт на всех серверах содержащий спецсимволы «; & && | || » обязательно возьмите всю выполняемую команду в кавычки. В противном случае интерпретатор (bash) решит, что команда, выполняемая после спецсимвола, предназначена для локальной машины. Например:

Интересно, что сделает скрипт, если мы кавычки забудем?

В комплекте с pdsh есть утилита pdcp схожая по функционалу с scp. Решим с ее помощью задачу # 1:
1. Редактируем /etc/hosts
2. Копируем все файлы hosts на удаленные машины в папку /etc:

Просто, да? Единственная трудность в том, что для этого pdsh должен быть установлен на всех машинах, но ведь теперь это не проблема:

А можно все это еще ускорить или упростить? Можно и нужно, последняя ступень просвещения и выход на космические скорости.

Редактируем .bashrc

Если мы управляем несколькими группами серверов, например хостинговыми (50шт) с Debian, сервера внутреннего проекта (24шт) со Slackware и офисные сервера (10шт) c Fedora. Тогда было бы удобно разделить их на группы. У pdsh на этот счет есть решение, но заставить его работать на Slackware я так и не сумел. Поэтому я пошел по linux-way и добавил в

/.bashrc вот такие строки:

Это позволило нам разделить сервера на группы, а так же обеспечило возможность автодополнения по табуляции. Для примера установим htop на всех машинах:

И, собственно, все. А если мы захотим узнать uptime на всех серверах, выполним следующее:

Что бы отчистить все сервера от бэкап-файлов, которые остаются после редактирования vim’ом, поступим так:

Думаю, нет необходимости подсчитывать количество сэкономленных телодвижений.

Итого

Если у вас до 10 нетребовательных к вниманию серверов, имеет смысл использовать ssh c аутентификацией по ключам и «ускоряющую конструкцию». Если более, то pdsh, pssh или shmux, дополненных .bashrc.

Источник

Бесплатные панели управления серверами в 2021 году

Для пользователей Хабра не секрет, что панель управления (ПУ) — это веб-инструмент для администрирования сервера и размещённых на нём сайтов с помощью графического интерфейса. Она упрощает работу с доменами, базами данных, службами и приложениями.
В этой статье рассмотрим актуальные в 2021 году бесплатные панели управления, которые не теряют своей популярности, поскольку более 80% рядовых юзеров не используют и половины функций и возможностей платных ПУ.

VestaCP

Удобная русифицированная панель с опциональной платной поддержкой. Vesta предусматривает встроенный Softaculous, обеспечивающий возможность быстрой установки приложений, в том числе CMS. В ПУ интегрирован Let’s Encrypt, позволяющий в один клик добавить автоматически обновляющийся SSL-сертификат. VestaCP – мультиязычная админка, полностью контролирующая работу сервера, поддерживающая интерфейс командной строки и решения для работы с почтой.


Меню управления VestaCP

  • Ubuntu;
  • Debian;
  • RHEL;
  • CentOS.

Обратите внимание: для работы с VestaCP на сервере не должно быть настроенного ПО. Во избежание сложностей панель управления устанавливается на чистый веб-сервер.

Для установки нужно подключиться через ssh, загрузить дистрибутив с официального сайта:

И начать инсталляцию:

Наша компания предлагает серверы с предустановленной VestaCP и дополнительным модулем выбора версии PHP для каждого размещённого домена.

Читайте также:  Кекст для mac os

BrainyCP

Функциональная ПУ с возможностью регистрации пользовательских аккаунтов с квотами и ограниченными возможностями. Веб-мастер может настроить контроль состояния всех или части сервисов на выбор. BrainyCP – мультиязычная панель корпоративного уровня, поддерживающая PHP 5.2-7.4.


Веб-интерфейс панели BrainyCP

Основные преимущества и особенности:

  • работа с APACHE, NGINX или APACHE + NGINX (frontend);
  • PureFTPD или ProFTPD на выбор;
  • SSL: автоматическая инсталляция бесплатных сертификатов от Let’s Encrypt;
  • инкрементальный бэкап и настройка расписания для резервного копирования;
  • антивирус CLAMAV с автоматическим обновлением баз и подгрузкой файрволла веб-приложений;
  • BIND DNS и кластеризация;
  • поддержка IPV6.

Официально BrainyCP поддерживает только CentOS от RedHat. Установка хостинг-панели на Ubuntu и Debian разработчиками не предусматривается. Для этого нужно подключиться к серверу по SSH и ввести команду:

В том, что разработчики Brainy ориентированы только на CentOS, нет ничего плохого. Пусть лучше панель управления хорошо работает на одной операционной системе, чем кое-как – на всех сразу.

Fastpanel

Данная панель управления — это разработка наших коллег. Чем эта ПУ может заинтересовать веб-мастера:

  • встроенный планировщик задач;
  • сканер вредоносного ПО Al-Bolit;
  • RainLoop Webmail;
  • встроенный файл-менеджер;
  • выбор PHP 5.2-7.4 и режима CGI/FPM/FastCGI;
  • двухфакторная аутентификация;
  • SSL;
  • ручная настройка nginx, apache, php-fpm;
  • автоматическое резервное копирование;
  • поддержка ситем виртуализации OpenVZ, KVM, Hyper-V;
  • веб-аналитика.

Для установки Fastpanel нужно запустить терминал и ввести одну строку:

ISPConfig

Ещё одна бесплатная панель с открытым кодом. ISPConfig позволяет управлять сразу несколькими виртуальными и физическими машинами. ПУ предусматривает четыре уровня доступа: админ, реселлер, клиент и пользователь e-mail.

  • модульная структура;
  • дисковая квота – предоставление определенного объема памяти каждому пользователю;
  • ISPProtect – сканер вредоносного ПО;
  • антивирусный и спам фильтры для почты;
  • веб-аналитика с помощью Webalizer и AWStats;
  • поддержка языков программирования Ruby и Python при использовании Apache HTTP;
  • мультиязычность: по состоянию на 2021 год ISPConfig поддерживает 22 языка;
  • большие возможности для работы с почтой: черные, белые и серые списки, автоответчик, DKIM-аутентификация, управление рассылками Mailman, XMPP для мгновенного обмена сообщениями и т. д.

ISPConfig поддерживает CentOS, Debian, Fedora, OpenSuSE, Ubuntu. При всех своих особенностях эта панель имеет один недостаток. Перед инсталляцией вручную необходимо установить множество пакетов и отредактировать настройки конфигурационных файлов.

Ajenti

Популярная админ-панель с открытым кодом и модульной структурой. Ajenti 2 использует NGINX вместо Apache. Установка не вызовет трудностей, но у веб-мастера должны быть минимальные навыки в области взаимодействия разных компонентов системы. Ajenti обеспечивает тонкую подстройку конфигурации используемых сервисов и приложений. Подробную документацию для ознакомления и настройки админ-панели можно скачать с официального сайта разработчика.

Основные особенности Ajenti:

  • внешний интерфейс построен на JS, ES6 или CoffeeScript;
  • управление базами данных PostgreSQL, MySQL;
  • работа с Vsftpd;
  • управление почтовым сервером и оптимизированный Exim;
  • поддержка Apache – опционально;
  • управление DNS;
  • возможность установки сторонних плагинов;
  • интуитивно понятный для рядового пользователя интерфейс, не перегруженный лишними модулями.


Загрузка и выбор версии Ajenti

Ajenti работает с CentOS, Ubuntu, RHEL, Debian и Gentoo. Разработчиками предусмотрена возможность переноса ПУ на Linux и BSD.

CWP – Control Web Panel

Интересная, но сложная для неопытного пользователя панель управления. Много тонких настроек, в которых тяжело разобраться без опыта. Установка CWP рекомендована на чистый сервер, поскольку деинсталлятор разработчиком не предусмотрен. Если захотите удалить панель управления, придется сносить весь сервер.

Возможности Control Web Panel:

  • поддержка PHP-fpm;
  • CSF Firewall, обеспечивающий защиту сервера от DDoS-атак;
  • Roundcube – клиент для работы с электронной почтой;
  • блокировка спама: SpamAssassin, RBL, AmaViS, ClamAV, OpenDKIM;
  • встроенный журнал событий, контролирующий работу сервера;
  • мониторинг эффективности: Netdata, Monit;
  • бэкап баз данных, файлов и учетных записей.
Читайте также:  Put file from windows to linux

Установка для CenOS 7:

Установка для CentOS 8:

Основные недостатки Control Web Panel: зашифрованный исходный код и отсутствие многоязычного интерфейса.

Virtualmin

Частично бесплатная панель управления, но за большую часть функциональных возможностей придется доплатить. Фактически это плагин для Webmin, написанный на Perl. Virtualmin позволяет одновременно работать с несколькими серверами. Преимущества админ-панели: простой интерфейс и двойная аутентификация.

Основные возможности Virtualmin:

  • Usermin – клиент для работы с электронной почтой;
  • бета-поддержка Let’s Encrypt для управления TSL/SL сертификатами;
  • обновленный текстовый редактор кода с подсветкой синтаксиса;
  • Cloudmin Connect – инструмент для управления несколькими серверами, позволяет работать с доменами, обновлениями ПО, веб-аналитикой;
  • гибкие настройки бэкапа, интеграция с облаком;
  • умный поиск, позволяющий быстро найти необходимый модуль.


Меню настроек Webmin

Для начала установки загрузите скрипт с официального сайта (в нашем случае это Virtualmin GPL):

Скрипт нужно сделать заполняемым:

В зависимости от выбранного сценария, на установку потребуется от 15 до 45 минут. Подключение сторонних репозиториев при инсталляции не требуется.

KeyHelp

Популярный инструмент администрирования для Linux серверов, совместимый с Ubuntu и Debian. Система является разработкой европейской хостинг-компании и не имеет ограничений на количество подключаемых доменов. Понятный интерфейс позволяет работать с KeyHelp пользователям, не имеющим углубленных навыков в области веб-администрирования.

Основные возможности панели управления:

  • редактирование DNS-записей;
  • работа с электронной почтой через RoundCube;
  • встроенный планировщик задач;
  • управление базами данных через PHPMyAdmin;
  • бэкап на локальный диск или удаленный сервер;
  • управление любым количеством пользователей: индивидуальные полномочия, разграничение ресурсов;
  • кастомизация шаблонов Whitelabling.

Панель управления предусматривает ClamAV. Это антивирусный пакет, применение которого оправдано при использовании сервера в качестве почтового или хранилища файлов. Для обратной связи с юзерами разработчик добавил встроенную систему информирования, включающую рассылки и шаблоны сообщений.

Автоматическая установка KeyHelp:

EHCP – Easy Hosting Control Panel

EHCP – бесплатная ПУ с открытым исходным кодом. Система предусматривает управление доменами, поддоменами, DNS, электронной почтой, MySQL и FTP. ECHP написана на PHP и поддерживает Nginx и PHP-FPM. При создании домена также создаются аккаунты на FTP и почтовом сервере.


Веб-интерфейс панели управления EHCP

Быстрая установка EHCP:

Sentora

Чем примечательна Sentora или ZPanel:

  • многоуровневая система пользователей и торговых посредников;
  • интеграция билингвой платформы;
  • менеджмент FTP-аккаунтов и баз данных;
  • резервное копирование;
  • пакеты услуг с лимитами;
  • встроенный PHPMyAdmin;
  • планировщик задач cron;
  • контроль нагрузки сервера.

Основным недостатком Sentora является маленькое комьюнити в рунете. Непопулярность в ру-сегменте обусловлена сформированным костяком крупных игроков. Деинсталлятор для Sentora не предусмотрен разработчиком, поэтому при необходимости удаления админ-панели придется переустанавливать ОС.


Установка Sentora на сервер

Заключение

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

Наши серверы можно использовать для установки любой панели управления.
Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!

Источник

Оцените статью