четверг, 13 февраля 2014 г.

Как я на DigitalOcean перешёл

Я перешёл на VDS от DigitalOcean. Пока что эмоции положительные. Хочу рассказать, как я до этого дошёл и, по просьбе Димы, немного описания самого процесса регистрации и настройки веб-сервера.



Для случайных гостей, я - не системный администратор, не стоит воспринимать статью как мануал и пошагово следовать ему. Это всего-лишь описание моего опыта. Какие-то нюансы я раскрою, но для успешной установки веб-сервера, я советую Вам почитать соответствующие статьи и просто изучить, как работают ОС семейства Linux, DNS, Apache, почтовые сервера.



Почему Firstvds.ru - плохие

Последние 2 года я арендовал VDS у компании Firstvds. Предоставляемый сервис и цена действительно были хорошими. За это время по моим советам к этому же хостеру перешли 2 компании со своими корпоративными сайтами. Но в конце 2013 года вся эта радость начала кончаться, когда товарищи из Firstvds ввели такую услугу, как платная техподдержка. И убрали такую услугу, как обычная техподдержка. Платная помощь у них была и до этого. Если у тебя не получалось настроить себе сервер или установить что-то конкретное, можно было заплатить им денюшку (относительно не большую) и их администраторы решат вопрос. Так вот теперь за любое обращение нужно платить. На сколько помню, услуга стоит 250 рублей и включает в себя возможность открыть 5 тикетов. Т.к. одно обращение - 50 рублей. Как альтернатива, можно позвонить им по платному телефону за 50руб/мин.

Митя сейчас издевается надо мной и вспоминает мои слова, что введение платной техподдержки - это нормально. Я правда так считал. Если какие-то проблемы с сервисом - это всё анонсируется в соответствующем разделе, так для чего тогда нужна техподдержка? Что бы они объяснили тебе, новичку, что тут к чему. А за помощь нужно платить. Не то, что бы я поддерживаю такой подход. Всё же к своим же клиентам можно быть более лояльным и хотя бы помогать ссылками на мануалы, но в целом их понять можно было. Так я считал, пока в один день у меня не перестал работать сервер. Перезагрузка не помогала, он просто не работал. Я написал в техподдержку, они признали, что это их косяк и... списали деньги со счёта за обращение в техподдержку. Т.е. когда админу firstvds будет не хватать на пиво, он может уронить пару-тройку серверов и ждать, пока их владельцы сами не заплатят за устранение ошибки.

Стоит отметить, что Firstvds стояла на том, что они сделали платную техподдержку, но за счёт этого смогли сделать более выгодные тарифы. Чуть-чуть прибавили мегабайт оперативки, чуть-чуть прибавили гигабайт жёсткому. но! НО! Все эти бонусы распространялись на новые сервера. Т.е. надо было удалить свой и создать новый сервер, что бы получить эту прибавку оперативки и жёсткого. А я за теже деньги продолжал пользоваться "старым" пакетом. Почему? Кто не знает, смену сервера можно сравнить с "переустановкой винды", каждый этим занимался, вроде бы дело полезное и результат хороший, но сил и времени потрачено, какие-то данные утеряны, весь софт ставить заново..

Последней каплей стало то, что с середины февраля Firtsvds ввела плату на ISPmanager - панель управления веб-сервером. Панель позволяет создавать поддомены, почтовые ящики, базы данных и прочее. Мол, firstvds не смогли договорится с ISPsystems и последние хотят, что бы лицензия ISPmanager оплачивалась в полном объёме. Для моего тарифа стоимость ISPmanager - 150 рублей.
Забавный факт, Firstvds и ISPSystems - почти одно и тоже. У этих компаний один директор. Как говорилось в официальном(!) заявлении, компании не смогли договорится. Видимо, у директора раздвоение личности и они друг с другом не ладят.

Так вот, год назад я имел сервер, техподдержку и панель управления за 150 рублей, теперь мне предлагают тоже самое за 150+250+150=550 рублей. Такой вот бизнес по-русски.

DigitalOcean.com - наш выбор

