Блог компании DinoHost.ru

Архив Ноябрь 2008

InsPanel - хостинговая панель для Windows

Среда, 26 Ноябрь, 2008

Панель организации веб-хостинга для Windows InsPanel работает как и большинство других панелей сразу после установки, не требуя настроек конфигурации. Как свидетельствуют разработчики данной панели в InsPanel уделено большое внимание безопасности. InsPanel поддерживает почтовые решения на базе MDaemon, XMail, Merak и MailEnable, а также работает с технологиями ASP, PERL, CGI, PHP, MySQL, COLDFUSION MX, DNS, MS SQL.


Повышаем качество виртуального хостинга в условиях ограниченного бюджета

Среда, 26 Ноябрь, 2008

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

Чтобы объективно оценить качество хостинга, необходимо оценить потери за простой сайта. То есть выяснить, сколько денег потеряет владелец сайта, если его сайт по каким-либо причинам станет недоступным для пользователей. Для такой оценки нужно брать сайты тех владельцев, чья компания не может позволить себе иметь собственный дата-центр или собственные сервера по причинам слишком больших затрат на их содержание.

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


Создаем qVDS с помощью qemu

Вторник, 25 Ноябрь, 2008

Многим вебмастерам и хостинг-провайдерам хотелось экспериментировать на собственном сервере без риска и последствий, или же установить другую ОС. Такая возможность есть и уже достаточно давно существует. Мы говорим о технологии VDS, которая позволяет на базе одного физического сервера создать несколько виртуальных.

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

Чтобы решить подобную проблему и избавиться себя от подобных рисков, можно использовать qemu – открытую систему эмуляции как на уровне “железа”, так и на UML, работающую только на Linux.

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

Но при работе с qemu есть серьезные недостатки: прежде всего это слишком большое потребление ресурсов при эмуляции на базе целой системы. Данный минус не позволяет qemu конкурировать с такой технологией как OpenVZ. Вторым серьезным минусов при использовании qemu является то, что данный эмулятор использует GUI и довольно не удобен в работе, особенно, если канал сервера недостаточно мощный.

Чтобы избавиться от перечисленных недостатков, можно запустить qemu в режиме терминала. Для этих целей можно воспользоваться двумя образами: мини-образ Linux Debian в состоянии режима basic setup и уже предустановленную FreeBSD с предусмотрительно поднятым ssh-сервером. Скачать эти образы и скрипты можно по ftp - ftp://dedic.ru/qemu/, а можно создать их своими силами.

Для дистрибутивов Linux нужно скачать ISO-образ дистрибутива, конечно же, лучше, если это будет mini-образ. Все остальные элементы можно ставить по сети. После чего данный образ устанавливаем во временную директорию с помощью опции loop. Забираем отсюда ядро vmlinuz и initrd.img. После чего запускаем qemu с этим ядром и inird, а с помощью дополнительных опций передаем вывод на консоль. После того как qemu запущен, можно работать с виртуальным сервером через консоль. Понятно, что в этом случае использование графического инсталлятора излишне.

Если у вас FreeBSD сервер, все выглядит гораздо проще: нужно только включить в конфигурации comconsole и выполнить ее настройку, а далее перенаправить ввод-вывод в stdin/stdout.

Чтобы получить доступ с виртуального сервера в сеть на физическом сервере нужно активизировать форвардинг:
echo 1 > /proc/sys/net/ipv4/ip_forward
и включить выход с подсетки 127.20.0.2 (это IP-диапазон виртуальных серверов):
iptables -t nat -A POSTROUTING -s 172.20.0.0/24 -d 0/0 -j MASQUERADE
Чтобы получить доступ к виртуальному серверу для одного из реальных IP физического сервера, нужно задать обратный проброс:
iptables -A FORWARD -d 172.20.0.2 -i eth0 -j ACCEPT
iptables -t nat -A PREROUTING -d реальный.ip.тут -p tcp -j DNAT –to-destination 172.20.0.2

По материалам сайта dedic.ru


Php-скрипты: отдача и конвертация в статистику посредством nginx

Понедельник, 24 Ноябрь, 2008

Давайте представим себе следующую довольно распространенную ситуацию: ваш сайт создан посредством php-скриптов и базы данных MySQL. У каждого вебмастера рано или поздно наступает такой момент, когда сервер, на котором расположен ваш сайт, перестает нормально работать из-за резкого увеличения количества запросов пользователей. Что делать в подобной ситуации? Если вы искусственного ограничите количество запросов, тем самым вы отбросите ваших посетителей. Нарастить мощность сервера – слишком дорого, а на оптимизацию скриптов попросту нет времени. В этой ситуации вам поможет тотальная конвертация всего сайта в статический HTML код, после чего отдача кода при помощи nginx.

