Панельный бум: Обзор веб-панелей управления хостингом

В современном интернете сайтами обзаводятся все: от крупных компаний до отдельных индивидуумов, которые просто обозначают свое присутствие в паутине. Спрос рождает предложение, и сегодня быть хостером весьма прибыльно и перспективно. Принцип заработка стандартен — покупаем много и дешевле, а продаем частями и дороже. Осталось выбрать инструмент, который поможет «нарезать» сервер на мелкие части нужного размера.

SYSCP

Веб-панелей, распространяемых под OpenSource-лицензией, можно найти более десятка, но SysCP (System Control Panels, syscp.org) является, наверное, одной из самых популярных. История создания тривиальна: Флориан Липперт, основной и бессменный разработчик SysCP, администрировавший почтовый сервер на одном из хостингов, заметил, что часто добавлять и удалять учетные записи и субдомены с различными характеристиками не так удобно, как того хотелось бы. В результате он создал набор скриптов, существенно упрощающих процесс, который вскоре вырос в продукт, известный как SysCP. Первый релиз появился в середине 2004 года, и с тех пор проект находится в активной разработке. В том же году были сформулированы основные требования к принципам управления доменами в SysCP. Они просты и сегодня используются во многих подобных решениях: не создавать локальных (системных) учетных записей, управлять субдоменами и записями BIND, почтовыми адресами и пересылкой писем. В качестве языка программирования выбран PHP, все данные хранятся в базах MySQL, что ускоряет доступ и упрощает создание и удаление аккаунтов.

Возможности управления хостингом в SysCP впечатляют. На сегодня поддерживается управление большим количеством серверов: веб (Apache, Lighttpd), DNS (BIND9, PowerDNS), SMTP (Postfix, Exim4), POP3/IMAP (Courier, Dovecot), FTP (ProFTPd, Pure-ftpd), плюс системы сбора статистики. И это еще не все. Опционально могут быть установлены некоторые другие приложения и сервисы: Maildrop, ClamAV и Spamassassin, PHPmyAdmin, Roundcube, SquirrelMail, WebFTP и т.д.

Список приложений явно указывает на платформу, на которой можно запустить SysCP — только *nix. Сами разработчики рекомендуют Debian/Ubuntu и FreeBSD. В списке поддерживаемых на сайте проекта также значатся Gentoo Linux и openSUSE. Хотя SysCP прекрасно работает и в других дистрибутивах, в том числе и многочисленных клонах RedHat.
В панели реализовано три вида учетных записей, каждая из которых обладает своими возможностями: администраторы, реселлеры и пользователи.

Локализованный веб-интерфейс администратора позволяет создавать новые учетные записи, определять доступные ресурсы и лимиты, работать с реселлерами, задавая каждому его зону видимости.

Реализованы в SysCP также учет трафика, биллинг, удобная система тикетов, позволяющая организовать нормальную работу службы поддержки. А это немаловажно, учитывая, что оценка работы саппорта любого хостера ведется интернетчиками постоянно. Клиентская часть обеспечивает доступ к webmail и phpMyAdmin, дает возможность управлять субдоменами, паролями, базами данных, почтовыми записями, устанавливать пароли на каталоги, перенаправлять почту на определенный адрес. Активация функции Catch-all позволит «ловить» всю почту, поступающую в домен. Кроме того, реализовано множество других мелочей: установка шаблонов электронной почты, рассылка сообщений и так далее. Всего, наверное, и не перечислить.

Причем «для посмотреть» ставить SysCP вовсе не обязательно, проект предлагает демоверсию demo.syscp.org, где, пощелкав по ссылкам, можно спокойно сориентироваться в основных возможностях веб-панели. Сегодня пакет, реализующий SysCP, включен в состав большинства дистрибутивов Linux, поэтому его установка очень проста. Например, в Ubuntu/Debian:

$ sudo apt-get install syscp

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

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

ISPmanager

Панель ISPmanager (ispsystem.com/software/ispmanager) представляет собой многофункциональный инструмент управления сервером. Весь процесс, как и положено, происходит при помощи простого и интуитивного веб-интерфейса. Настройки производятся буквально за пару щелчков мышкой. Какой-либо суперподготовки не потребуется, достаточно лишь понимать задачу. Решение платное, стоимость, как и конечная функциональность, зависит от выбранной версии: Lite, Pro или Cluster. Список поддерживаемых ОС: FreeBSD, Linux, Windows (только в Lite-редакции). Ведутся работы по портированию ISPmanager на Solaris. Дистрибутив Linux, в принципе, может быть любой, разработчики рекомендуют Debian (для версии Cluster — только Debian) и CentOS. Большим плюсом решения является возможность объединения нескольких серверов с установленным ISPmanager в одну панель управления.

