Выбираем панель управления хостингом

panels

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

Как отдельный продукт панели управления хостингом стали широко использоваться в конце 1990-х годов. За прошедшее с тех пор время они очень изменились и усовершенствовались. Сегодня на рынке представлено огромное количество решений для управления хостингом — как свободных, так и проприетарных. Как из всего этого многообразия выбрать действительно стоящий продукт?

В Интернете можно найти публикации, в которых сравниваются имеющиеся панели (вот, например, неплохой переводной материал; см. также здесь). Мы решили составить собственный обзор, в котором акценты расставлены несколько по-иному, чем в опубликованных ранее. Одним из основных критериев, положенных в основу нашего обзора, является поддержка панелями веб-серверов и их комбинаций. Кроме того, в нашей статье мы рассматриваем продукты, в публикации по ссылкам выше не вошедшие.

ISP Manager

Разработчик: компания ISP System
Первая версия: 1997 год
Последняя версия: 5.17.4 (июль 2014 года)
Поддерживаемые ОС: Linux, Free BSD, Windows
Лицензия: проприетарная
Официальный сайт: http://ispsystem.com

Для установки ISP Manager достаточно из консоли скачать с официального сайта специальный скрипт и запустить его, а после запуска указать требуемую версию (4 или 5) и редакцию (Lite или Pro). В версии 4 установка осуществляется через консоль, а в версии 5 — по-другому: при выборе минимального варианта на консоль выводится ссылка которую нужно открыть в браузере и продолжить установку, выбрав необходимые компоненты. Отметим, что в отличии от четвертой пятая версия имеет модульную структуру: обязательным является только компонент Core. На его основе уже можно выбирать другие используемые компоненты — например, ISP Manager Pro или Lite (есть и другие компоненты, которые в этой статье рассматриваться не будут). Впрочем, при выборе в консоли рекомендуемого варианта установки все необходимые компоненты будут установлены автоматически.

По умолчанию используется веб-сервер Apache. Nginx устанавливается дополнительно (для этого нужно просто перейти в раздел «Настройка сервера» -> «Возможности»):

ipsmanager_nginx_install_1

После установки он автоматически становится фронтендом, а Apache — бэкендом. Делается это для того, чтобы разделить разные функции между Nginx и Apache: Nginx очень хорошо справляется с поддержкой множества сессий и отдачей статичного контента (картинки, музыка, видео и т.д.), Apache обладает широкими возможностями поддержки динамических данных.
После этого Apache начнет слушать на 81 порту (в пятой версии — на 8080),что дает возможность обращаться к нему напрямую, не задействуя при этом Nginx. Для этого нужно просто указать в адресной строке браузера нужный порт, например http://example.com:81/ .

Из соображений безопасности после установки Nginx желательно с помощью iptables заблокировать доступ к серверу по 81 порту, оставив в качестве разрешенных только локальный (127.0.0.1) и внешний IP-адрес сервера. Это можно сделать в самой панели через графический интерфейс в разделе брандмауэра:

ispmanager_81port

Некоторые пользователи предпочитают в этом случае изменить адрес для apache на локальный (127.0.0.1), оставив 80 порт. Не рекомендуется изменять настройки системы, которые могут быть возвращены к стандартным в случае каких-либо обновлений панели управления.

В отличии от версии 4 в версии 5 используется независимый веб-сервер, обеспечивающий работу панели управления и никак не связанный ни с Apache, ни c Nginx. Именно поэтому от использования Apache можно отказаться. Необходимо лишь настроить сайт на работу в связке Nginx + php-fpm. Нужно, однако, учитывать, что php-fpm полностью заменить apache не может. Например, при переходе на php-fpm функции преобразования URL в человекопонятный (реализуемый через mod_rewrite в Apache) вид должны обрабатываться уже веб-сервером Nginx.

К преимуществам пятой версии можно отнести возможность прямого редактирования конфигурационных файлов Apache и Nginx для выбранного домена, благодаря чему для каждого домена можно устанавливать индивидуальные настройки, которые не будут распространяться на остальные.

Также к несомненным достоинствам следует отнести поддержку веб-скриптов в формате APS, с помощью которых для выбранного домена можно установить в полуавтоматическом режиме готовую CMS. От пользователя только потребуется выбрать из списка нужное приложение и указать для него необходимые параметры (создаваемую БД, пользователя, пароль и т.д.).
В числе других преимуществ ISP Manager нужно также назвать наличие широкого набора функций для управления сервером, простоту переноса аккаунтов между хостингами, удобный многоязычный интерфейс, подробную и понятную документацию.