Для того, чтобы выполнить указанные меры решения проблемы, необходимо определить дискретность, отвечающую за обновление информации и с помощью команды wget сделать зеркальную копию сайта:
wget -m -q -k http://мой.домен/
Далее зеркальную копию сайта необходимо синхронизировать с директорией, из которой файлы будет обрабатывать nginx (предположим, что это /usr/local/html):
rsync -tgu –delete –force мой.домен /usr/local/html
Синхронизируем те файлы, которые при помощи команды wget не были скопированы в зеркальную копию, например, *.js - java скрипты:
rsync -a –include ‘*/’ –include ‘*.js’ –exclude ‘*’ /путь/к/файлам/сайта/ /usr/local/html/
В принципе вы сделали все, что нужно. Теперь осталось дело за малым: нужно запускать этот код каждый час (или реже), что позволит перенести всю нагрузку на nginx.
Если вам необходим сохраненный доступ к CMS для администрирования сайта, нужно добавить любой поддомен сайта на реальный IP и при необходимости войти в админку обращаться к нему


Работаем с HyperVM

Понедельник, 24 Ноябрь, 2008

HyperVM – это детище компании Lxlabs, предназначенное для управления виртуальными серверами (VPS/VDS), оснащенными web-интерфейсами HyperVM. С помощью этой панели управления можно управлять разными виртуальными серверами, созданными на разных платформах посредством различных технологий. Главное преимущество HyperVM заключается в исключительной простоте управления, для которой не требуются глубокие знания технологий виртуализации.

В данный момент HyperVM поддерживает технологии аппаратной виртуализации Xen и программной OpenVZ. В планах разработчиков HyperVM в ближайшее время ввести поддержку Windows и Solaris. Эти изменения позволят управлять данными системами с помощью единой консоли.

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


Надоело менять хостера? Так не меняйте!

Суббота, 22 Ноябрь, 2008

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

В большинстве случаев проблемы возникают не у хостера, не с его сервером и не по вине этого хостера, а именно из-за неразвитой инфраструктуры.

Вы должны это четко понимать, работая в сфере IT. В противном случае, Вы будете мучатся и менять каждые 2-3 месяца хостера при возникновении очередной проблемы. Это бессмысленно Проблемы периодически происходят у всех хостеров и во всех датацентрах в нашей стране, увы.

У неопытных клиентов, при первой проблеме, возникает желание сразу переехать к крупному, известному хостеру. Подумайте как следует! Не идите на поводу правила ухудшающего отбора. Крупным хостерам попросту некогда заниматься Вами - они не справляются с горой проблем, они не успевают обрабатывать все запросы от десятков тысяч клиентов. В итоге вы не получите более стабильный хостинг, а получите очень тормозную службу поддержки, которой нет до Вас дела. В качестве подтверждения моих слов, можете набрать в поисковой системе «служба поддержки не отвечает», «хостер лежит». Подставив имя любого известного хостера – Вы найдете море компромата.

Также не попадайтесь на ловушку от хостеров, обещающих 99,99% uptime (процент времени работы сервера в сети). Гарантировать это невозможно по той простой причине, что вышестоящие операторы (канальные провайдеры, датацентры) не дают гарантий хостеру. Поэтому uptime в 99,5 считается хорошим показателем для России.

Подумайте как следует и сделайте правильный выбор. Удачи!

С уважением,
Алексей Левин
ООО “Онлайн Центр”
Размещение и продвижение сайтов


MySQL и работа на русском

Среда, 19 Ноябрь, 2008

Нередко возникает проблема, когда есть два сервера, на которых стоит mysql в cp1251 и стандартная кодировка.

Решить эту распространенную проблему можно с помощью двух очень простых скриптов. Один из них создаст дампы всех баз, кроме системных. А другой поменяет базы с неправильной кодировкой на базы с правильной. Эти скрипты предназначены прежде всего для WHM/cPanel, однако могут использоваться и на других серверах.

Для начала работы нужно создать архив с дампами баз mysql посредством первого скрипта:

for i in `mysqlshow | grep -v + | grep -v ‘| Databases |’ | cut -d ‘ ‘ -f2 | grep -v horde| grep -v mysql | grep -v eximstats`; do mysqldump -f –compatible=mysql40 $i > $i.sql; done; tar czf dump1251.tgz *.sql; rm *.sql