Чтобы установить ограничения на дисковое пространство, ядро должно поддерживать квоты. Но есть тонкость: если диск разбит на несколько разделов, то квоты будут поддерживаться только на том разделе, где размещены каталоги пользователей. В CentOS также обязательно отключаем SELinux.

Версия Lite ориентирована для внутреннего (персонального применения), например, в организации установлен VDS, на котором крутится несколько серверов, при этом нет надобности в функции перепродажи хостинга, системе тикетов и прочем.

Поддерживается управление следующими службами и ресурсами: веб-сервер (Apache, IIS), база данных (MySQL, PostgreSQL), почтовые серверы (Sendmail, Exim, Postfix или CommunigatePro), POP3 (Dovecot), FTP-сервер (ProFTPD, vsftpd), DNS-сервер (BIND9 или DNS служба Windows). Для доступа к почте используется веб-интерфейс SquirrelMail, сбор статистики реализован при помощи AwStats и Webalizer, управление БД — phpMyAdmin или phpPgAdmin. Если установлен Minimalist или MailMan, будет обеспечена работа со списками рассылки. Защита от спама реализована при помощи белых и черных списков, а также списков блокировки dnsbl. Есть удобная система бэкапа, импорта учетных записей, система статистики, файловый менеджер и прочие мелкие удобства.

Панель поддерживает несколько типов учетных записей: администратор, реселлер (в Pro и Cluster), пользователь, FTP и почтовый аккаунт, что позволяет делегировать права по назначению. Проект предлагает демоверсии Lite и Pro, с их помощью можно получить представление о продукте и его возможностях. Правда, количество демосерверов ограничено, поэтому иногда приходится подождать, пока освободятся ресурсы. Да, и через Google Ghrome в демосайт не зайти.

Самый простой способ установки дистрибутива — использование скрипта, для Windows предлагается exe'шник. Перед установкой нужно иметь активную лицензию, триал-версию на две недели можно заказать на сайте проекта. Процедура проста, единственное — потребуется указать белый IP, к которому будет привязана лицензия.

Далее все просто:

$ wget -c http://download.ispsystem.com/install.sh

Запускаем скрипт:

$ sudo sh install.sh

И отвечаем на ряд простых вопросов. В процессе установки будут загружены все необходимые файлы и установлены соответствующие пакеты. Единственный нюанс, который мне не понравился — скрипт, правильно определив дистрибутив как Ubuntu 10.4, добавил в / etc/apt/source.list репозитории от Debian, но убрал при этом ряд убунтовских строк. Поэтому рекомендую сделать бэкап этого файла перед установкой ISPmanager. Ошибки в процессе установки могут возникнуть лишь в том случае, если неправильно работает APT. Подправляем ссылки в /etc/apt/sources.list и повторяем установку. Далее все просто, главное — определить состав устанавливаемого ПО:

  • Install most popular software — установка готового набора хостера;
  • Minimal install (includes web server only) — будет установлен только веб-сервер Apache, все остальное можно будет добавить уже при помощи интерфейса ISPmanager;
  • Install all supported software (default for anything) — устанавливает ся практически весь набор ПО, в том числе и две СУБД — MySQL и PostgreSQL;
  • Gives you a choice of software — наиболее оптимальный выбор для опытного пользователя, так как есть возможность все выбрать и настроить вручную.

После установки переходим по ссылке https://IP-адрес/manager/ и регистрируемся с системной учетной записью.

Интерфейс управления прост и, можно сказать, стандартен для такого рода приложений. Слева размещаются параметры, разбитые на группы, в окне посередине показываются собственно настройки. Кнопки для создания, редактирования, удаления настроек расположены в панели в самом верху. В случае ошибок или недоступности некоторых установок здесь же в панели выдаются подсказки по дальнейшим действиям. В самом начале следует добавить еще одну учетную запись пользователя, а затем уже можно создавать виртуальные домены. Для быстрого доступа некоторые меню можно занести в «Избранное».

Также следует отметить наличие обучающих роликов и отличную документацию, доступ к ней можно получить на сайте проекта или по ссылкам в веб-панели.

DTC