Было решено переходить на DigitalOcean. Я не работал с ними и о качестве ничего сказать не могу. Выбор пал именно на этого хостера, т.к. компания одна из крупнейших (а это внушает доверие) и не раз получала положительные отзывы на Habrahabr (в целом, я доверяю мнению этого сообщества). DO предлагает VDS, первый тариф стоит 5 долларов, то что надо! Почти как раньше было на Firstvds. Из минусов, ближайший сервер DO находится в Амстердаме (в итоге я там и арендовал), т.е. пинг из России будет побольше, чем пинг до московских дата-центров. Зато DO предоставляет 20гб на SSD, а значит сам сервер будет работать шустрее.

Ещё один минус, у DO нет панели управления веб-сервером (как и у большинства хостеров VDS), но есть множество образов ОС и возможность поставить на них что угодно. Что я и сделал, купил сервер, установил туда Ubuntu 13.10, установил бесплатную панель управления, Apache-php-mysql.

Что сначала? Сначала нам нужно зарегистрироваться!
Идём на digitalocean.com, создаём аккаунт. DO предлагает нам ввести данные карты или paypal. Странно, но привязка карты - обязательный шаг, даже если на счету DO есть деньги.
Там же на странице биллинга внизу есть форма для ввода промо кода. Коды публикуются довольно регулярно, их можно нагуглить или найти в твиттере DO, как я и сделал. Последний код публиковался в начале января, не знаю, действителен ли он на данный момент, если нет - придётся мониторить твиттер. Лично я ввёл промо код на 10 долларов, а это 2 месяца VDS! В декабре были коды на 50 баксов, раздачу которых я успешно пропустил. Кусаю локти. 

С оплатой разобрались. Теперь нам доступна кнопка Create, которая открывает форму создания Droplet, т.е. сервера.

Придумываем имя сервера и выбираем тарифный план. Я остановился на первом.

Выбираем регион дата-центра, в котором будет находится сервер. Выбираем ближайший, для меня это дата-центр в Амстердаме.


Далее выбираем образ операционки. Можно выбрать одну из многочисленных версий "чистых" операционок или образ с предустановленным софтом (вторая вкладка). Я считаю, что нужно ставить "чистую" систему и настраивать под себя. Могу посоветовать Ubuntu или CentOS. Хватает 32х-битной версии, оперативки то у нас не много, но я, почему-то, взял себе 64х-битную Ubuntu 13.10, не могу аргументировать свой выбор :-)

В настройках оставляем всё как есть, создаём сервер!

Сервер создаётся не мгновенно, нужно чуть-чуть подождать. На почту приходит уведомление с root-паролем, а в списке мы видим новый сервер.

При клике на название, мы попадаем в панель управления сервером.
Есть всё необходимое и ничего лишнего :-) Подробно описывать каждую кнопку не буду, в Интернете есть мануалы и даже на русском.

На данный момент у нас есть работающий сервер, на котором нет ни панели управления веб-сервером, ни самого веб-сервера. Начнём с панели, я установил себе Vesta Control Panel. Инструкции есть и в гугле, но подходит официальный мануал. Да, панель устанавливается в 3 строки в консоле. Заходим по SSH на сервер (логин root, пароль у нас на почте лежит). Я использую терминал Linux, для винды есть свой ssh-клиенты. Либо можно воспользоваться веб-консолью в панеле управления сервером DO, большая кнопка Console Access. Далее, качаем инсталятор, запускаем его.
Инсталятор, кроме самой панели, поставит и всё остальное: apache, php, mysql и т.д. После завершения установки, в консоле будет написана ссылка на панель и логин-пароль. Ссылка имеет вид https://111.111.111.111:8083 , где 1111 - ip сервера.

Заходим, логинимся.

Попадаем в панель урпалвения, вот так она выглядит.

Если в верхнем-правом углу кликнуть по логину, попадаем в настройки профиля. Где, в том числе, можно поменять язык панели.

Опять же, весь интерфейс панели описывать не буду, есть в Интернете.

Спорный вопрос по поводу DNS. По идее, используется DNS сервер от DO, а не локальный (вкладка в панели относится к локальному), но пока я не прописал там свой домен - он у меня не заработал. Совпадение? Ну пускай, пропишем его, указав NS от DigitalOcean. Поддомены в будущем здесь прописывать не нужно!

