Управление сервером на декстопной машине и управления точно таким же сервером на «безголовой машине», например на VPS — это, как говорят в Одессе, две большие разницы. На настольной машине мы можем, например, для установки новых модулей, или для контроля над процессами, или для копирования файлов воспользоваться всевозможными программами с графическим интерфейсом — файловыми менеджерами, установщиками пакетов, анализаторами производительности и т. д. Если у вас достаточно знаний и опыта, вы можете пренебречь графическим интерфейсом и пользоваться командной строкой — есть выбор.
К безголовым серверам, к VPS мы, в основном, подключены по SSH и нам доступна только одна опция — командная строка. Подобная форма администрирования является сложной для некоторых начинающих системных администраторов. Даже те, кто прекрасно ориентируются в командной строке, могут захотеть получить наглядность и упростить себе работу. Именно для этого и существуют контрольные панели.
Контрольная панель — это программа с графической оболочкой, в которой собраны все основные функции для обслуживания сервера: установка плагинов, контроль за процессами, файловый менеджер, просмотр логов, выполнения работ с базой данных, настройка файервола, управление пользователями и многое другое.
Т.е. для управления виртуальным частным сервером (VPS) у нас опять появляется две опции: мы можем делать это исключительно в командной строке, или мы можем это делать через графический интерфейс. У каждого из этих методов есть свои сторонники — выбирайте то, что вам проще. Лично мне кажется хорошей идеей осуществлять рутинные административные задачи просто кликая мышкой.
Сейчас много разных коммерческих панелей, с различными функциями и прибамбасами. Но есть и жизнеспособные альтернативы с открытым исходным кодом, которые могут быть такиме же мощными и универсальными. Особенно среди них выделяется серверная административная панель Ajenti.
Ajenti позволяет вам с лёгкостью настраивать различные распространённые серверные программы, такие как Apache/nginx, Samba, BIND, Squid, MySQL, cron, firewall и так далее, это отличный способ сохранить время при администрировании своего экземпляра VPS. Для производственной среды Ajenti также предлагает адд-оны и поддержку платформ для управления виртуальным хостингом и пользовательских веб-разработок графического интерфейса.
Ajenti поставляется с двойной лицензией. Она бесплатная для использования (AGPLv3) на ваших персональных серверах, внутренних аппаратных коробках компаний или образовательных организаций. Тем не менее, если вы являетесь хостинг компанией или производителем железа (оборудования), вам нужно купить коммерческую лицензию Ajenti по коммерческим предложениям.
Установка Ajenti на Linux
Для простой установки Ajenti предлагает их собственной репозиторий для большинства дистрибутивов Linux. Всё что нужно для установки Ajenti на Linux, это настроить целевой репозиторий и установить эту программу через дефолтный менеджер пакетов.
Во время установки будут автоматически сгенерированы закрытый ключ RSA и сертификат для SSL, и Ajenti будет прослушивать HTTPS порт 8000 для безопасного веб-доступа. Если вы используете файервол, вам нужно разрешить порт TCP/8000 в файерволе. Для безопасности, хорошая идея по умолчанию заблокировать порт 8000, и добавить только несколько избранных IP адресов в белый список.
Установка Ajenti на Debian
$ wget http://repo.ajenti.org/debian/key -O- | sudo apt-key add - $ sudo sh -c 'echo "deb http://realrepo.ajenti.org:8888/debian/ main main debian" >> /etc/apt/sources.list' $ sudo apt-get update $ sudo apt-get install ajenti
Установка Ajenti на Ubuntu, Mint
$ wget http://repo.ajenti.org/debian/key -O- | sudo apt-key add - $ sudo sh -c 'echo "deb http://realrepo.ajenti.org:8888/ng/debian/ main main ubuntu" >> /etc/apt/sources.list' $ sudo apt-get update $ sudo apt-get install ajenti
Установка Ajenti на CentOS/RHEL или Fedora
В CentOS/RHEL, сначала настройте EPEL репозиторий, а затем выполните следующие команды. В Fedora сразу используйте следующие команды.
$ wget http://repo.ajenti.org/ajenti-repo-1.0-1.noarch.rpm $ sudo rpm -ivh ajenti-repo-1.0-1.noarch.rpm $ sudo yum install ajenti
Далее настраиваем файервол.
На Fedora или CentOS/RHEL 7:
$ sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent $ sudo firewall-cmd --reload
На CentOS/RHEL 6:
$ sudo iptables -I INPUT -p tcp -m tcp --dport 8000 -j ACCEPT $ sudo service iptables save
Доступ к веб-интерфейсу Ajenti
Перед доступом к веб-интерфейсу Ajenti, убедитесь, что вы запустили службу ajenti.
$ sudo service ajenti restart
Прямо в вашем браузере наберите https://<ip-адрес-сервера>:8000 и вы увидете следующий веб-интерфейс Ajenti для входа.
По умолчанию зайдите с именем пользователя "root" и паролем "admin", сразу после входа вы увидите основное меню Ajenti.
Обязательно перейдите в настройки и поменяйте данные (логин и пароль) для входа!
В секции «ПРОГРАММЫ» в левой панели, вы увидите список установленных служб. Когда вы установите какое-либо новое серверное программное обеспечение, поддерживаемое в Ajenti, программа автоматически добавится в список сразу после перезапуска службы ajenti.
$ sudo service ajenti restart
Управление VPS через веб-интерфейс Ajenti
Веб-интерфейс Ajenti исключительно интуитивный и простой в использовании. Здесь несколько примеров функциональности Ajenti.
Архитектура на основе плагинов
Ajenti поставляется с рядом плагинов специфичных для приложений, которые делают Ajenti очень расширяемой. Когда вы устанавливаете новую программу на ваш VPS, соответствующий плагин Ajenti (если такой есть) будет автоматически включен для управления этой программой. Раздел меню «Плагины» покажет, какие плагины доступны/включены, и какие плагины ассоциированы с каким софтом.
Управление пакетами
Ajenti предлагает веб-интерфейс для установки и обновления пакетов VPS.
Настройка сетевого экрана
Ajenti позволяет вам управлять правилами файервола (iptables or CSF) двумя способами. Первый — это дружественный пользователю интерфейс веб-панели, и другой — это прямое редактирование сырых правил сетевого экрана.
Инспектор логов (Журналы)
Вы можете перемещаться по системный логам в /var/log через веб-интерфейс Ajenti.
Мониторинг процессов
Вы можете видеть список процессов, отсортированных по использованию процессора или оперативной памяти, и, если нужно, можете завершить любые из них.
Доступ к терминалу
Для низкоуровнего доступа к VPS, Ajenti предлагает основанный на веб, терминальный интерфейс, где вы можете печатать команды Linux. Вы можете открыть много вкладок терминала внутри одной панели, как показано ниже.
Администрирование веб-сервера Apache
Вы можете редактировать конфигурационный файл Apache и управлять службой apache2.
Управление MySQL/MariaDB
Вы можете получить доступ к серверу MySQL/MariaDB и выполнять «сырые» SQL команды на них.
Настройка хостов
Вы можете настроить ACL, HTTP, правила доступа, порты для фильтрации и т.д.
Управление автозапуском служб сервера
Вы можете просмотреть, запустить, остановить и перезапустить установленные службы.
Заключение
Ajenti — это удобная и простая в использовании контрольная панель для обычного администрирования серверов, с возможностью добавления плагинов, которые помогут вам в разработке. Тем не менее, помните, что любая хорошая панель не отменяет для вас необходимости в изучении того, что происходит за сценой на вашем VPS. Контрольная панель станет действительно хорошим помощником в сохранении времени тогда, когда вы полностью будете понимать, что вы делаете и быть в состоянии справиться с последствием ваших действий, не полагаясь на панели управления.