К недостаткам можно отнести ограниченные функции управления брандмауэром и его неактивность по умолчанию. Хотя модуль управления сетевым экраном активируется ещё на этапе установки панели, по умолчанию правила неактивны. Чтобы их активировать, необходимо внести хотя бы одно изменение в список существующих правил из панели управления (например так, как это указано выше).

Plesk Panel

Разработчик: компания SWSoft, сегодня распространяется компанией Parallels
Первая версия: 2003 год
Последняя версия: 12.0.18 u4 (июль 2014 года)
Поддерживаемые ОС: Сentos, OpenSUSE, CloudLinux, RHEL, Debian, Ubuntu, Windows
Лицензия: проприетарная
Официальный сайт: http://sp.parallels.com/ru/products/plesk/

Чтобы установить Plesk Panel, достаточно скачать с официального сайта установочный скрипт и запустить его из консоли.

«Из коробки» поддерживается связка Nginx + Apache, никакой дополнительной настройки не требуется. Можно сразу создавать домен и загружать содержимое сайта. Если после установки панели установить еще и дополнительный модуль файервола, то сразу же будут задействованы правила, ограничивающие доступ к веб-серверу Apache.

Работа в режиме Nginx + php-fpm возможна, но для этого нужно установить компонент поддержки php-fpm cо страницы установки и обновления Parallels:

plesk_phpfpm_1

и указать для выбранного домена, что файлы php должны обрабатываться с помощью Nginx:

plesk_phpnginx_1

Как и ISP Manager, Plesk Panel позволяет устанавливать необходимые веб-приложения (APS) из самой панели управления, сведя, тем самым, действия пользователя по подготовке сайта к минимуму.

plesk_aps

Из достоинств Plesk стоит выделить удобный интерфейс, богатый набор функций, наличие многочисленных расширений (addons), устанавливаемых непосредственно из панели управления.

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

Ajenti

Разработчик: Евгений Паньков
Первая версия: 2010 год
Последняя версия:1.2.20 (апрель 2014 года)
Поддерживаемые ОС: Debian 6.0 и выше, Ubuntu 10.04 и выше, CentOS 6.0, RHEL, FreeBSD, ArchLinux, Gentoo
Лицензия: GNU LGPL
Официальный сайт: http://ajenti.org/

Ajenti представляет собой среду для выполнения административных задач на сервере через веб-интерфейс. Обслуживание сайтов и управление ими осуществляется с помощью надстройки Ajenti-V, с помощью которой можно также управлять веб-сервером Nginx.

Чтобы установить Ajenti, достаточно скачать с официального сайта скрипт и запустить его на выполнение. Нужный репозиторий будет подключен автоматически; из него будут установлены все необходимые пакеты. Пакеты Ajenti-V нужно устанавливать отдельно:

# apt-get install ajenti-v ajenti-v-nginx ajenti-v-mysql ajenti-v-php-fpm
# service ajenti restart

По умолчанию Ajenti-v рассчитан на работу с веб-сервером Nginx в связке с php-fpm, wsgi, puma, unicorn, node.js. Apache поддерживается, но эта поддержка минимальная: пользователь получает лишь доступ к конфигурационному файлу, отвечающему за работу выбранного домена:

ajeinti_apache_config

Nginx в этом случае должен быть настроен на работу в качестве reverse proxy:

ajenti_nginx

У пользователей, не имеющих опыта прямого редактирования конфигурационных файлов, на этом этапе могут возникнуть проблемы. Веб-интерфейс, с помощью которого редактируются параметры Nginx, может показаться непривычным, и настроить все корректно с первого раза скорее всего не получится: потребуется несколько раз отредактировать настройки из веб-интерфейса, а затем просмотреть файлы, сгенерированные Ajenti-v, и сравнить полученное с задуманным.

Интерфейс для настройки встраиваемых интерпретаторов (например, php-fpm или uwsgi) устроен лучше, но и здесь велика вероятность столкнуться с разного рода неожиданностями. Но после первого знакомства опытные пользователи смогут оценить этот минималистичный подход и его удобство.

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

Единственным значительным минусом являются уже упомянутые выше сложности с редактированием конфигурационных файлов для неопытных пользователей.
Проект интенсивно развивается и улучшается с каждой новой версией. Мы считаем Ajenti вполне перспективным продуктом и рекомендуем к ознакомлению.

Vesta CP

Разработчик: компания Vesta
Первая версия: 2012 год
Последняя версия: 0.9.9 −1 (август 2014 года)
Поддерживаемые ОС: RHEL 5.x, 6.x ; CentOS 5.x, 6.x ; Debian 7;
Ubuntu LTS 12.04, Ubuntu 12.10, Ubuntu 13.04, Ubuntu 13.10
Лицензия: GNU GPL; дополнительная поддержка оказывается платно
Официальный сайт: http://vestacp.com/