Хостинг-панель Domain Technologie Control предназначена для управления веб, DNS, FTP или почтовым хостингом, в том числе и размещенном на VDS. Некоторые функции, реализованные в нем, недоступны даже в платных решениях. Например, мониторинг сетевой загрузки серверов, автоматическое изменение IP (вроде DynDNS.com), антивирусная и антиспам-защита (Amavis, Clamav, SpamAssassin), автоматический бэкап записей NS и MX между панелями, полноценный биллинг, система тикетов и многое другое. Хостинг-план включает выделенное количество веб-сайтов, записей электронной почты и FTP-аккаунтов, доменов и субдоменов, SSH и MySQL, с возможностью задания квот. Написан DTC на PHP, все настройки хранит в базе MySQL, из записей которой затем генерируются конфигурационные файлы для различных серверов. Собственно управление процессом осуществляет ся посредством локализованного веб-интерфейса.

Список поддерживаемых серверов также внушает уважение: Bind 8/9, MySQL, Apache (с поддержкой mod_security), PHP, Qmail, Postfix, Courier, Cyrus, Dovecot, ProFTPd, Pure-ftpd, NCFTP (upload), Webalizer, Awstat, гипервизор Xen и некоторые другие. Поддерживается три типа учетных записей: root-admin, клиент или virtual admin, почтовый клиент (только доступ к почте). Администратор сайта создает домен, устанавливает квоты и прочие настройки, далее доменом управляет virtual admin.

Минимальные требования: 128 Мб ОЗУ и 256 Мб swap. Но, например, сканер почты (антивирус и антиспам), в зависимости от нагрузки, может отбирать от 6 до 700 Мб оперативки. Поэтому чем больше нагрузка, тем мощнее должен быть сервер.

Приведенный на сайте список официально поддерживаемых систем весьма скромен: FreeBSD, RedHat, Debian, Gentoo и Mac OS X. Причем DTC — одна из первых веб-панелей, которая попала в репозитории большинства популярных дистрибутивов. Хотя в репах версия немного запаздывает, но разработчики для Debian/Ubuntu и CentOS предлагают собственное хранилище. Чтобы его подключить в Ubuntu, прописываем в /etc/apt/source.list: deb ftp://ftp.gplhost.com/debian/lenny main.

Поиск пакетов в репозитории по ключевому слову dtc выдаст 12 пакетов. В зависимости от выбранной комбинации будут установлены те или иные сервисы. Можно и самому установить все необходимые сервисы, а затем проинсталлить виртуальный пакет dtc или dtc-toaster, каждый из них предлагает базовую возможность веб-панели с минимумом зависимостей.
Другие пакеты (dtc-core, dtc-cyrus, dtc-postfix-courier) предлагают уже большее количество зависимостей. Конечно, такая установка поначалу кажется не очень удобной, но зато, разобравшись в зависимостях, затем можно ставить DTC под любые поддерживаемые конфигурации. К слову, в CentOS такой путаницы меньше. Ставим: sudo apt-get install dtc-toaster.

Если использовать aptitude, то будет установлено большое количество рекомендуемых пакетов, часть из которых окажется явно лишней. Можно просто отключить в настройках APT установку рекомендуемых пакетов. Для этого создадим файл:

$ sudo nano /etc/apt/apt.conf.d/20norecommends
APT
{
Install-Recommends "false";
Install-Suggests "false";
};

По ходу установки будет задан ряд вопросов по настройкам сопутствующих серверов и собственно DTC. Параметры последнего сохраняются в файле /var/lib/dtc/ saved_install_config (чтобы повторить процесс с самого начала, файл нужно удалить). Когда все пакеты будут установлены, запускаем скрипт: sudo /usr/share/dtc/ admin/install/install.

Скрипт проверит наличие всех файлов и библиотек, а также права доступа к ним, сгенерирует SSL-сертификат, запустит всех демонов. После чего начнет задавать стандартные вопросы: пользователь и пароль для доступа к MySQL, расположение файлов, пароль для доступа к веб-интерфейсу и др.

Затем можно регистрироваться, перейдя в браузере по адресу, который будет выдан в конце установки. По умолчанию для DTC создается поддомен dtc. Например, для домена synack.ru адрес будет http://dtc.synack.ru/ dtcadmin или https://dtc.synack.ru/dtcadmin.

Администраторы, использующие другие OC или дистрибутивы Linux, могут установить DTC из исходников, используя Git-репозиторий проекта или тарболл. Благо, этот процесс также не сложнее установки любого решения, написанного на PHP.

Проект предлагает демо-аккаунты, однако доступны они не всегда. Документация на сайте достаточно подробная, но в переводе я ее не встречал.

BAIFOX

