Незаменимый помощник хостера - ispCP: решение для управления доступными ресурсами и сетевыми сервисамиСергей «grinder» Яремчук (grinder@ua.fm, tux.in.ua) Управление хостингом, даже при тщательно спланированной архитектуре и кропотливом выборе компонентов, кажется простым только на первый взгляд. По мере увеличения виртуальных пользователей следить за всем будет труднее на порядок. Все больше времени придется тратить на администрирование. Упростить эту задачу помогут специализированные решения вроде ispCP. Хостинг хостингу рознь, но раздача места на сервере может показаться стандартной и легко решаемой (ручной правкой конфигов или с помощью скриптов) только поначалу. Задач у хостера много: необходимо выделять и квотировать место на FTP- и Web-серверах, управлять субдоменами и DNS-записями, следить за использованием трафика и установленными лимитами, создавать учетные записи почтового сервера, администрировать базы данных. Также нужно не забыть про резервное копирование, борьбу со спамом и вирусами. Конечно, шаблоны и скрипты могут упростить работу, но каждое изменение конфигурации, например, добавление еще одного почтового адреса для субдомена, потребует вмешательства специалистов и денежек. Выход один – использовать программы, упрощающие управление виртуальным хостингом! У таких решений понятный графический интерфейс, и ориентированы они на обычного юзверя. Администратор или менеджер создают новых реселлеров и пользователей, параллельно активируя нужные им ресурсы: объем места под сайт и FTP, количество поддоменов, почтовых адресов и СУБД. Остальными параметрами (логины, пароли и т.д) управляют уже сами пользователи. Им предлагается упрощенная панель. По запросу «hosting» на сайте freshmeat.net нам предложат 170 ссылок. Однако под нашу задачу подходит всего десяток-другой проектов, да и то – лишь несколько обновляются регулярно. Тем не менее, оптимальную панель управления хостингом найти можно. Среди коммерческих – это CPanel, DirectAdmin, Plesk. Присутствуют и свободные продукты – доступные на халяву. Кроме лицензии, нужно внимательно ознакомиться с поддерживаемыми сервисами, которыми можно управлять при помощи этой панели. К сожалению, универсального решения на все случаи жизни не существует. Опыт показывает: чем больше проект поддерживает сервисов, тем больше вероятность, что с установкой придется повозиться. Еще один момент, на который следует обратить внимание – доступность локализованного интерфейса. На момент написания этих строк проблем с локализацией не было в SysCP, DTC, VHCS, ispCP. Есть средства для локализации в ISPConfig, но в последней стабильной версии 2.2.25 русификации придется уделить несколько больше времени, чем у конкурентов. Третья ветка ISPConfig, находящаяся в стадии активной разработки, с великим и могучим пока не дружит. Хотя система предлагает удобный интерфейс для локализации и при знании базового английского, потратив всего пару часов, легко сделать это самостоятельно. По моему мнению, самым простым в установке и настройке является ispCP – поэтому дальше речь пойдет именно о нем. Панель управления хостингом ispCPПроект ispCP (isp Control Panel, www.isp-control.net) возник в марте 2007 года как форк VHCS (Virtual Hosting Control Panel, vhcs.net). Последний представляет собой довольно мощное и удобное в работе решение, но, к сожалению, давно не обновлялся. Он содержит множество ошибок, в том числе связанных с безопасностью, и использовать его не стоит. Тем более, ему есть замена в виде ispCP. Кстати, настройки VHCS можно перенести в ispCP, правда, вручную. Исходный код доступен под лицензией GNU GPL v2. Для локализации используется GNU gettext. Интерфейс в настоящее время переведен на 28 языков, в том числе и русский. Текущее состояние перевода можно узнать по адресу www.isp-control.net/ispcp/wiki/translations. Документацией проект еще только начинает обрастать, но достаточно потратить на изучение ispCP час, и необходимость в ней уже отпадает. Установка ispCPМинимальные требования значатся такие: компьютер с процессором класса Pentium III 500 МГц, ОЗУ 256 Мб, 100 Мб свободного места на диске для установки. В процессе инсталляции понадобится подключение к интернету. Последняя версия (на момент написания статьи – 1.0.0 RC6) без проблем ставится на CentOS, RedHat, Fedora, Debian, Ubuntu, SUSE, openSUSE, Slackware, Gentoo, FreeBSD и OpenBSD. Для этих систем в подкаталоге ./docs/$YourSystem/$System-packages, в архиве с исходными текстами, уже есть готовые установочные скрипты. Вполне вероятно, ispCP можно заставить работать и в других дистрибутивах. Займет это лишь чуть больше времени. Сам процесс упрощен даже по сравнению с VHCS. Обновляем систему: $ apt-get update && apt-get upgrade Установку лучше производить на чистую систему. Присутствие «лишних» сервисов (например, Sendmail, Exim и т.д.) вызовет конфликт и приведет к остановке процесса. Устанавливаем пакеты для компиляции, MySQL и задаем пароль администратора: $ sudo apt-get install mysql-client mysql-server build-essential Скачиваем архив с сайта проекта и распаковываем его: $ tar xjvf ispcp-omega-1.0.0-rc6.tar.bz2 Для Ubuntu 8.04 LTS используем такую команду: $ sudo apt-get install $(cat ./docs/Ubuntu/ubuntu-packages-hardy) В процессе установки пакетов будут запрашиваться параметры отдельных сервисов:
Опционально можно заглянуть в файл configs/ubuntu/ispcp.conf и подправить ряд переменных. Но в большинстве случаев можно поинтересоваться им уже после установки и настройки. Компилируем: $ sudo make install Копируем все файлы из временного каталога в корень: $ sudo cp -Rv /tmp/ispcp/* / Далее нам понадобится рутовский терминал. Через sudo выполнить нижеследующие команды нельзя: $ sudo -s И ставим: # perl ispcp-setup Установочный скрипт начнет последовательно задавать вопросы (в квадратных скобках будут предлагаться значения по умолчанию). Сначала создается аккаунт для ftp-пользователя. Нажимаем <Enter>; пароль генерируется автоматически: Please enter ispCP ftp SQL user password. [auto generate]: Теперь отвечаем на вопрос о названии учетной записи phpMyAdmin и пароле для нее. После чего указываем логин (по умолчанию admin), пароль и e-mail администратора ispCP, IP-адрес второго DNS-сервера и активацию AWStats. На этом установка закончена. Не забываем удалить временные файлы! Веб-интерфейс ispCPРегистрируемся в системе, используя логин admin и пароль, указанный при установке. По умолчанию язык интерфейса – английский. Для локализации переходим в Setting -> Internationalization и нажатием кнопки Browse в поле Install new language указываем на файл russian, находящийся в каталоге language-file установочного архива. Затем нажимаем кнопку Install. Новый язык появится в поле Installed languages. Отмечаем его как Default и нажимаем кнопку Save. При необходимости аналогичным образом устанавливаем другие языки; пользователи сами потом смогут выбрать себе предпочитаемый вариант. Интерфейс визуально разделен на три части. Вверху располагаются шесть кнопок для доступа к основным настройкам. Их назначение понятно из названий: «Общая информация», «Управление пользователями», «Системные инструменты, «Статистика» и «Служба поддержки и Настройки». Выбор любого из них откроет специфические меню в левой колонке. Все настройки производятся в центре окна. После установки перейди в меню «Общая информация» -> «Статус сервера» и убедись, что все сервисы запущены и работают нормально. Также стоит удостовериться, что они настроены на автозапуск. Проще всего перезагрузить сервер и вернуться в это окно посмотреть статистику. Если работает, значит, можно не беспокоиться (иначе – правим стартовые скрипты). Перейдя в подпункт «Лог админа», можно просмотреть все события, связанные с работой ispCP (регистрация, создание пользователей, ошибки входа и т.д.). Изменить порт любого сервиса на нестандартный можно в «Настройки» -> «Порты сервера». А информация о параметрах системы, меню для обновления ispCP и мускула находятся в меню «Системные инструменты». Если ошибиться при вводе пароля, в первый раз будет введена задержка в 15 секунд, затем – в 30, а после третьей неудачной попытки IP блокируется на полчаса. Это поведение также можно изменить в меню «Настройки». В подпункте «Общие настройки» в поле «Password settings» выставляется минимальная длина пароля и (де)активируется режим строгого пароля. Режимы блокировки входа при неудачных попытках выставляются в поле «Определение атаки-перебора». По умолчанию всем пользователям будет доступен только один IP-адрес и домен, указываемый при установке. Если сервер имеет несколько сетевых интерфейсов или обслуживает несколько доменов, информация о них указывается в разделе «Управление IP-адресами», а при создании новой учетной записи реселлера или пользователя отмечаются доступные ему домены. Если трафик не безлимитный, стоит зайти в раздел «Настройка трафика сервера» и установить предупреждения и лимиты. В общем, управление сервером в ispCP довольно простое, – все работает после установки в режиме по умолчанию. В конфигурационные файлы понадобится заглядывать лишь при необходимости тонкой настройки под экзотическую ситуацию. После установки в системе присутствует только одна учетная запись со статусом администратора. Добавить другие, можно перейдя в меню «Управление учетными записями». В ispCP, в отличие от некоторых других решений, администратор сам не может отдавать отдельным пользователям запрашиваемые ресурсы. Эта функция возложена на реселлеров, роль которых могут играть менеджеры. Поэтому в этом меню администратор может создать других администраторов и реселлеров, а также переназначить реселлера или пользователя другому админу либо реселлеру. Здесь же можно просматривать список активных пользовательских сессий и при необходимости завершать их. В пункте «Почтовая рассылка» можно набрать сообщение и отправить его выбранной группе пользователей. Эту возможность обычно используют для оповещения об акциях, новых тарифах и т.д. Интерфейс реселлера несколько отличается от админского. Тут уже появились меню «Управление хостинг планами» и «Управление заказами». В первом настраиваются шаблоны хостинга под разные условия (лимиты места на диске, трафика, поддоменов, почтовых ящиков, стоимость и т.д.). Во втором устанавливаются шаблоны заказов хостинга и показываются новые заказы. Пользователи и псевдонимы доменов создаются в меню «Управление пользователями». При выборе пункта нас встречает пошаговый мастер, который поможет быстро настроить все параметры. При создании пользователя следует учитывать свои лимиты. Так, если лимит места на диске у реселлера 1 Гб, то при попытке дать пользователю больше места, получим ошибку. Так же, как администратор, реселлер может рассылать сообщения, но только «своим» пользователям (сделать можно из меню почтовая рассылка). Панель пользователя имеет все необходимое для управления доступными SQL-базами, доменами и псевдонимами, почтовыми ящиками и учетными записями FTP. Доступен и веб-интерфейс, позволяющий работать с электронной почтой прямо из браузера. Встроенный net2ftp обеспечивает доступ к файлам на FTP через браузер. При необходимости можно активировать защищенные зоны на веб-сервере или настроить Catch-all, то есть перехватывать всю почту, идущую в домен. По умолчанию ispCP создает резервные копии ежедневно. Доступ для восстановления информации можно получить из меню «Веб-инструменты» -> «Ежедневный бэкап». Жить будет прощеУстановка и настройка ispCP, как видишь, не сильно отличается от установки стандартной связки серверов. Но зато, если часто возникает необходимость в создании виртуальных серверов и почтовых аккаунтов, с установкой различных ограничений и работой с DNS, – ispCP и подобные решения на порядок упрощают жизнь администратору. Проект DTCОдной из наиболее функциональных хостинг-панелей можно назвать Domain Technologie Control (DTC). Поддерживает: Bind 8/9 (или совместимый), MySQL, Apache 1/2, PHP 4/5, Qmail, Postfix, Courier, Cyrus, Dovecot, ProFTPd, Pure-ftpd, NCFTP, Webalizer, Awstat, Amavis, Clamav, SpamAssassin, гипервизор Xen и некоторые другие. Список официально поддерживаемых систем, приведенный на сайте, небольшой: FreeBSD, RedHat, Debian, Gentoo и Mac OS X. Есть сведения о работе в NetBSD. DTC присутствует в репозитариях некоторых других дистрибутивов. Например, есть в Ubuntu (однако не самая последняя версия, поэтому подключают альтернативный дебиановский репозитарий «deb ftp://ftp.gplhost.com/debian/stable main»). Хотя это упрощает установку в Ubuntu, работать DTC в отдельных конфигурациях отказывается (причем, по разным причинам). Приходится тратить время на поиск и устранение проблемы. В остальном, это очень удобное решение, также поддерживающее несколько типов учетных записей. Интерфейс локализован. Домашняя страница проекта – www.gplhost.com/software-dtc.html. Модуль VirtualminВсем, кто пользуется Webmin, можно предложить модуль Virtualmin (www.webmin.com/index8.html), который позволяет через единый интерфейс управлять множеством виртуальных узлов Apache, BIND, баз MySQL и почтовых ящиков Sendmail или Postfix. Для каждого виртуального сервера создается новый пользователь, который может в дальнейшем самостоятельно администрировать свой участок. Для настройки используются имеющиеся для этих серверов стандартные модули, куда добавляются новые возможности, поэтому Virtualmin будет работать в большинстве конфигураций. Существуют две версии: GPL и коммерческая Pro (www.virtualmin.com). В последней дополнительно доступны HTML-редактор, настройка антиспам и антивирусной проверки, поддержка реселлеров и некоторые другие возможности. Проект System Control Panel (SysCP)Это одно из самых популярных решений, которое используется многими хостерами. Начало разработок датировано ноябрем 2003 года – первый релиз под лицензией GNU GPL был представлен общественности в июне 2004. Написан на PHP, для хранения информации используется MySQL. Как и прочие решения, умеет создавать зоны в BIND, поддомены, учетные записи, управлять почтовыми адресами и пересылкой писем – и многое другое. Поддерживаются: BIND или PowerDNS, Apache 1/2, PHP 4/5, Postfix, Courier, Dovecot, ProFTPd, Pureftp, Webalizer, аутентификация Cyrus-sasl. Опционально могут быть установлены: Maildrop, ClamAV и Spamassassin, PHPmyAdmin и SquirrelMail. Доступны три вида учетных записей: администраторы, реселлеры и пользователи. Интерфейс локализован. Установка последних версий очень проста. Домашняя страница проекта – www.syscp.org. DVDНа прилагаемом к журналу диске ты найдешь файл локализации интерфейса ISPConfig 3. INFOispCP 1.0.0 RC6 без проблем ставится на CentOS, RedHat, Fedora, Debian, Ubuntu, SUSE, openSUSE, Slackware, Gentoo, FreeBSD и OpenBSD. Используя хостинг-панель ispCP, можно управлять настройками Apache2 с PHP5, Bind9, MySQL, Courier, Procmail, Postfix, Postgrey, ProFTPd, AWStats, iptables, Sasl, rkhunter и некоторыми другими. WWWСайт проекта ispCP находится по адресу www.isp-control.net. WARNINGПеред выбором хостинг-панели следует четко определиться с требованиями, в частности с сервисами, которые нужно поддерживать. |