Как и в случае с предыдущими панелями, для установки достаточно скачать скрипт и запустить его на выполнение. Далее все происходит в автоматическом режиме. При необходимости подключаются дополнительные репозитории. Если какие-либо нужные компоненты уже были установлены ранее, то в директории /root/vst_install_backup будут сохранены резервные копии всех конфигурационных файлов, которые были затронуты при их установке.

От всех рассмотренных выше панелей Vesta CP отличается во-первых, тем, что в ней все операции, выполняемые через браузер, можно также выполнять и через консоль, а во-вторых — тем, что в ней используется модуль Apache mod_ruid2. Все консольные утилиты располагаются в директории /usr/local/vesta/bin/; иx имена начинаются с префикса «v-», например v-add-user, v-change-database-password и т.д.

Уже упомянутый выше модуль Apache mod_ruid2 заслуживает отдельного рассмотрения. О нем можно написать целую статью; здесь мы ограничимся лишь кратким описанием, но этого будет вполне достаточно, чтобы понять специфику Vesta CP. Когда на одном сервере сосуществуют множество пользователей, а все их сайты обслуживаются только одним веб-сервером, возникает проблема разграничения прав при исполнении php-скриптов. Обычно эта проблема решается путем исполнения скриптов через suexec и suphp. Преимуществом mod_ruid2 является то, что он работает напрямую с mod_php, что обеспечивает более высокую скорость выполнения.

Также для mod_ruid2 можно указать дополнительную группу (например, ту, от имени которой запущен процесс Apache) — это иногда может потребоваться для установки некоторых CMS.
У этого модуля есть существенный недостаток: при наличии уязвимостей через него возможно теоретически получить root-доступ. Сам разработчик mod_ruid2 для обеспечения безопасности предлагает использовать патчи ядра grsecurity.
Несмотря на то, что этот модуль находится еще в несколько «сыром» состоянии, он становится все более распространенным и популярным. Об этом может свидетельствовать хотя бы то, что он уже используется в панели CPanel в качестве одного из обработчиков php.

После установки ничего настраивать дополнительно не нужно, требуется лишь указать основные NS-серверы. По умолчанию при создании сайта используется веб-сервер Apache, поддерживается также связка Apache + Nginx:

vesta_nginx_1

Поддержки режима Nginx + php-fpm на данный момент ещё нет, реализация обещана в ближайшем релизе.

Несмотря на минималистичность интерфейса, VestaCP предоставляет все необходимые средства для создания и управления сайтом: управление пользователями, создание доменов и баз данных. Некоторые операции (такие, например, как настройка параметров php) при этом все равно придется выполнять с помощью консоли. Из достоинств VestaCP выделим быструю с точки зрения пользователя работу, простоту установки и обновления, хороший форум технической поддержки.
Из недостатков можно выделить только один: отсутствие хотя бы краткого описания шаблонов из списка, задаваемых для Apache, Nginx и DNS. Впрочем, этот минус не такой уж существенный: всю необходимую информацию можно найти в официальной документации, а предлагаемые по умолчанию шаблоны подходят для большинства случаев.
Vesta CP интенсивно развивается; будем надеяться, что в ближайшее время она станет более функциональной и удобной.

CPanel

Разработчик: компания cPanel Inc.
Первая версия: 1996 год
Последняя версия: 11.44.1.17 (август 2014 года)
Поддерживаемые ОС: Сentos 5.x, 6.x, RHEL 5.x, 6.x, CloudLinux 5.x, 6.x, FreeBSD (с 30.09.2012 поддержка прекращена), есть версия для Windows (с февраля 2014 не поддерживается)
Лицензия: проприетарная
Официальный сайт: http://cpanel.net/

От упомянутых выше панелей CPanel отличается сложной процедурой установки. Прежде чем скачать с официального сайта и запустить установочный скрипт, потребуется осуществить предварительную подготовку: отключить SELinux, установить Perl, задать полное имя домена (fqdn) в файлах /etc/sysconfig/network и /etc/hosts.

Во время установки все необходимые для работы веб-сервера компоненты собираются из исходных кодов. Все это по понятным причинам делает процесс установки очень долгим.

В состав СPanel входят два компонента: собственно CPanel и WHM. WHM представляет собой веб-интерфейс для «суперадминистратора», с помощью которого можно получить доступ ко всем настройкам среды — например, задать важные параметры, влияющие на производительность Apache (max_clients, min/max spare servers и другие), доступ ко всем возможным опциям php и др. Несомненное удобство заключается в том, что настройки можно изменять через веб-интерфейс, а не редактировать вручную конфигурационные файлы. Однако для того, чтобы новые настройки вступили в силу, в некоторых случаях может потребоваться пересборка отдельных компонентов.