Многофункциональные инструменты, подобные DTC, нужны не во всех случаях. Админам, обслуживающим небольшие компании, требуется что-нибудь попроще и полегче, например, чтобы можно было управлять виртуальными доменами веб-сервера. И все. Вот для таких ситуаций и разработана панель Baifox (baifox.org). Проект относительно молод и достаточно быстро развивается. Написан Baifox на PHP (совместим с PHP4 и PHP5), для хранения настроек используется база данных SQLite.

Интересно, что в качестве сервера, предоставляющего интерфейс, используется Lighttpd, а настройки управляют виртуальными узлами Apache. Интерфейс очень прост, минус — отсутствие русского языка. Но со знанием базового английского очень легко разобраться с настройками, а при желании и локализовать. Для каждого узла активируются свои параметры — разные опции PHP, поддержка cgi-bin, индексирования и т.д. Baifox также работает с BIND, Awstats, MySQL, PureFTPd и VPOPmail.

Кроме учетной записи админа, панель поддерживает и обычные учетные записи, при создании которых указывается количество доменов, лимит дискового пространства и трафика.
Панель пользователя содержит меньшее количество настроек. Клиент может добавить выделенное ему количество доменов, с указанием различных квот, запаса почтовых псевдонимов, аккаунтов и прочих характеристик тарифа. После создания домена его должен активировать главный админ. Пока он этого не сделает, об этом будет напоминать красный цвет значка напротив имени и сообщение вверху страницы. Админ просто выбирает отключенный домен в списке и нажимает кнопку Generate, а после того, как будут созданы новые настройки — ссылку «Restart service».

Для связи пользователя с админом используется e-mail, в отдельном меню находится готовая форма для отправки сообщений. Также в интерфейсе пользователя доступны наглядные графики использования квот.

Процесс установки в Debian/Ubuntu подробно изложен на странице baifox.org/?id=install_debian. Последовательно выполняем все инструкции, не отклоняясь ни на йоту. После установки Apache2 и Lighttpd последний не запустится, выдав ошибку, сигнализирующую о том, что порт уже занят. В архиве находится готовый конфиг для Lighttpd, которым подменяем дефолтовый файл. После чего Lighttpd будет перенастроен на порт 7777, естественно, номер можно изменить (параметр server.port). Для входа в вебинтерфейс используем логин/пароль admin/admin. Если некоторые настройки во время установки выполнены неправильно, то после регистрации ты увидишь сообщение, указывающее, где ошибка.

В общем, если нужно управлять виртуальными серверами и при этом тратить минимум времени на установку и изучение панели, то Baifox выглядит неплохим вариантом.

Заключение

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

Установка DTC в CentOS/RedHat

На мой взгляд, установка DTC в CentOS даже проще, чем в Ubuntu. Здесь нет такого количества альтернатив, и сам процесс обычно проходит без сюрпризов.

В репозитории CentOS уже есть пакет dtc, точнее, dtc.x86_64, устанавливающий совсем не то, что нам нужно — Device Tree Compiler. Поэтому добавляем два других репозитория (DTC и RPMforge):

# wget -q ftp://ftparchive.gplhost.com/yum/gplhost.repo \
-O /etc/yum.repos.d/gplhost.repo
# wget http://dag.wieers.com/rpm/packages/rpmforge-release/
rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

После чего команда «yum search dtc» выдаст список нужных пакетов, причем в CentOS явно прослеживается ориентирование на использование с Xen. Ставим пакеты:

# rpm -ivh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
# yum install dtc-postfix-courier

И запускаем установочный скрипт, например:

# /usr/share/dtc/admin/install/install --not-interactive \
--centos-init-daemons --mysql-pass PASSWORD \
--dtcadmin-pass PASSWORD
# service httpd start
# service named start
# chkconfig named on

Все, можно работать.

Хостинг-панель VHCS

В Virtual Hosting Control System (vhcs.net) поддерживается три вида учетных записей: админ, ресселер и пользователь. В зависимости от установленных прав можно управлять настройками виртуальных хостов Apache, DNS, почтовыми и FTP-аккаунтами, квотами, SSL-сертификатами и т.д. Пользователю выводится подробная статистика по трафику (за указанный период времени), наличию места на харде. Официально поддерживаются: Debian, Suse 9.3+, SLES 9+, Fedora, CentOS 4+. Сервисы: Apache + PHP, Postfix, POP3 и IMAP-серверы, ProFTPd, MySQL, BIND.

Последняя стабильная версия - 2.4.8. Распространяется под лицензией Mozilla Public License.

Links