На протяжении двух лет этот блог отлично работал на бесплатном хостинге, но как известно ничего не бывает вечно бесплатным и в последний месяц хостинг без рациональных причин начал утверждать, что блог потребляет слишком много системных ресурсов, и отключать доступ к сайту. В результате наотключал настолько, что в индекс гугла вместо контента попала ошибка с превышенным лимитом ресурсов + реклама хостинга =). Ни мой код php, ни посещаемость не менялась, естественно проблема была не в блоге. Но замену хостингу искать пришлось. Большинство платных хостингов для веб-сайтов, которые мне попадались, были весьма дороги и их ресурсы по большому счету были избыточны для такого легкого бложика. Одним из рассматриваемых вариантов была организация домашнего веб-сервера на каком-нибудь недорогом малопотребляющем одноплатнике (вроде cubieboard), однако цена выделенного статического айпишника у моего провайдера оказалась большей, чем большинство платных хостингов. В результате был найден еще один вариант - это сервис http://lowendspirit.com/, предоставляющий выделенный VPS сервер всего за 3 евро в год! Собственно сейчас вы читаете блог, который запущен на этом сервисе. В данной статье я расскажу про свой опыт установки веб-сервера на данный VPS хостинг, с какими проблемами можно встретился и как их решить. Кому интересно - читайте продолжение статьи.

Что такое VPS?

VPS (Virtual Private Server) - технология виртуализации, которая позволяет создать на одной машине несколько виртуальных компьютеров. Для пользователя виртуальный компьютер ни чем не отличается от обычного: виртуальный компьютер имеет внешний ip адрес и пользователь может зайти на него по ssh и работать как на обычном компьютере: устанавливать любое ПО, редактировать системные настройки и т.д. VPS сервера от lowendspirit работает по технологии OpenVZ, и предоставляет ОС Debian Linux. Аппаратные ресурсы в VPS отводятся в ровном количестве всем виртуальным серверам. Lowendspirit предоставляет несколько вариантов серверов, расположенных в разных уголках мира и имеющий разные ресурсы, но все сервера по одной и той же цене. Я выбрал сервер в Далласе(США), который предоставляет трафик в 350 GB, оперативную память 256 MB, и 3 GB места на жестком диске. Этих ресурсов вполне хватит для несильно нагруженного веб-сервера.

Стоит отметить, что дешевая цена VPS на lowendspirit обусловлена практически полным отсутствием саппорта, в котором работает только один человек и только по самым важным вопросам. Так что для помощи нужно использовать форум. Если же вам позарез нужно обратиться в саппорт, вам придется отметить галочку "я соглашаюсь заплатить 3 евро за вопрос, если ответ на него был на форме, или если он вызван моими неправильными действиями". 

VPS сервер в интернете: использование IPv4

В силу того, что белые IP адреса 4ой версии весьма дороги, много VPS хостеров не предоставляют их для выделенных серверов. Вместо этого lowendspirit дает вам IPv4 адрес всей ноды (нода - физический сервер на котором запущено много виртуальных) а также предоставляет диапазон из 20и портов, которые проброшены с помощью NAT на ваш виртуальный сервер. То есть виртуальные сервера имеют только локальные IPv4 айпишники, на которые пробрасываются порты с внешнего айпишника ноды. Проброс порта - это правило на фаерволе ноды (например iptables), которое говорит о том, что если во входящем из интернета пакете указан порт из вашего диапазона, то этот пакет нужно отправить к вам. Такой подход позволяет вам предоставить доступ ко всяким разным сервисам, на которых можно задать свой порт (ssh, ftp, и т.д.), но веб-сервер обязательно должен работать на 80ом порте. Неужели lowendspirit нельзя использовать для веб-сервера с IPv4 адресом? Можно! Для этого используется технология реверсивного прокси. Реврсный прокси запущен на ноде, и имеет таблицу записей (правил) в которой указаны сопоставления доменных имен и локальных айпишников: он анализирует входящие http пакеты, просматривает, есть ли в них домен из таблицы, и если есть, то отправляет этот пакет на соответсвующий внутренний локальный айпишник, при этом не меняя 80ый порт. Соответственно все, что вам нужно сделать - это написать в саппорт с просьбой создать запись в таблице реверсного прокси для вашего домена. Затем можете просто указать в своих ns-серверах IPv4 айпишник ноды, установить веб-сервер на свой VPS и запустить его, и все! Я проверил - этот способ отлично работает, правда саппорт прочитал мой запрос только через неделю. Постоянно запрашивать записи при изменении старых или добавлении новых доменов не совсем удобно, по этому ниже я поведаю еще один способ.

VPS сервер в интернете: как "преобразовать" IPv6 адрес в IPv4?

Кроме IPv4 адреса ноды и двадцати портов, lowendspirit предоставляет пять постоянных IPv6 адресов, с доступом по всем портам. IPv6 адреса достаточно дешевые, поскольку их ресурс практически неограничен. По этому VPS хостеры часто раздают их налево и направо. Однако провайдеры "домашнего интернета" еще не скоро перейдут на IPv6 адреса. Даже не смотря на то, что в большинстве современных DNS-серверов, кроме записи А, есть запись АААА (в которой указывается IPv6 адрес сервера), в силу разных версий протокола IP, просто так из IPv4 сети к IPv6 серверу доступ получить не получится - для этого нужно, чтобы ваш IP-адрес также был 6ой версии.  Если в DNS домена настроена запись АААА, то быстро проверить свой сайт со своего IPv4 компьютера, можно с помощью бесплатного анонимайзера от google - просто заходите на http://translate.google.com, вводите домен и смотрите на свой сайт. Такая работа возможна, поскольку сервер гугла, с которого транслейт "заходит" на ваш сайт, имеет внешний IPv6 адрес. Но как же предоставить доступ по IPv6 адресу клиентам с IPv4? Оказывается это можно сделать с помощью так называемых сетей доставки и дистрибуции контента (англ. Content Delivery Network или Content Distribution Network, CDN). Узлы такой сети выступают в качестве DNS серверов, но эти сервера умеют "преобразововать" IP-адрес.

Одна из популярных, бесплатных CDN сетей это https://www.cloudflare.com/. Чтобы зарегистрировать свой nameserver в cloudflare, вам нужно зарегистрироваться, указать доменное имя, которое будет ссылаться на этот ns, добавить запись AAAA, указать регистратору на новые ns-ы от cloudflare (<name>.ns.cloudflare.com), и после этого всего зайти в Cloudflare Settings => Settings overview => и поменять поле Automatic IPv6 на "Full". На данный момент, домен блога работает в этой сети.

Если вас заинтересовал данный хостинг и вы как и я рискнете им воспользоваться, могу дать один совет: внимательно читайте письмо, которое пришло при оплате на email и информацию на сайте lowendspirit - там есть все что бы обосноваться на своем сервере.