Для настройки веб-сервера используется инструмент WHM EasyApache. C его помощью можно выбрать конкретный профиль — набор возможностей, который будет поддерживать сервер. Если выбрать, например, профиль Basic, то все запросы будут обрабатываться при помощи стандартного модуля mpm_prefork. Если же выбрать профиль MPM ITK, то будет использован модуль mpm_itk, повышающий безопасность работы веб-сервера за счет разделения процессов по пользователям:

cpanel_easy.apache

CPanel представляет собой панель управления в традиционном понимании. Именно с ее помощью осуществляется управление сайтами, настройка почты, доменных имен и т.п. Интерфейс CPanel прост и понятен даже новичку:

cpanel_cpanel

«Из коробки» CPanel поддерживает только веб-сервер Аpache. Поддержка других веб-серверов реализуется с помощью сторонних плагинов и расширений, как проприетарных, так и свободных.
Чтобы использовать Nginx в качестве фронтенда к Apache, можно, например, прибегнуть к помощи плагина Nginx Admin. Для установки этого плагина нужно скачать tar-архив, распаковать его и запустить специализированный скрипт. Заметим, что в последних версиях CPanel с установкой Nginx Admin могут возникнуть проблемы. Можно также воспользоваться расширением ApacheBooster или проприетарным плагином cPnginx. Поддержка связки Nginx + php-fpm реализуется при помощи плагина cpXstack.

Благодаря тому, что CPanel ориентирована на работу с веб-сервером Apache, удается обеспечить широкие возможности для гибкой настройки и конфигурирования. Гибкость обеспечивается за счет создания самостоятельного окружения с пересборкой в случае необходимости. Работа с WHM требует от пользователя определенных знаний и опыта, но в большинстве случаев настроек по умолчанию вполне достаточно.

В последних версиях (начиная с 11.44) добавлена возможность централизованного управления с главного сервера другими серверами с предустановленной WHM, названная кластером конфигураций (Cluster Configuration, сходная с подобным режимом в ISPConfig — см. ниже). Возможности работы в кластере расширяются; постепенно добавляются новые функции.

В числе несомненных преимуществ CPanel следует назвать поддержку широкого набора ПО, локализацию на более 20 языков, многоуровневое управления пользователями и расширенную функциональность для реселлинга.

Обратной стороной гибкости настройки и управления оказывается более низкая (по сравнению с упомянутыми выше панелями) производительность.

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

ISPConfig

Разработчик: projektfarm GmbH
Первая версия: 2007 год
Последняя версия: 3.0.5.4 (август 2014 года)
Поддерживаемые ОС: Debian, Ubuntu, CenOS, OpenSUSE, Fedora
Лицензия: BSD
Официальный сайт: http://www.ispconfig.org/

ISPConfig устанавливается не так, как все описанные выше панели управления: сначала устанавливается все необходимое ПО (веб-сервер, СУБД, FTP, почтовая система), и только затем с помощью специального скрипта устанавливается сама панель управления. С подробной инструкцией по ручной установке и настройке под различные конфигурации и дистрибутивы можно ознакомиться на сайте howtoforge.com (см. также более упорядоченный вариант).

Такой подход дает возможность поддерживать большее количество дистрибутивов, а также реализовать функции, недоступные для большинства ПУ. Например, имеется возможность работы в своеобразном кластере из нескольких серверов, на которых установлен ISPConfig; при этом один из них является главным и управляет всеми остальными. В таком режиме работы при создании пользователя и домена можно сразу указать, на каком именно сервере будут храниться его данные. Можно также разделить функции между серверами: один будет отвечать за работу БД, другой — за основной веб-сервер, выполняющий динамическую обработку запросов, а третий — за фронтенд, принимающий запросы пользователей.

Так как подготовка среды осуществляется еще до установки самой панели, ISPConfig можно установить на систему, где уже работает сервер Nginx либо Apache. ISPConfig может работать с любым из этих серверов, которые к тому же можно настроить удобным для пользователя способом (например, Nginx + php-fpm). Поддержку связки Nginx + Apache можно настроить с помощью специального модуля.

Подготовка веб-сервера и его окружения — задача рутинная и довольно непростая, но ее можно ускорить и автоматизировать с помощью специальных скриптов. На сервер с OC Debian или Ubuntu ISPConfig можно установить c помощью cкрипта ISPConfig3-Debian-Installer. Скрипт работает как с сервером Apache, так и с Nginx. Существует и скрипт для работы со связкой Nginx + Apache.

