В современном интернете сайтами обзаводятся все - от крупных компаний до отдельных индивидуумов, которые просто обозначают свое присутствие в паутине. Спрос рождает предложение, и сегодня быть хостером весьма прибыльно и перспективно. Принцип заработка стандартен: покупаем много и дешевле, а продаем частями и дороже. Осталось выбрать инструмент, который поможет "нарезать" сервер на мелкие части нужного размера.
Многофункциональный 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 (ProFTP, PureFTP), плюс системы сбора статистики. И это еще не все. Опционально могут быть установлены некоторые другие приложения и сервисы: Maildrop, ClamAV и Spamassassin, PHPmyAdmin, Roundcube, SquirrelMail, WebFTP и так далее.
Список приложений явно указывает на платформу, на которой можно запустить SysCP - только *nix. Сами разработчики рекомендуют Debian/Ubuntu и FreeBSD. В списке поддерживаемых на сайте проекта также значатся Gentoo Linux и openSUSE. Хотя SysCP прекрасно работает и в других дистрибутивах, в том числе и многочисленных клонах RedHat.
В панели реализовано 3 вида учетных записей, каждая из которых обладает своими возможностями: администраторы, реселлеры и пользователи.
Локализованный веб-интерфейс администратора позволяет создавать новые учетные записи, определять доступные ресурсы и лимиты, работать с реселлерами, задавая каждому его зону видимости. Реализован в SysCP также и учет трафика, биллинг, удобная система тикетов, позволяющая организовать нормальную работу службы поддержки. А это немаловажно, учитывая, что оценка работы саппорта любого хостера интернетчиками ведется постоянно. Клиентская часть дает возможность управлять субдоменами, паролями, базами данных, почтовыми записями, устанавливать пароли на каталоги, доступ к webmail и phpMyAdmin, перенаправлять почту на определенный адрес. Активация функции Catch-all позволит "ловить" всю почту, поступающую в домен. Кроме этого, реализовано множество других мелочей - установка шаблонов электронной почты, рассылка сообщений и так далее. Всего, наверное, и не перечислить.
Причем "для посмотреть" ставить SysCP вовсе не обязательно, проект предлагает демоверсию demo.syscp.org, где, пощелкав по ссылкам, можно спокойно сориентироваться в основных возможностях веб-панели.
Сегодня пакет, реализующий SysCP, включен в состав большинства дистрибутивов Linux, поэтому его установка очень проста. Например, в Ubuntu/Debian:
$ sudoapt-getinstall syscp
Правда, пакетная установка имеет один отрицательный момент, который касается, впрочем, и других подобных проектов. Конечный состав устанавливаемых приложений (веб, почтовый, FTP cервер и т.д.) зависит исключительно от предпочтений разработчика, собиравшего пакет, и соответственно указавшего зависимости. Если тебя дефолтный вариант не устраивает, придется добавлять альтернативу и переконфигурировать сервисы самостоятельно.
Установку из исходных текстов также нельзя назвать сверхсложной, она схожа с развертыванием любого приложения, написанного для LAMP. Хотя, учитывая множественные зависимости, просто нужно быть внимательным.
Управление ресурсами в SysCP
Простой ISPmanager
Панель ISPmanager (ispsystem.com/software/ispmanager) представляет собой многофункциональный инструмент управления сервером. Весь процесс, как и положено, происходит при помощи простого и интуитивного веб-интерфейса. Настройки производятся буквально за пару щелчков мышкой. Какой-либо суперподготовки не потребуется, достаточно лишь понимать задачу. Решение платное, стоимость, как и конечная функциональность, зависит выбранной версии - Lite, Pro и Cluster. Список поддерживаемых ОС - FreeBSD, Linux, Windows (только Lite). Ведутся разработки по портированию ISPmanager на Solaris. Дистрибутив Linux, в принципе, может быть любой, разработчики рекомендуют Debian (для версии Cluster только Debian) и CentOS.
Чтобы установить ограничения на дисковое пространство, ядро должно поддерживать квоты. Но есть тонкость: если диск разбит на несколько разделов, то квоты будут поддерживаться только на том разделе, где размещены каталоги пользователей. В CentOS также обязательно отключаем SELinux. Большим плюсом ISPmanager является возможность объединения нескольких серверов с установленным ISPmanager в одну панель управления.
Версия Lite ориентирована для внутреннего (персонального применения), например, в организации установлен VDS, на котором крутится несколько серверов, при этом не требуется функция для перепродажи хостинга, система тикетов и так далее.
Поддерживается управление следующими службами и ресурсами: веб-сервер (Apache, IIS), база данных - MySQL, PostgreSQL, почтовые серверы (Sendmail, Exim, Postfix или CommunigatePro), POP3 - Dovecot, FTP-сервер (ProFTPD, vsftpd), DNS сервер - BIND9 или DNS служба Windows. Для доступа к почте используется веб-интерфейс SquirellMail, сбор статистики реализован при помощи - AwStats, Webalizer, управление БД - phpMyAdmin или phpPgAdmin. Если установлены Minimalist или MailMan, будет обеспечена работа со списками рассылки. Защита от спама реализована при помощи белых и черных списков, а также списков блокировки dnsbl. Есть удобная система бэкапа, импорта учетных записей, система статистики, файловый менеджер и прочие мелкие удобства.
Панель поддерживает несколько типов учетных записей: Администратор, Реселлер (в Pro и Cluster), пользователь, FTP и почтовый аккаунт, что позволяет делегировать права по назначению.
Проект предлагает демоверсии Lite и Pro, они позволяют получить представление о продукте и его возможностях. Правда, количество демосерверов ограничено, поэтому иногда приходится подождать, пока освободятся ресурсы. Да, и через Google Ghrome в демосайт не зайти.
Самый простой способ установки дистрибутива - использование скрипта, для Windows предлагается exe'шник. Перед установкой нужно иметь активную лицензию, триал-версию на 2 недели можно заказать на сайте проекта. Процедура проста, единственное, потребуется указать белый IP, к которому будет привязана лицензия. Далее все просто:
$ wget-c http://download.ispsystem.com/install.sh
Запускаем скрипт:
$ sudosh 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) - устанавливается практически весь набор ПО, в том числе и 2 СУБД - MySQL и PostgreSQL;
Gives you a choice of software - наиболее оптимальный выбор для опытного пользователя, так как получаем возможность все выбрать и настроить вручную.
После установки переходим по ссылке https://IP-адрес/manager/ и регистрируемся с системной учетной записью.
Интерфейс управления прост и, можно сказать, стандартен для такого рода приложений. Слева размещаются параметры, разбитые на группы, в окне посередине показываются собственно настройки. Кнопки для создания, редактирования, удаления настроек расположены в панели в самом верху. В случае ошибок или недоступности некоторых установок здесь же в панели выдаются подсказки по дальнейшим действиям.
В самом начале следует добавить еще одну учетную запись, а затем уже можно создавать виртуальные домены. Для быстрого доступа некоторые меню можно занести в Избранное.
Также следует отметить наличие обучающих роликов и отличную документацию, доступ к ней можно получить на сайте проекта или по ссылкам в веб-панели.
Многофункциональный DTC
Хостинг-панель Domain Technologie Control предназначена для управления веб, DNS, FTP или почтовым хостингом, в том числе и размещенных на VDS. Некоторые функции, реализованные в нем, не доступны даже в платных решениях. Например, мониторинг сетевой загрузки серверов, автоматическое изменение IP (вроде dyndns), антивирусная и антиспам защита (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 такой путаницы меньше. Ставим:
$ sudoapt-getinstall dtc-toaster
Если использовать aptitude, то будет установлено большое количество рекомендуемых пакетов, часть из которых будет явно лишней. Можно просто отключить в настройках APT установку рекомендуемых пакетов. Для этого создадим файл:
По ходу установки будет задан ряд вопросов по настройкам сопутствующих серверов и собственно DTC. Параметры последнего сохраняются в файле /var/lib/dtc/saved_install_config (чтобы повторить процесс с самого начала, файл нужно удалить). Когда все пакеты будут установлены, запускаем скрипт:
$ sudo/usr/share/dtc/admin/install/install
Скрипт проверит наличие всех файлов и библиотек, а также права доступа к ним, сгенерирует SSL сертификат, запустит всех демонов. После чего начнет задавать стандартные вопросы - пользователь и пароль для доступа к MySQL, расположение файлов, пароль для доступа к веб-интерфейсу и др.
Затем можно регистрироваться, перейдя в браузере по адресу, который будет выдан в конце установки. По умолчанию для DTC создается поддомен dtc. Например, для домена tux.in.ua адрес будет - http://dtc.tux.in.ua/dtcadmin или https://dtc.tux.in.ua/dtcadmin.
Администраторы, использующие другие OC или дистрибутивы Linux, могут установить DTC из исходников, используя Git репозитарий проекта или тарболл. Благо, этот процесс также не сложнее установки любого решения, написанного на PHP.
Проект предлагает демоаккаунты, однако доступны они не всегда. Документация на сайте достаточно подробная, но в переводе я ее не встречал.
Окно настройки параметров работы DTC
Установка DTC в CentOS/RedHat
На мой взгляд, установка DTC в CentOS даже проще, чем в Ubuntu. Здесь нет такого количества альтернатив, и сам процесс обычно проходит без сюрпризов.
В репозитарии CentOS уже есть пакет dtc, точнее dtc.x86_64, устанавливающий совсем не то, что нам нужно - Device Tree Compiler. Поэтому добавляем 2 других репозитария (DTC и RPMforge):
После чего команда "yum search dtc" выдаст список нужных пакетов, причем в CentOS явно прослеживается ориентирование на использование с Xen. Ставим пакеты:
# /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
Все, можно работать.
Легкий 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, в отдельном меню находится готовая форма для отправки сообщений. Также в интерфейсе пользователя доступны наглядные графики использования квот.
Процесс установки в Debain/Ubuntu подробно изложен на странице baifox.org/?id=install_debian. Последовательно выполняем все инструкции, не отклоняясь ни на йоту. После установки Apache2 и Lighttpd, последний не запустится, выдав ошибку, сигнализирующую о том, что порт уже занят. В архиве находится готовый конфиг для Lighttpd, которым подменяем дефолтовый файл. После чего Lighttpd будет перенастроен на порт 7777, естественно, номер можно изменить (параметр server.port). Для входа в веб-интерфейс используем логин/пароль - admin/admin. Если некоторые настройки во время установки выполнены неправильно, то после регистрации ты увидишь сообщение, указывающее, где ошибка.
В общем, если нужно управлять виртуальными серверами и при этом тратить минимум времени на установку и изучение панели, то Baifox выглядит неплохим вариантом.
Baifox очень прост в настройках
Заключение
Панелей для управления хостингом не много, а очень много. Чтобы выбрать свой вариант, следует вначале определиться с сервисами и основными возможностями, которые должна обеспечивать такая панель. А после того как составлены требования, найти то, что нужно, будет очень просто.
Хостинг-панель VHCS
Приятно, что некоторым, когда-то популярным проектам, лишившимся поддержки, все-таки не дают умереть. Так случилось и с VHCS (Virtual Hosting Control System, vhcs.net), с форком которого - ispCP - мы уже знакомились. Текущая версия 2.6beta датирована январем этого года. В VHCS поддерживается три вида учетных записей - админ, ресселер и пользователь. В зависимости от установленных прав, можно управлять настройками виртуальных хостов Apache, DNS, почтовыми и FTP аккаунтами, квотами, SSL сертификатами и т.д. Пользователю выводится подробная статистика по трафику (за указанный период времени), наличию места на харде. VHCS очень просто устанавливается.
Официально поддерживаются: Debian, Suse 9.3+, SLES 9+, Fedora, CentOS4+. Сервисы: Apache + PHP, Postfix, POP3 и IMAP серверы, ProFTP, MySQL, BIND и iptables. Распространяется под лицензией Mozilla Public License.