В итоге будет создан файл dump1251.tgz. Это архивный файл, в котором будут храниться все дампы sql в нормальной кодировке. Затем переносим этот файл на другой сервер и восстанавливаем с помощью:

for i in `ls *.sql`;do b=`basename $i .sql`;yes | mysqladmin drop $b; mysqladmin create $b; mysql –default-character-set=cp1251 $b

После восстановления архива вопросительные знаки будут заменены русскими буквами.


Устанавливаем cPanel на VDS от keyweb.de вместе

Вторник, 18 Ноябрь, 2008

Виртуальный сервер, работающий по шаблону Fedora Core 4 в стандартной конфмгурации не имеет yum, то есть на такой VDS нельзя поставить другое ПО штатным образом в датацентре.

Для того, чтобы установить yum на такой сервер необходимо:

wget ftp://rpmfind.net/linux/fedora/core/updates/4/i386/yum-2.4.1-1.fc4.noarch.rpm
wget ftp://rpmfind.net/linux/fedora/core/updates/4/i386/libxml2-python-2.6.20-1.FC4.i386.rpm
wget ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/python-elementtree-1.2.6-4.i386.rpm
wget ftp://rpmfind.net/linux/fedora/core/updates/4/i386/rpm-python-4.4.1-23.i386.rpm
wget ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/python-urlgrabber-2.9.6-1.noarch.rpm
wget ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/python-sqlite-1.1.6-1.i386.rpm
wget ftp://rpmfind.net/linux/fedora/core/updates/4/i386/rpm-4.4.1-23.i386.rpm
rpm -Uvh *.rpm

Это заставляет yum работать на этом сервере. После установки требуется обновление с помощью yum update.

После установки обновлений можно перейти к установке самой cpanel:

wget http://layer1.cpanel.net/cpanel-universal-install.sea
chmod +x cpanel-universal-install.sea
./cpanel-universal-install.sea

Вот и все.


Как исправить ошибки в DNS зонах?

Понедельник, 17 Ноябрь, 2008

Сервера под управлением ISP System нередко дают сбой, который связан с созданием файлов зон, где для субдомена WWW указывается неправильный IP. То есть после такого сбоя сайты с www открываются нормально, а другие - нет.
Чтобы устранить подобный часто встречающийся сбой необходимо:

1. Заменить неправильные IP в доменных зонах посредством perl: perl -pi.bak -e “s/WRONGIP/CORRECTIP/g” /var/named/*.db, где WRONGIP - некорректный IP, а CORRECTIP - правильный.
2. Увеличить serail доменных зон с помощью скрипта zsu.

Это помогло исправить погрешности в DNS зонах и правильно открывать абсолютно все сайты.


Как оптимизировать VDS под файл-хостинг на nginx?

Понедельник, 17 Ноябрь, 2008

При использовании VDS в стандартной форме на сервере apache, со временем возникнет необходимость увеличить объем памяти. Ведь серверы apache занимают достаточно много памяти.

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

Давайте поставим на nginx VDS с Fedora Core 2 от keyweb, оснащенный yum:
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/gcc-3.3.3-7.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/pcre-devel-4.5-2.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/binutils-2.15.90.0.3-5.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/cpp-3.3.3-7.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/glibc-devel-2.3.3-27.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/glibc-headers-2.3.3-27.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/glibc-kernheaders-2.4-8.44.i386.rpm
wget http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/pcre-4.5-2.i386.rpm
rpm -Uvh *.rpm
wget http://sysoev.ru/nginx/nginx-0.4.13.tar.gz
tar xzf 0.4.13.tar.gz
cd nginx-0.4.13
./configure –prefix=/usr/local/nginx –without-http_charset_module –without-http_ssi_module –without-http_userid_module –without-http_access_module –without-http_auth_basic_module –without-http_empty_gif_module –without-http_gzip_module –without-http_rewrite_module –without-pcre
make -s
make install

После этого nginx установится в /usr/local/nginx с минимумом рабочих функций, то есть самый быстрый.

После чего необходимо настроить новый сервер на тдачу файлов по протоколу http. Напрмер вот так: nginx.conf:

worker_processes 1;
events {
worker_connections 1024;
}

http {
include conf/mime.types;
default_type application/octet-stream;

log_format main ‘$remote_addr - $remote_user [$time_local] $status ‘
‘”$request” $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;

access_log /dev/null;

tcp_nopush on;
keepalive_timeout 15;

server {
listen ваш_ip:80;
root /home/download;
}
}

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