К числу несомненных достоинств панели относятся поддержка кластерного режима и стандарта APS — функции, которые встречаются в основном у проприетарных продуктов.

Очевидным недостатком CPanel является сложность подготовки сервера к установке и ручная настройка всех компонентов. И хотя на на сайте howtoforge.com представлены подробные пошаговые инструкции, всех сложностей установки это не снимает.

ISPConfig 3.0.5.4p3 - Pentadactyl_002

Заключение

В этой статье мы кратко рассмотрели несколько популярных и распространенных панелей управления. Резюмируем результаты нашего обзора в виде следующей таблицы (в таблице представлена также дополнительная информация, дающая более полное представление о возможностях рассматриваемых панелей:

Характеристика ISP Manager Plesk WHM/CPanel VestaCP Ajenti-V ISPConfig
Поддерживаемые ОС CentOS > 6
Debian 7
FreeBSD 9
CloudLinux
Windows
CentOS 5-7
Debian 6-7
Ubuntu LTS 10.04-12.04
RHEL 5-7
OpenSUSE 12.3-13.1
CloudLinux 5-6
CentOS 5-6
RHEL 5-6
CloudLinux 5-6
RHEL 5-6
CentOS 5-6
Debian 7
Ubuntu 12.04-14.04
Debian
Ubuntu
RHEL
CentOS
Debian 5-7
CentOS 5-6
Fedora 12-15
OpenSUSE 11.1-13.1
Ubuntu 8.10-14.04
Поддерживаемые веб-серверы Apache
Apache + Nginx
Nginx + php-fpm (для 5 версии)
По умолчанию Apache + Nginx Официально только Apache; Apache + Nginx и Nginx + php-fpm — через сторонние расширения Apache
Apache + Nginx
Nginx + php-fpm
Nginx + uwsgi
Nginx + Puma
Nginx + Unicorn
Nginx + Gunicorn
Nginx + Node.js
Nginx + Apache
Nginx либо Apache, Nginx + Apache — через стороннее расширение
Поддерживаемые БД MySQL
PostgreSQL
MySQL
PostgreSQL
MySQL
PostgreSQL
MySQL
PostgreSQL
MySQL
PostgreSQL
MySQL
Поддерживаемые DNS-серверы Bind Bind Bind
MyDNS
NSD
Bind Bind
NSD
Bind
MyDNS
Управление доменами и поддоменами Полное управление зонами через Bind Полное управление зонами через Bind Выбор сервера: Bind, myDNS, NSD Управление записями через Bind Встроенных средств нет Полное управление зонами через Bind
Настройка и администрирование БД Базовое*
phpMyAdmin
Базовое*
phpMyAdmin
Базовое*
phpMyAdmin
Базовое*
phpMyAdmin
Базовое*
модуль ajenti-mysql
Базовое*
phpMyAdmin
Статистика Awstats Awstats
Webalizer
Analog
Awstats
Awstats
Webalizer
Статистика как таковая отсутствует, ее нужно добавлять через соответствующую запись в конфигурационном файле Awstats
Webalizer
Поддержка APS + + + +
Настройки безопасности Встроенное управление файерволлом, антиспам (белые/чёрные списки) Fail2ban, антивирус Касперского, spamassasin (белые и чёрные списки) mod_security (возможность подробной настройки), clamav, cPHulk, защита от брутфорса, jail’ы для vhost apache с помощью mod_ruid2 и cPanel jailshell Встроенных средств защиты нет Встроенный файерволл Встроенное управление firewall’ом, антиспам (белый/чёрный список), fail2ban, RKHunter
Стоимость и условия лицензирования 5 — lite: 190 руб./мес., pro: 570 руб./мес. Приведены официальные цены, у ресселеров цены могут быть ниже Web Host: 35$/мес либо 385$/год, у ресселеров можно приобрести более простые редакции 20$/мес. (200$/год) для VPS. 45$/мес. (425$/год) для выделенных Распространяется под лицензией GNU GPL;дополнительная техническая поддержка оказывается платно Распространяется под лицензией AGPLv3 Распространяется по лицензии BSD

* — под базовым управлением понимаются простые функции по созданию и удалению баз данных и их пользователей.

Если у вас есть замечания и дополнения — добро пожаловать в комментарии. Ждем также комментариев от тех, кто использует панели управления хостингом, в наш обзор не вошедшие. Было бы интересно узнать, почему вы выбрали именно их и в чем, на ваш взгляд, заключаются их преимущества.