Системы контроля виртуальных хостингов
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Разбираюсь с доступными системами администрирования виртуальных хостингов (пользовательскими контрольными панелями). Опережая некоторые вопросы отвечу: работаю над созданием хостиг-сервера.
(поэтому толком не занимаюсь этим сайтом)
В общем что уже посмотрел:
DTC, ISPConfig (2-ию и 3-ую), SysCP.
DTC - практически всем хорош (но появилось ощущение что есть лучше, гы-гы). Да, есть незакрытый баг, вроде ужасен. Ставил под CentOS.
ISPConfig - похож на предыдущий, но нет формы для самостоятельной регистрации пользователя, нет системы развертывания веб движков (то есть пользователю придется лезть в шел и распаковывать свой drupal, wPress, Joomla, ect), а туда дороги может и не быть. Про баги нечего не нашел. Ставил под Debian Lenny.
SysCP - пока не видел, но многообещающе... Пытаюсь поставить... но все как то не возьмусь в всерьез (с первого раза не вышло, читаю документацию :) ). Недостатком считаю отсутствие руководства установки именно под Debian Lenny.
GNUPanel - собираюсь попробовать сразу за SysCP, очень живой и бурный проект. Думал добраться до GNUPanel раньше, но забуксовал на том, с чем уже связался. Тоже задумана под Debian.
На что обращаю внимание:
- как часто обновляется проект (есть совсем мертвые, например некоторые из попавшихся аж от 2004 года)
- функционал (примерно одинаков, но важна русификация, а главное - чтобы весь функционал работал)
- история проекта (как давно начал работать, какие "дыры" известны и какие не закрыты)
В общем: кому посчастливилось иметь дело с этой темой?
Еще вариант - OpenPanel...
ispcp - очень не хилый вариант... по частоте обновлений... команда на подъеме.
как не удивительно, но старый Debian для таких систем идеален. Кто бы мог подумать. В общем запаситесь Etch, Sarge или еще чем по древнее.
PS изначально ошибочно упомянул OpenPanel вместо DTC. Прошу прощения
В общем в ispCP заработало все что было встроено...
Хорошая система, не умеет правда выдавать доступ на shell, что делает ее любительской...
DTC - поставилась легко, под CentOS ее ставить марока, а тут apt-get install ... и вперед! С места в карьер!
В общем сначала нужно apt-get install postfix а потом только apt-get install dtc
Потом он поставится, но ftp и pop3 не будет, нужно будет думать.
С ftp я разобрался, слегка поправил (по одному форуму) скрипт запуска ftp и заработало.
А с поп3 еще буду сегодня морочится.
В общем осталось 3 кандидата: ISPConfig, ispCP и DTC.
По навороченности DTC лучшая... но как сделать чтобы все заработало...
По русски об этом говорить нескем. Такие дела.
Что примечательно, на форумах DTC люди тоже часто отвечают сами себе :)
Как выяснилось после чтения документации (!), не смотря на всю ее скромность, удалось выяснить, что начинать установку нужно после правки списка репозоториев, обновления их базы данных (естественно) и только потом давать :
apt-get install dtc-toaster
но то выдаст такую ошибку:
apt-get install dtc-toaster
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
dtc-toaster: Depends: dtc-postfix-courier but it is not going to be installed
E: Broken packages
Чтобы этого не происходило установим пакет postfix-tls сами.
Перед выполнением постустановки
/usr/share/dtc/admin/install/install
выполните
updatedb
файл умолчаний для сасл:
/etc/default/saslauthd
В нынешней стабильной версии имеет ошибку. Нужно заменять строку OPTIONS=..."
на
OPTIONS="-r -c -m /var/run/saslauthd"
И вот тут:
Файл /usr/sbin/pure-ftpd-wrapper
строку my $daemon ='/usr/sbin/pure-ftpd'; меняем на my $daemon ='/usr/sbin/pure-ftpd-mysql';
pop3, судя по статусу, не работоспособен.
Проверил нового пользователя... не авторизуется...
Смотрим логи
Почта поднялась после обновления системы... ну что-же :), приятно.
Заранее (до начала установки) отредактируйте
/etc/network/interfaces
Иначе постоянные сбои разрешения имен вам гарантированы, и поправить resolv.conf придется не раз.
Получится вроде этого
# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
Поимел много мыслей, как избавить тот самый resolf.conf от затирания network-manager. Все в этом же файле в конец нужно добавить строку:
dns-nameservers <ваши сервера через пробел>
Наверняка потребуется проанализировать протокол загрузки. Вывод сценариев (скриптов) запуска можно посмотреть так:
- Кнопками Shift+PgUp/Shift+PgDn можно листать не влезающие в экран сообщения.
- При загрузке нажатием Ctrl+S можно остановить вывод сообщений на экран, Ctrl+Q -- продолжить.
- В файле /etc/default/bootlogd поправить BOOTLOGD_ENABLE=No на BOOTLOGD_ENABLE=Yes и с комфортом смотреть лог загрузки в файле /var/log/boot
Для Lenny должна быть установлена именно libnss-mysql-bg.
По умолчанию подтянется неизвестно что, поэтому проверяем:
server1:~# dpkg -l | grep libnss
ii libnss-mdns 0.10-3 NSS module for Multicast DNS name resolution
rc libnss-mysql 1.0-4 NSS module for MySQL
ii libnss-mysql-bg 1.5-1+b1 NSS module for using MySQL as a naming servi
ii libnss3-1d 3.12.0-5 Network Security Service libraries
Это плохой вариант!
Делаем:
apt-get install --purge libnss-mysql
Замем
apt-get install libnss-mysql-bg
После перезагрузки ошибка
libnss-mysql: Connection ti server 'localhost' faild: Can't connect to local MySQL server through socket
Пропала...
теперь другая!
server1:~# tail /var/log/auth.log
Jun 12 16:55:01 server1 sshd[3034]: libnss-mysql: Connection to server 'localhost' failed: Access denied for user 'nss-root'@'localhost' (using password: YES)
- pop3/smtp с шифрованием канала и пароля (ну на всякий случай!!!). Ящики заводит себе пользователь, какие хочет ))) (какие я ему разрешил). Разобраться нужно еще с сертификатами, а то у этих все поля пустые))), не красиво
- работает создание баз данных (в установленном количестве), shell в chroot (то есть безопасно для остальной системы) и ftp.
Как все это заработало, еще не знаю точно, сейчас буду делать чистовую установку, конспект обновлю (и отточу).
Перехожу потихоньку к настройке окружения пользователей, пока только MC прикрутил, ищу какую-нибудь софтину для автоматизации.
Далее (или вместо) будут пакеты для авто-инсталляции пользователями самостоятельно.
server1:~# dpkg -l | grep dtc
ii dtc-common 0.29.17-1 web control panel for admin and accounting h
ii dtc-postfix-courier 0.29.17-1 web control panel for admin and accounting h
ii dtc-toaster 0.29.17-1 web control panel for admin and accounting h
ii sbox-dtc 1.11-5 A CGI wrapper script for chrooted environmen
Завершаю установку (не настройку) другой (более новой версии). Версию покажу позже
В общем установка завершается ошибкой
Inserting DTC configuration inside /etc/postfix/master.cf
mkdir: cannot create directory `/etc/postfix/maps': File exists
При этом файл maps создает сам установщик (/usr/share/dtc/admin/install/install), то есть удалять его я пробовал. Вполне вероятно что я чего-либо не знаю о postfix, но пока новую версию отставляю.
Как ни странно (и в первый и во второй раз) авторизация на ssh заработала только с модулем
libnss-mysql а не libnss-mysql-bg
вопреки прочитанному на форумах.
Поэтому, после того как увидите что все остальное (pop3 и ftp) имеет статус "работает" удалите все файлы
/etc/libnss* и /etc/nss*,
установите libnss-mysql (который видимо уже исправили, и советы по его замене не актуальны более)
apt-get install --purge libnss-mysql
и запустите /usr/share/dtc/admin/install/install повторно (это не больно ))))
Повторная установка заняла совсем не много времени, час - полтора.
Переходим к обустройству нового сервера. Через 2 недели планируется публикация ресурса. Будет бесплатный хостинг, поэтому милости просим (куда - скажу потом). По секрету: домен хостинга будет называться comweb.org.
OSLINUX переедет на новый хостинг, как только тот докажет свою надежность,
Опуская эйфорию легкости настройки и высоких оценок сообщества DTC, работа еще не закончена. Хотя нет, опытный пользователь легко бы и так работал... но вот остальные... итак:
- работа cron в chroot (безопасная)
- установка ПО в chroot (изящная, копирование файлов по одному: ну не вариант!)
- их пакетов DTC
В общем общаюсь на их форуме, начал с cron.
Хороший chroot написать не поле перейти, выложу ссыль на неплохой man, как только все получится...
Как обычно дело тормозится закачкой. На этот раз качать пришлось debootstrap - минимальный образ системы.
С cron все пока плохо, ни одного подходящего руководства. Пока буду считать что крон можно настроить пользователю по заявке.
Опуская настройку установщика веб движков (он же установщик пакетов) я не разобрался с CRON, так ли это ужасно?
Нет, это не страшно, до установщика пакетов я признаться не дошел.
Все! Отсутствие работающего ограничение на дисковое пространство меня остановило.
К стати chroot я настроил, и то что получилось - меня устроило, гы гы. Пригодится.
Переходим к разбору на косточки ISPConfig.
Очень интересен ваш опыт. Продолжайте пожалуйста, очень ценная информация, чтобы не топтатся по граблям. ссылок побольше - можно прямо на треды форумов по DTC, которые посчитаете полезными. Про ISP Config тоже ждем.
Поставил, работает.
Есть интересный момент с конфликтом 2-х DNS, то есть MyDNS и BIND. Устраняется остановкой BIND и настройкой MyDNS на пересылку запросов.
В общем в /etc/mydns.conf нужно указать сереры пересылки dns запросов.
Первое впечатление, что ISPConfig 3 сложная, по сравнению с DTC, многое заставляет делать ручками:
- добавил сайт, зайди в меню dns добавь под него зону
- заводишь пользвателя, и часть параметров придется всегда указывать ручками, но мои пользовтели будут отличаться только именем и паролем... в общем много работы руками.
Не проверял работу квот, но вход в shell состоялся сразу. В общем пользователь видит все каталоги системы, и тех кто рядом с ним в /var/sites
П общем сегодня вечером будем добивать эту панель (по тестам).
Думаю все же DTC не так уж плоха, а shell на бесплатном хостинге нужен-ли? Но хочется получить что-либо универсальное, удастся ли?
Пожалуй, на сегодняшний день сыровата.
Я не ленивый, готов тестировать и сообщать об ошибках, но 3-яя версия этого чуда потому и "бета", что работает не стабильно и открывается это в течении 10-30 минут. Помимо главного, еще и интерфейс не вполне логичен (об этом уже писал).
Было бы достаточно стабильной работы, и интерфейс можно было бы переварить... но:
- вдруг перестали проходить авторизацию пользователи на ssh
- в списках шаблонов стали пропадать пункты (В базе я их вижу, а в интерфейсе нет. Виню ajax)
- не смог прикрутить ssl, вроде он должен работать, но почему-то выдает ошиибку, а ответов на форуме нет
Интересно, чем же все закончится?
Ставлю CentOS, которая рекомендована для Virtualmin.
Продолжим.
Ну что же, это подходящая система. Я использую редакцию GPL, существует еще Professional, но говорить я буду о первой.
По порядку о том, чего в ней нет:
- русификации (пока не нашел, это странно для вещицы под GPL)
- извещения пользователя о созданной учетной записи, то есть писать придется в ручную
- установщика веб(web) движков (распаковывать оные придется из под консоли или ftp)
- Счетов и встроенной системы заявок службы поддержки. Может они есть в расширенной (коммерческой) версии. Честно? Не интересно!
Зато отлично работают:
- квота
- авторизации, все (ftp, ssh, почта)
- DNS
Установка представляет из себя запуск сценария (с официального сайта) и ожидание закачки пакетов). Все.
Можно выбирать между MySQL и PostGRE,
После установки Virtualmin решил, что уставить phpMyAdmin можно на отдельный виртуальный хостинг.
Для корректной работы мне нужно было переименовать файл конфигурации и установить недостающий пакет. Все в порядке очередности:
- Качаем последнюю версию системы. В CentOS, ввиду отсутствия в официальных репозитариях (нестабильного) PHP 5.2.x качаем версию phpMyAdmin 2.11.9.5
- Распакуем архив в нашу веб директорию... О подробностях не тут.
- Переименуем файл
config.sample.inc.phpкакconfig.inc.php. В строку$cfg['blowfish_secret'] = '';добавим значение. Я записал значение из головы... но очень сложное ;) - Заходить на сервер следует по https, иначе будете долго думать в чем дело, но на MyPHPadmin не попадете
- Предупреждение при входе
Cannot load mcrypt extension. Please check your PHP configurationлечим установкойyum install php-mcrypt
Если в третьем пункте я не прав, поправьте меня. Я ставлю MyPHPadmin впервые.
Да... есть момент: проблему русского языка в Virtualmin так и не решил. Регистрируюсь на сайте www.virtualmin.com . Попробую узнать как это можно сделать... эээх!
Только сегодня завел ветку по проблеме русского.
Ждем новостей вооот тут.
MyPHPadmin --- phpMyAdmin ???
http://www.aoddy.com/2007/12/12/how-to-install-phpmyadmin-2113-on-centos-5/
а мой способ плохой? по ссылке не ходил... сейчас... потом схожу
....
По ссылке сходил, спасибо подсказку. Может как-то пригодится, но мой способ то-же работает.
Объедените уже посты, а то не совсем красиво смотрится...
Тоже поставил себе ISPConfig3 не удобная она, и Мозилла что-то не открывает, хотя, кеш и все остальное сбросил...
> Объедените уже посты, а то не совсем красиво смотрится...
Силюсь написать обзорную статью с обзором всего о чем написал тут, и кое чем еще. Пока написал процентов 10. А пока так ;)
Дописывайте про ISPConfig, или что еще попробуете сюда, сам с интересом бы почитал.
> Тоже поставил себе ISPConfig3 не удобная она, и Мозилла что-то не открывает,
Да-да, у меня подобное было, ничего сделать не смог. Дело видимо не в кеше, так как опера тоже теряет пункты в меню. Похоже плохо работает связка "клиент-сервер".
В IE отлично работает, только там верстка никакая, расползаются таблицы, хотя, может это и не верстки ошибка...
А можно листинг конфига mydns?
Жаль, похерил. Но если вы предложите дефолтный конфиг, я скажу что менял.
Годится?
Все ставил на виртуалку. У меня тогда было 2-3 состояние по каждой из испытываемых панелей. Место после удаления освободил гигов 20.
# DATABASE INFORMATION
db-host = localhost # SQL server hostname
db-user = ispconfig # SQL server username
db-password = e7dc385a2ff917f4d5c47b4f49f103cd # SQL server password
database = dbispconfig # MyDNS database name
# GENERAL OPTIONS
user = nobody # Run with the permissions of this user
group = nogroup # Run with the permissions of this group
listen = * # Listen on these addresses ('*' for all)
no-listen = # Do not listen on these addresses
# CACHE OPTIONS
zone-cache-size = 2048 # Maximum number of elements stored in the zone cache
zone-cache-expire = 60 # Number of seconds after which cached zones expires
reply-cache-size = 2048 # Maximum number of elements stored in the reply cache
reply-cache-expire = 30 # Number of seconds after which cached replies expire
# ESOTERICA
log = LOG_DAEMON # Facility to use for program output (LOG_*/stdout/stderr)
pidfile = /var/run/mydns.pid # Path to PID file
timeout = 120 # Number of seconds after which queries time out
multicpu = 1 # Number of CPUs installed on your system
recursive = # Location of recursive resolver
allow-axfr = yes # Should AXFR be enabled?
allow-tcp = yes # Should TCP be enabled?
allow-update = no # Should DNS UPDATE be enabled?
ignore-minimum = no # Ignore minimum TTL for zone?
soa-table = dns_soa # Name of table containing SOA records
rr-table = dns_rr # Name of table containing RR data
soa-where = server_id = 1 # Extra WHERE clause for SOA queries
rr-where = server_id = 1 # Extra WHERE clause for RR queries
use-soa-active = yes # To fix bug 295 where active or inactive status is ignored.
use-rr-active = yes# To fix bug 295 where active or inactive status is ignored.
Менял вот эту строку:
recursive = # Location of recursive resolver
Заменил на:
recursive = xx.xx.xx.xx
Где xx.xx.xx.xx - ip твоего (или не твоего) настоящего DNS.
После этого MyDNS стал отдавать адреса зон из Интернет, а не только твоих.
Не проверял работу квот, но вход в shell состоялся сразу. В общем пользователь видит все каталоги системы, и тех кто рядом с ним в /var/sites
JailKit поставил? Юзверю когда создаешь shell доступ надо устанавливать JailKit, тогда каждый юзер будет сидеть в своей папке с минимальным кол-вом прав. Удачи!
Вот до этого не дошло.
Понял что chroot это круто, но уж больно геморно в масштабах целого хостинга.
Как ты мог догадаться, прочитав тред, с chroot я дело поимел, а вот терять 200-300 метров чтобы запустить wget и mc с нативными для рашки кодировками (sic!) - это черезчур!
Вот до этого не дошло.
Понял что chroot это круто, но уж больно геморно в масштабах целого хостинга.
Как ты мог догадаться, прочитав тред, с chroot я дело поимел, а вот терять 200-300 метров чтобы запустить wget и mc с нативными для рашки кодировками (sic!) - это черезчур!
На всех нормальных хостингах есть chroot. А вот по поводу потери 200-300 метров, это ты о чем? Сам использую у себя на хостинге ISPConfig 3, для моих нужд достаточно. Возможно когда нить перейду на другую... Кстати если нужны всякие фишки тепа ресселеров и т.д. Лучше юзать ISPConfig 2, он еще поддержуется разработчиками.
А вот по поводу хостинг панелей в целом, почитай тут
> На всех нормальных хостингах есть chroot. ...
А почему Virtualmin не использует? Он конечно не нормальный, ведь если прога под GPL - то и работать она как бы должна, так как написана как бы для людей... так чтоли?
За ссылку спасибо, свободный биллинг востребован... особенно сейчас.
Спасибо за совет, я смотрел на нее, регистрировался и тестил демо.
В принципе вещь интересная, но требует денег на старте.
Привет!
Тебе при изысканиях не попадались хорошие скрипты, которые непосредственно включают-выключают сервисы, предоставляемые хостингом?
я с нуля написал систему управления хостингом, теперь хочу подсмотреть у кого-нибудь скрипты эти, а то сделал один для управления LAMP-сервисом (простой виртуальный хостинг на апаче), теперь интересно правильно ли я всё делаю или где-то есть фундаментальное заблуждение, на которое я наткнусь когда уже сделаю много скриптов
(если что, моя почта wharzouwko@garrifulio.mailexpire.com, готов поделиться всем чем угодно)
> я с нуля написал систему управления хостингом, теперь хочу подсмотреть у кого-нибудь скрипты эти, а то сделал один для управления LAMP-сервисом
О_о, Вы настолько суровы!
Здорово.
Ну отдельно я скрипты не искал. А в тех панелях что я описывал используются php, perl, реже С и реже С++
Добрый день. У меня к Вам два вопроса:
1. Какую систему Вы посоветуете для начинающего хостера?
2. Можете ли Вы помочь разобраться с установкой этой панели?
Я пробую поставить dtc, но что-то половина функций не работает.... :)
Как его в virtualmin создать?
> Я пробую поставить dtc,
попробуйте конечно
> но что-то половина функций не работает.... :)
это вы как узнали?
Телепатия?
> Как его в virtualmin создать?
а какие отличия от других уровней доменов?
Во-первых, phpmyadmin из dtc не открывается, во вторых, все время ругается поп3.
А ispCP Omega как Вам?
> phpmyadmin из dtc не открывается
а какая между ними связь?
> все время ругается поп3
это вроде решаемо
> А ispCP Omega как Вам?
Осталось неяркое впечатление. Попробуйте.
Может я неправильно выразился.
Уже существует домен второго уровня вида domainname.ru, как в панели управления именно этим доменом быстренько прикрутить домен третьего уровня, в cpanel это делается в два клика, а в virtualmin? или это только в virtualminPRO реализовано?
Да, точно, можно ж просто подправить ссылку в dtc так, чтоб пользователь переходил на страницу авторизации phpmyadmin. просто в dtc есть ссылка на phpmyadmin и я подумал, что перейдя по ней можно сразу попасть в phpmyadmin без ввода логина/пароля.
ispCP Omega по крайней мере дала мне доступ к ней с другого компьютера, я смог залогиниться в любой учетной записи. Все свои функции нормально выполняла, кроме того, что я не мог получить доступ по ftp. В остальном все было хорошо. Установка прошла достаточно быстро, правда парочки танцев с бубном избежать не удалось. Сейчас уже все точно не помню, но думаю сегодня попробовать ее поставить, тогда все расскажу и опишу. Я очень хочу сделать доступ по ftp и все никак не получается. Т.е., сам по себе доступ сделать не проблема, но вот какие дела: прикрутил я proftpd к mysql так, чтобы если у юзера нет папки, то она будет создаваться автоматом. Сделал, все хорошо, но Jooml'у установить я не смог. Точнее установить-то установил, а нормально работать у нее не получалось - опять проблема с фтп... И я уже надеюсь, что ispCP (dtc или Omega) при установке настроит все таким образом, чтоб и ВиртуалХосты поднимались по шаблону и фтп нормально будет работать. Ведь пишут же они, что установка должна проходить на "голую" систему, все остальное наша панель сделает сама.
P.S. На сегодня для себя я выделил в качестве кандидатов dtc-toaster и ispCp Omega. ISPconfig3 мне вообще не понравилась.
P.P.S. Если так пойдет дальше, то скоро можно будет делать здесь форум поддержки панелей хостинга :)
Может сильно я вредный, но пока не заполните персональную страницу - не скажу!
Заполнил :)



Похоже, на сегодняшний день, их помирить не удастся.
В общем если я не прав... поправьте.
Взялся за установку DTC снова, но под Debian Lenny.
Так как с GNUPanel проблемы ожидаются аналогичные с SysCP.
Debian Each поставлю на закачку... какая для сервера разница? Разве только отсутствие PHP5
______________________________
In the world without walls, who needs windows?