Переходим в вкладку WEB, здесь создаём записи на домен и на поддомены. Запись в этом разделе создаёт директорию, которая будет доступна по http для этого адреса.

Во время создания домена или поддомена, не создаём запись в DNS (это, опять же, относится к локальному DNS серверу, а мы используем сервер DO). Почтовый домен актуален для основного домена, поставив здесь галочку, домен создастся и в разделе MAIL панели и мы сможем создавать ящики в этом домене.

На FTP заходим используя пользователя VestaCP. По умолчанию логин admin и пароль, сгенерированный после установки. Ищем папку public_html.

Веста установила нам PHP5.5. В принципе, всё готово для работы, только я использую короткие теги PHP, как и многие движки, поэтому придётся включить их в php.ini.
Соединяемся по ssh, открывает файл настроек:
sudo nano /etc/php5/apache2/php.ini
Ctrl+w - поиск, ищем short_open_tag. Если не находит, ещё раз Ctrl+w, сразу Enter.
Находим short_open_tag, ставим On, Ctrl+o - сохранить, Ctrl+x - выходим.

Что-бы применить изменения, перезагружаем веб-сервер:
sudo service apache2 restart

Лично у меня были проблемы с почтовым сервером. Отправлял, но не принимал письма. Помогла перезагрузка сервера (отключение и включение питания в панели управления DO) и остановка и запуск процессов:
sudo service exim4 stop
sudo service dovecot stop
sudo service exim4 start
sudo service dovecot start
Если честно, не помню, нужно ли запускать через sudo или просто.

Ещё мне нужно было залить базу со старого сервера. Сделал экспорт в sql файл, залил его по ftp. По ssh переходим в каталог пользователя admin, который открывается при заходе по ftp:
cd /home/admin/
Если sql файл там, заливаем его:
mysql -u MYSQL_USER -p'MYSQL_PASSWORD' MYSQL_DATABASE_NAME < mysqlbackupfile.sql

База создаётся в Vesta.


После загрузки файлов нам остаётся только одно, переключить домен на новый сервер.
Идём к регистратору, прописываем NS сервера:
NS1.DIGITALOCEAN.COM
NS2.DIGITALOCEAN.COM
NS3.DIGITALOCEAN.COM
Напоминаю, что DNS-записи обновляются от сразу, до 72 часов. Обычно несколько часов.

Что бы домен заработал у нас, его нужно прописать в DNS сервере DO, делается это в аккаунте DO в разделе DNS.
Добавляем домен, сразу выбираем из списка наш сервер - ip подставится сам. Пишем домен. Поддомены создаются тут же. Никакие записи в DNS у регистратора уже делать не надо, просто добавляем домен и пишем subdomain.domain.com, так же указав ip сервера. Если домен и поддомен зарегистрированы тут и созданы в разделе WEB в Vesta - по ним будут открываться страницы-заглушки (конечно, если DNS обновились. Поэтому создание домена/поддомена - не минутное дело).


Вот и всё =)

Скорость работы сервера хорошая, скорость загрузки/отдачи тоже. Был один вопрос, открыл тикет в Support'e, ответили через 24 минуты, дали ссылку на статью по моему вопросу (самому нагуглить не получилось), вежливо предложили писать ещё, если остались вопросы. В общем, я пока доволен этим сервисом :-)

5 комментариев:

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

    ОтветитьУдалить
  2. Здравствуйте!
    Подскажите, пожалуйста, как добавить домен в зоне .рф в панели?

    ОтветитьУдалить
    Ответы
    1. Вечер добрый.
      Не было особого опыта работы с кириллическими доменами. Подозреваю, что всё тоже самое, только если система не принимает кириллицу, нужно перекодировать домен через punycode и использовать получившийся домен, например xn--80arbjktj.xn--p1ai
      ссылка на первый конвертер из выдачи гугла: http://wwhois.ru/punycode.php

      Удалить
    2. Доброе утро!
      В панель кириллицей домен добавился, а вот в DO только через punycode. И теперь возникла проблема с SSH как бы я не прописывал путь хоть кириллицей, хоть перекодированный выдает ошибку. Как правильно указывать папку домена?

      Удалить