Свой мини-хостинг (сервер) на DigitalOcean

Создаем себе веб-сервер на DigitalOcean с использованием VestaCP.

25.01.2015
77 комментариев
8 мин.

Я уже пол года как перевел все свои проекты и разработку с drupalhosting на DigitalOcean. Теперь я хочу поделиться, как я туда переезжал, и как там всё настраивал.

Причиной перехода с drupalhosting стал переход оплаты на $, а затем, всё это стало очень невыгодно, и всё это случилось до скачка курса. Мелкие сайты, визитки, посадочные страницы там всё же выйдет держать дешевле чем на самом дешевом варианте в DO, но все что имеет посещаемость и какую-никакую нагрузку, уже становится невыгодным.

Также немаловажный фактор стал что, возможно, я просто уже вырос из хостингов, и мне хотелось большего, так сказать, простора и контроля. На digitalocean я получил его в полном объеме, это полноценный выделенный облачный сервер, которым ты распоряжаешься как душе угодно. Никаких проблем не составит подключить дополнительные языки программирования, софт вроде Solr, Sphinx, Elasticsearch, обновиться до последней версии php и множество других плюсов. Разумеется, всё это требует настроек, поэтому я пишу данный гайд, как поднять свой сервер, не владея большими знаниями в администрировании (как у меня).

Скажу сразу, за эти пол года, я ни разу не столкнулся с проблемой, сервера не разу не зависли, не упали, никаких отказов и т.д. Работало всё как часы, при этом я смело ставил на сервер различные пакеты, и всё стояло как часы.

В текущем материале я напишу, как развернуть свой мини-хостинг. Почему мини-хостинг? Потому что на нём будет полноценная CP, с возможностью добавлять отдельных пользователей, тарифы и эти самые тарифы присваивать пользователям, по принципу хостинга. При этом у каждого будет своя защищенная область от других лиц. Отличная возможность предложить услуги содержания сайтов клиентов, если они настаивают на этом. А главный плюс в том, что у вас появляется полная свобода, и соотношение цена\качество просто отличное, даже с учетом текущего курса (!).

А теперь по порядку.

Преимущества DigitalOcean

  • Так как мы друпалеры, то разумеется, все мои проекты там на Drupal, и они работают чудесно. За каких-то 10$ я содержу 15 активных сайтов, и всё это работает отлично, ничуть не хуже чем на drupalhosting. При этом я в эти 10$ могу напихать еще, сколько угодно сайтов, при этом цена не изменится. На drupalhosting я за 6 из этих 15 сайтов, в последние месяцы платил более ~20-25$.
  • У данного VPS-провайдера, очень офигенное сообщество. Гайды по настройке, администрированию и прочим тонкостям присутствуют в полном объеме, а некоторые, уже переведены на русский.
  • Отличная поддержка, отвечают быстро и полно.
  • За пол года использования ни одного глюка, зависания, падения, перезагрузки без моего ведома.
  • За эти пол года у них была неполадка на серверах где хостится мой дроплет, за время решения мои проекты остались в сети и работали как прежде. Т.е. их проблема никак не задела меня, хотя относилась именно к этому датацентру. Причем, устранили её оперативно, за пару часов.
  • Полностью SSD-шные диски. Сейчас модно ставить на хостинги и сервера SSD диски, так как они очень быстрые. Но стоят они не дешево, а в таких масштабах и подавно накладная покупка. У большинства русских их нету, либо частично (под базу данных как drupalhosting), либо полность, но стоит такое удовольствие ой-ой-ой, почти десятикратно превышает у аналогов за рубежом. А с текущим курсом закупка их либо остановится, либо русские сервера на них подорожают раза в два.
  • Отличное соотношение цена\качество даже при текущем курсе. Всего за 5$ в месяц, можно получить сервер с 512мб оперативки и 20гб SSD. Такойже VPS на reg.ru, только с 10гб SSD, стоит 561 руб. По текущему курсу (64/$) на DO вам он обойтется в 320 руб., +10 гб SSD. Так что сами видите, даже при курсе в 100руб. за 1$ будет оставаться выгодным и конкурентоспособным среду отечественных хостеров.

Регистрация на DigitalOcean

Для начала нам необходимо зарегистрироваться на сайте. Для этого проходим по ссылке, и регистрируемся. Сложностей вызвать не должно. Придется привязать свою кридитку, или же заплатить 5$ с PayPal для активации (с карты ничего не снимается).

P.s. да, ссылка реферальная, можете перейти по обычной, но имейте ввиду, регистрируясь по реферальной, вы получаете 10$ на счёт в подарок сразу же. Вас не заставят их платить, вы вообще ничего не теряете, вы просто получаете 10$ и начинаете тратить. Отличный способ “попробовать” как гайд, так и хостинг на своих плечах не потратив ни копейки из своих денег.

Создание дроплета

На DigitalOcean, сервера называются дроплеты, вы можете создавать ограниченное кол-во дроплетов на один аккаунт, но всё это расширяется обращением в службу поддержки.

Итак, переходим на страницу создавния дроплета и для начала нам нужно дать название нашему дроплету и выбрать необходимую мощность сервера (тариф).

Тарифы.

Я назвал дроплет myhosting и для демонстрации выбрал тариф за 5$.

На этапе выбора региона следует учитывать географическое расположения датацентров. Если ваша цель Европа\Страны СНГ, то необходимо выбирать Амстердам. В некоторых случаях прокатит и Лондон, но учтите что он дальше Нидерландов, и пинг будет выше, причем ощутимо. Поэтому лучше не рисковать и выбирать Амстердам. А какой номер датацентра, разницы не имеет, просто выбирайте какое число больше нравится из доступных. Допустим, на момент написания, первый ДЦ полностью занят и там создавать дроплеты нельзя.

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

Далее выбор сервера\приложения и прочие возможности. Учтите, что хоть в приложениях и есть Drupal на Ubuntu 14.04, там всего-лишь настроенный вебсервер под один (!) сайт. Нам нужен сервер, и в текущем гайде я буду использовать Ubuntu 14.04

Выбор расположения и операционной системы.

После этого жмём зеленую кнопку “Create droplet” и дожидаемся установки дроплета.

Панель управления дроплетом

После создания дроплета, вас перекинет на панель управления дроплетом, а также, вышлют письмо с root доступами на сервер.

Давайте разберемся немного с панелью управления дроплетом.

Power

Power

На данной странице вы можете посмотреть небольшую историю по дроплету, выключить его, чтобы он не действовал, либо сделать hard reset (принудительная перезагрузка).

Access

Access

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

Resize

Данный раздел окажется для вас полезным, если вы захотите усилить свой сервер. Допустим, перейти на тариф за 10$. Это сделает переход безболезненным, потребуется лишь перезагрузка сервера.

Snaphots

Тут можно сделать “бэкап” всего образа сервера. Полезная опция при переносе на другой аккаунт. Также позволяет создать дроплет, настроить его и отдать клиенту по почте. А ему надо будет лишь принять его, при этом он получит полностью настроенный сервер.

Settings

Settings

На влкадке настроек, вы можете увидеть все технические данные по дроплету. Поменять ему ядро прямо из браузера (хотя  насколько стабилен такой процесс не знаю, его не было раньше и я не пробовал), восстановить дроплет из бэкапа (если они включены или сделан snapshot), а также просто переименовать сервак.

Graph

Тут вы увидете графики по нагрузке сервера и канала.

Destroy

А перейдя сюда, вы сможете полностью удалить свой сервак.

Делаем свой мини-хостинг

В случае успешной установки дроплета, на ваш email адрес должно было прийти письмо с данным для входа на сервер. Сервером мы будем управлять из консоли, следовательно, если у вас Linux\Mac OS, просто открываем терминал, если же у вас Windows, ищем в инете спец. софт, так как стандартная командная строка не умеет в ssh, вам необходим ssh-клиент. Единственный который я знаю и пробовал когда-то был Putty.

Теперь нам необходимо подключиться к своему серверу. Для этого в терминале нам необходимо написать ssh пользователь@ip_вашего_сервера. В моём случае будет так:

Подключение к серверу
ssh root@178.62.247.215

Консоль затребует у вас пароль, вы должны ввести тот что прислали вам на почту.

Если вы успешно зашли, вы должны увидеть примерно следующее:

Приветственное окно сервера через SSH.

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

Давайте поставим CP (Control Panel) для нашего сервера. В нашем случае, я буду использовать VestaCP. Она простая, легка (почти не грузит систему), очень хороший API, множество возможностей из коробки и она сама разворачивает вебсервер с nginx при установке.

Поэтому переходим к установке VestaCP, для этого в терминале пишем:

Установка VestaCP
curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh

У нас начнётся установка панели и веб-сервера. Первым делом он попросит вас согласится, для этого пишем y жмём enter, затем вводим свой email адрес. Затем он попросит ввести hostname, тут просто жмём enter. Потом начнётся установка. Там написано что займёт примерно 15 минут, но это не так, заёмет это минуту-две, даже на таком слабеньком сервере.

После успешной установки вы увидите следующее:

Экран терминала после установки Vesta.

Как вы можете заметить. Там указан адрес для входа в CP, логин и пароль от админа. Для начала нам необходимо переходить по IP, но когда вы подключите к сервиру домен, вы сможете заходить по адресу https://example.com:8083. Учтите, тут обязательно должен быть HTTPS и порт 8083.

По сути, на этом установки и настройка сервера уже завершена (лол). Он полностью готов к продакшену. Если вы более подкаыванный пользователей и вам интересно потыкаться самому - можете приступать. Те кто не уверен или нуждается в напутствии, пошли дальше.

Разбираемся в CP

Итак, заходим по нашему адресу, вводим admin и пароль указанный в терминале. Если всё ввели правильно, то попадете на главную страницу CP.

Интерфейс VestaCP

Давайте для начала сделаем его на русском языке. Справа у admin, на влкадке user, жмём edit, в поле language выбираем ru, сохраняем, получаем всё на русском.

Русский интерфейс.

Так привычнее, не так ли? А теперь давайте в кратце расскажу о важных и нужны вкладках.

Сначала по верхним:

  • Пакеты - проще говоря тарифы хостинга. У каждого пользователя свой тариф. Тариф может накладывать\снимать ограничения на определенный части сервера. Допустим, кол-во доменов, имеет ли пользователь доступ по FTP, максимально место на диске и т.д. и т.п. Всё как на хостингах, только правите тут вы сами.
  • Службы - тут можно увидеть все важные запущенные службы на сервер, отсюда можно перезагрузить как весь сервер, так и перезапустить определенные его части, например веб-сервер.

А теперь чуть пониже:

  • USER - тут управление всеми пользователями на серве. Удаление, добавление, блокировка и т.д.
  • WEB - управление доменами текущего пользователя.
  • DNS - управление DNS записями для доменов текущего пользователя. В нашем случае совершенно бесполезная вкладка (в разделе привязки домена будет рассказано почему, если в кратце, они управляются из digitalocean а не сервера).
  • MAIL - управление почтой. Не тестил, ибо все подключено на gmail.
  • DB - управление базами данных.
  • CRON - управление кроном сервера.
  • BACKUP - все последние бекапы, а также возможность создать прямо здесь и сейчас. Также тут можно скачать любой из бэкапов (в зависимости от кол-ва которое будет хранится).

А теперь давайте немного полезной информации. Все доступы к серверу пользователь имеет одинаковые связки. Т.е. всего один и тот же логин, пароль и адрес сервера. Вместо ip адреса сервера, в дальнейшем можно будет заменять доменом который прикреплен на данный ip.

Например, чтобы подключиться к серверу по ssh как админ, надо ввести следующее:

Подключение к серверу как пользователь admin
ssh admin@ip

А затем ввести пароль от пользователя admin. Кстати, по умолчанию, у всех тарифов, а следовательно и пользователей, будет отключен доступ к серверу по ssh. Вы можете его включить, зайдя в настройки конкретного пользователя и выставив параметр “Доступ по SHH” на bash, либо зайти в пакеты, и целому тарифу разрешить доступ по sh.

Для подключения по FTP:

  • Имя сервера\хост: IP или любой домен с этого IP
  • Логин: admin
  • Пароль: пароль пользователя admin

Добавление домена на сервер

Добавление домена, к сожалению, или счастью (?) делается через панель управления DigitalOcean, чем это вызвано я не знаю. Но занятие это не сложное. Допустим у нас есть домен example.com, чтобы его добавить, мы для начала должны зайти в панель управления DigitalOcean на пользователя, который является владельцем дроплета которому необходимо дать доступ к этому домену.

В панели управления DO слева есть ссылка “DNS”. Попадаем на страницу управления доменами, для добавления нового жмём “Add domain”. Заполняем поля:

  • Name: сам домен
  • ip address: ip адрес дроплета который получит доступ к домену, справа можно выбрать дроплет и ip подставиться самостоятельно
Добавление домена.

Жмём Create Domain и вы увидите примерно следующее:

Настройки DNS по умолчанию.

Но лучше сразу добавить все необходимые настройки. Для этого на странице есть кнопка Add record. При помощи неё мы можем управлять DNS записями домена (следовательно DNS раздел в CP просто ненужен).

Давайте сделаем так, чтобы помимо домена example.com мы также могли спокойно в дальнейшем добавлять evrething.you.want.example.com (т.е. поддомены любого уровня), в противном случае каждый поддомен придется прописывать тут руками. Для этого жмём “Add record” выбираем “CNAME”. В поле name пишем * а в поле хост указываем адрес сайта с точкой на конце.

Добавление NS записи.

Затем жмём create. Всё, этого достаточно. Вы можете добавлять и настраивать какие угодно записи, т.е. полностью управлять доменом. Если вы хотите пользоваться gmail почтой для данного домена, то жмём “Add record”, затем выбираем MX, и внизу будет кнопка для автоматического заполенный данных для gmail, просто жмём и всё готово. Для данного домена можете забыть о настройке надолго или навсегда :).

Теперь нам надо связать домен с сайтом. Заходим в нашу CP, переходим в раздел WEB и жмём “Добавить домен”. В поле “Домен” пишем наш домен example.com, IP не трогаем, снимаем галочку “Поддержка DNS” (зачем нам засрять NS записи которые не используются?), и если не хотите разворачивать почтовый сервер, также снимите галочку “Поддержка почты”. И жмём “Добавить”.

Добавление сайта.

Запускаем Drupal

Если вы всё сделали правильно, у вас уже должен работать сервер, и по адресу example.com открываться заглушка с названием домена. Но ведь нам нужен друпал, что делать? Для этого нам как минимум, не хватает базы данных.

Давайте создадим базу для друпала. Для этого в CP переходим на вкладку DB (там будет стандартная БД, можете удалить, а можете пользоваться прямо ею), жмём “Добавить БД”. Заполняем данные:

  • База данных: название таблицы БД, приставки с именем пользователя будет добавлена автоматически.
  • Пользователь: пользователь БД, приставка также будет добавлена автоматом.
  • Пароль для доступа.

После того как заполнили все эти три поля жмём “Добавить”, попутно можете удалить email адрес, если не хотите чтобы данный по БД ушли на почту.

Добавление базы данных.

Теперь время загрузить ядро друпала на сервер. Для этого воспользуемся FTP. Как подключаться я писал выше, подключаемся и отгружаем ядро в папку /web/example.com/public_html.

Теперь зайдя по адресу подключенного домена у вас должна запуститься установка друпала. Данные для базы указываем как выше. Т.е. в моём случае, база  и пользователь admin_example, а пароль mystrongestpassword. После чего всё как по старинке, уже можно работать с друпалом.

Если нужен еще один сайт. Подключаем домен (если он новый, в случае поддомена действий в DO не нужно), создаем домен и бд в CP, отгружаем друпал или что угодно.

Установка Drush

Как можно пользоваться Drupal не установив Drush? И мы займёмся его установкой, но только кое-что замечу. Делать это всё нужно из под admin. Т.е. в терминале подключиться по ssh admin@ip. Почему? Потому что он админ и в системе, и там можно выполнять команды без правд root пользователя, когда под root, всё выполняется из под него же, что выливается потом в недостаток прав у других. И вообще, забудьте о юзере root почти навсегда, он на крайние случае администрирования сервера.

upd от 22.10.15 - установку через pear уже не рекомендую, намного проще делать через композер, легче обновлять сам драш и переключаться между версиями, включать необходимую для конкретного проекта и т.д.

Установка через composer

Заходим на сервак под root и выполняем команды (устанавливаем Drush 7):

Если ранее стояла версия от pear, лучше удалить.

Удаление pear версии Drush
sudo pear uninstall drush/drush
composer global require drush/drush:dev-master
composer global update
ln -s /root/.composer/vendor/bin/drush /usr/bin/drush

Если ругается что уже есть usr/bin/drush, то выполняем следующую команду:

rm /usr/bin/drush

Далее выходим с рута logout и заходим под админом. Чтобы заработал драш у админа, достаточно написать:

composer global require drush/drush:dev-master

Всё, теперь драш будет работать у админа. Можете менять версии драша и т.д. локально только для админа. Новым пользователям придется выполнить эту команду для получения доступа к драшу.

Обновить drush можно командой:

composer global update

Установка Drush через pear

Итак вы зашли под админом, пишем в терминале (запрошенный пароль будет от админа):

sudo pear channel-discover pear.drush.org
sudo pear install drush/drush
sudo drush version

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

Теперь каждый пользователь сервера сможет пользоваться Drush.

Например, чтобы обновить версию Drupal у сайта example.com. Мы должны зайти под пользователем кому он принадлежит (admin), затем перейти в папку с ядром и обновить:

cd web/example.com/public_html
drush up -y

Немного подробнее о Drush можете прочитать тут.

Заключение

Всё, ваш сервак готов к труду и обороне. Полностью ваш, делайте с ним что хотите. И не забывайте, заходите с root пользователя только в крайних случаях, для всех остальных есть admin. Удачи.

Веб-сервер
Linux
Ubuntu
VestaCP
DigitalOcean

Комментарии

Niklan   вс, 25/01/2015 - 20:55

:D Да не, там запросы бы оптимизировать надо. Да и что-то у меня много клиентских сайто скопилось на поддоменах) Всё наполняют)

yeti   вс, 25/01/2015 - 22:25

Проблемы с MySQL на Vesta+DO были? Стандартный конфиг MySQL допиливали? Swap? Как-то тестировал Весту, но так и не поборол падение MySQL на DO. А как на форум панели не зайдешь - так посты про падения сервера: https://forum.vestacp.com/viewforum.php?f=32

Niklan   пн, 26/01/2015 - 07:40

Проблем не было вообще.
Конфиг не допиливал.
Свап на 2гб сделал.

За пол года никаких проблем и падений, и уж темболее с Vesta не было. Лучшей альтернативы просто не нашел. Кстати, если кто чего посоветует, буду признателен.

yeti   ср, 28/01/2015 - 18:55

Ubuntu 12.04+512Mb, swap 1Gb - vesta с одним сайтом и 1 (!) авторизованным пользователем - постоянные падения MySQL (конфиг по умолчанию), Ubuntu 12.04+1Gb, swap 1Gb - постоянные падения с 1 сайтом. Поскольку мне панелька нужна была "на посмотреть" да и нет полноценной поддержки nginx (nginx только с индейцем), поигрался с конфигом MySQL и плюнул (падения продолжались). Достойная альтернатива панелям - тока консоль, благо скриптов для быстрого развертывания сайтов на Git куча. Запустил, вбил хост, пользователя и пароль БД - и не надо никаких прокладок в виде панелей ))). Есть еще достойная панелька отечественного разработчика: Ajenti с дополнением Ajenti V - но V уже долго (более года точно) бета + только nginx c php-fpm.
Проблемы с Vestacp были не только у меня - для нормальной работы окола десятка drupal-сайтов для инстанса DO 1Gb коллегами с матами и курением форума панели был переписаны стандартные конфиги vesta чтобы прекратить падения.

Niklan   ср, 28/01/2015 - 18:58

Возможно мне просто свезло)

Ajenti пробовал пол года назад, что-то как-то мне не очень понравилось. Хотя сам сайт и идея прикольная, но вот у меня он нормально не завелся. Надо будет ещё разок попробовать)

По поводу консоли. Это разумеется что быстрее будет. Но вот у меня опыта администрирования вообще очень мало. Скажем так, базовые знания.  Я пытался разобраться, но всё это настолько показлось туманным для меня на тот момент и я рашил не городить дыры по криворукости своей на сервере, так как там клиентские сайты. У меня вечно проблемы с правами были. А все решения и гайды были на 1 сайт, или 1 юзера, т.е. без четкой структуры, отдельного пространства для каждого из пользователей. Типа чтобы сайт в /home/username/ хранился, а не в /var/www

P.s. пополазл по сайту ajenti, да, Ajenti V даже не видел пол года назад, т.е. даже вкладки небыло. Или ссылки для загрузки небыло, в общем его я вообще не помню.

Гость   пн, 26/01/2015 - 11:49

"В некоторых случаях прокатит и Лондон, но учтите что он дальше Нидерландов, и пинг будет выше, причем ощутимо."
Поэтому community.drupalife.com и разместил в Лондоне?

Niklan   пн, 26/01/2015 - 11:50

=D В Нидерландах он. Просто сервер перегружен проектами.

Niklan   пн, 26/01/2015 - 16:23

Получается самый дешевый сервак с ssd будет стоить 50 евро? Но зачем такой сразу же брать?

Возможно есть другие и даже лучше DO, пока не знаю, так что буду благодарен за советы.

Fonarik   ср, 04/02/2015 - 21:59

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

В drupalhosting меня всегда подкупала и подкупает отличная техподдержка. Подсказывают моменты, которые их на прямую не касаются. Если сайт плохо работает ,могут найти проблему и исправят ее.
Если вышла заплатка от уязвимости, то ставят всем сайтам

А если я на Digital Ocean, то все делать самому. Зато дешевле.

Fonarik   ср, 04/02/2015 - 22:40

Кстати, только что положил один свой сайт на DigitalOcean.

Решил значит проверит кто круче :) drupalhosting или D.O.

Взял более менее тяжелый сайт. И начал активно открывать на нем разные страницы.

Сначала провел экспиремент на D.O.  - он сдался прмерно на 10-й. Ошибка "The website encountered an unexpected error. Please try again later. " Скрин: https://yadi.sk/i/bhuHVz_ceUL4x

Потом на drupalhosting копию этого сайта - открыл более 50-ти страниц - все открылись, медленно, но открылись.

1:0 в пользу drupalhosting

 

Niklan   ср, 04/02/2015 - 22:48

Тут не в D.O. дело, серваки там мощные, проблема, как выясняется в Vesta. Поднимите там одиночную инсталяцию друпала (там есть преинстал на диджитале), там явно получше будет. Плюс немаловажный фактор играет то, какой дроплет выбран. У drupalhosting по умолчанию вы получаете более мощные серваки, но их ресурсы используются всеми, а тут все ваши. Т.е. по сути на drupalhosting один и "соседей" может положить и ваши сайты, а на DO вы сами контрлируете соседей. Думаю проверять имеет смысл на дроплете не дешевле $20.

Aectann   чт, 05/02/2015 - 10:29

На DigitalOcean с DDoS атаками своими силами придется бороться?

Fonarik   чт, 05/02/2015 - 10:43

Возможно, я поспешил с выводами, что D.O. ложится после 10-ти страниц. Ложился не сам сервер, т.к. сайт то работал, но не мог подключиться к базе данных - а ложилось что-то из программного...
Т.к. я полный ноль (уже ноль целых одна десятая) в линукс, то решил подсмотреть конфигурацию php.ini у drupalhosting. Посмотрел и увидел, что у них установлен CentOS. Ну раз подсматривать, то все сразу. И я себе поставил CentOS 6-й версии, там php 5.4 а не 5.5.
Сравнил их php.ini и занес изменения на свой хостинг.
Опять открыл на тяжелом сайте страниц 20 - на четвертой опять сайт лег.
Нашел в инете, что нужно еще mysql настраивать в файле my.cnf
На этот раз я взял файл у drupalhosting и почти полностью закопировал к себе.
Плюс добавил swap файл https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-cen… - вполне вероятно, что именно из-за того что его не было и был падеж сайта. Но уже не буду возвращать конфигурационные файлы назад, т.к. на сайте открыл 52 страницы - и все работает. Пока что победа.
Кстати, на CentOS установлена vesta - еще раз спасибо за статью.

Niklan   чт, 05/02/2015 - 12:49

Ну это разумеется. Drupalhosting по максимуму оптимизирован сразу. Тут же вам придётся тюнить самостоятельно, что немаловажно. Так что голыми их сравнивать тоже не верно.

По поповду DDoS, да, вам приёдсят бороться самостоятельно. Но тех. поддержка у D.O. просто на высшем уровне, многие туда приходят чисто из-за неё. Там также как на drupalhosting, всё помогут, обьяснят, только по серверу а не друпалу. В случае если начнется DDoS атака, или ваш сервер взломают, они его отключают от внешнего инетрнета, высылают вам уведомление на почту, и как попасть на сервер и решить проблемы. Так что да, безопасность и защиты все на ваших плечах, но в критических моментах они сообщат и напрявят на путь куда копать.

Но бороться на VPS с DDoS это как-то само по себе нелепо, тут надо идти по простому пути, подключать cloudflare. Там особых то и мощностей не нужно чтобы его сложить, это же не выделенный сервер.

Fonarik   пт, 06/02/2015 - 00:10

Еще к плюсам drupalhosting можно отнести автоматическое резервное копирование баз данных и файлов сайтов. Занимаемое место копиями не относится к месту аккаунта, а хранятся отдельно.

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

Никита, пожскажите, как Вы у себя на D.O. организовали копирование файлов? Базы данных можно копировать с бэкап мигрэйт. Файлы копировать им не пробовал.
 

Niklan   пт, 06/02/2015 - 08:23

Vesta у меня делает бэкапы автоматически каждые сутки. Если надо можно перекидывать их на амазон или еще куда. Мне пока такого ненадо.

Гость   вс, 08/03/2015 - 18:26

К сожалению это не так, все бэкапы включая БД у it-patrol отнимают место на вашем аккаунте

Михаил   чт, 02/04/2015 - 21:06

Через драш создание бекапов  занимает секунды. Больше времени тратишь на вход по ssh.)

airfox   ср, 15/07/2015 - 23:22

Fonarik не поделишься php.ini и my.cnf, или у кого нибудь есть достойные настройки для дроплера vps digitalocean за 10$ + vesta?

slavyansk2.ru   чт, 05/02/2015 - 15:38

Возможно, вопрос добавления доменов можно решить через API управления дроплетами DigitalOcean. Да, это будет прослойка, но работать должно.

Niklan   чт, 05/02/2015 - 15:42

Да, возможно. Vesta позволяет это делать. Но придется её кастомизировать своими силами.
 

PVasili   ср, 01/04/2015 - 23:12

Vesta  сама добавляет домены, в панели DO не обязательно их добавлять. Мне NS не нужны были на DO, прописал A запись у своего провайдера NS и всё через пол часа увиделаось.

У Vesta  так  и не нашёл как папку с доменом связать, чтобы мультисайтинг сделать.

ttenz   вт, 03/03/2015 - 12:13

Благодарю за описание, как раз хотел с панелью попробовать. Единственно:

"и обороне", честно не увидел, может просмотрел?

Александр   чт, 26/03/2015 - 12:17

Сделал все как в инструкции, но на последнем шаге, где Друпал устанавливает свои модули он выдает пустую страницу и все... больше ничего не происходит. не подскажите что не так?

Егор   вт, 05/05/2015 - 03:36

Как распаковать архивы загруженный на сервер? в веста нет фаилменеджера который сделал бы это? и еще как менять версии php для каждого сайта?

Иван   пн, 18/05/2015 - 11:26

Хватит ли минимального сервиса за 5 долларов для новых 3-х сайтов? При условии использования панели 

VESTA?

Алексей Кулагин   чт, 28/04/2016 - 13:04

Все что написано все так и есть: DO - the best, VestaCP - тоже. Но, одно но: никогда не работайте под админом!!! Это дурной тон, имхо. Создали пользователя, и работаем под ним. Все, что нужно есть и под обычным пользователем. Зачем вам админ? В весте он нужен только для того, чтобы создавать др. пользователей. Все, что написано, это мое сугубо личное мнение, которое не претендует на истину в последней инстанции. Если интересно, могу развернуто описать резервное копирование на DO на Я диск (proctoleha#gmail.com)

Logicon   чт, 05/05/2016 - 19:31

Вот не надо гнать. И у российских хостеров SSD встречается довольно часто.

Но SSD не поможет, если сайт сконфигурирован неправильно, если вы не знаете, что такое memcache, например.

Logicon   чт, 05/05/2016 - 19:32

Я держу 50 сайтов на VDS в России и плачу за это порядка 3 долларов в месяц. И что?
P.S.:
Правда, я умею конфигурировать сервера.

Hibodus651   вс, 29/05/2016 - 00:07

NiKLAN, подскажите, пожалуйста, где вVesta находится эта мифическая директория /backup, в которую надо загрузить архив сайта и потом распаковать его через консоль. Пишут на форуме, что директория /backup находится в директории /home, но в директорию /home тоже не могу попасть. Вхожу как admin, по Winscp и по Filezilla/ С уважением.

pr0g   пн, 05/12/2016 - 08:57

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

Niklan   чт, 02/02/2017 - 13:23

Да, всё делать нужно по инструкции. Я поднимал телеграм бота на ноде всё работает.

Максим Невмержицкий   пн, 03/07/2017 - 15:31

Чтобы установить панель VestaCP и потом пользоваться ей нужно тобы на домене был установлен SSL сертификат, но как его установить то до установки терминала?

Niklan   вт, 04/07/2017 - 06:45

Не нужен. При входе добавляется в исключения и всё открывается. Там самоподписанный просто.

Максим Невмержицкий   вт, 04/07/2017 - 17:15

Понял, это хорошо, а у Вас случайно нет мануала как поставить свой серитификат который я покупаю на gogetssl? ну или впринципе неважно где. Главное что бы все было понятно)) а то инструкция с Digital ocean неочень помогла. Я готов заплатить за Ваш мануал )) и поддержовать время от времени Ваш проект niklan.net . так как знаю что это не помешает и любой труд должен быть оплачен)

Niklan   вт, 04/07/2017 - 17:29

Заходите в редактирование домена, жмете галочку "включить поддержку SSL" и заполняете появившиеся поля в соответствии с тем что там просится и выдал gogetssl. Или жмете "LetsEcnrypt" он получит бесплатный сертификат и будет его поддерживать. Затем внизу сохраняете и всё.

Максим Невмержицкий   вт, 04/07/2017 - 23:39

это в проифль нужно войти и там в вкладке безопасность?

Максим Невмержицкий   ср, 05/07/2017 - 02:36

Там в настройках домена нету такого чтобы указать SSL ( есть вариант через serverpilot поставить его, но они хотят 10 $ в месяц, но это не вариант для меня. Так как я точно знаю что можно поставить его самому через консоль, только вот как? информации к сожалению об этом в интернете нету( она якобы есть у них на сайте но неработает.

Niklan   ср, 05/07/2017 - 08:32

Уточните, для чего вам нужен сертификат. Для панели управлении Vesta или для домена. Если второе, то выше описал, вот ещё скрин.

Максим Невмержицкий   ср, 05/07/2017 - 12:59

прошу прощения, что не уточнил, нужен ssl для домена

Niklan   ср, 05/07/2017 - 13:59

Ну тогда все делается как выше писал + скрин. В редактировании домена жмете "Поддержка SSL" и вводите нужные данные, остальное сделается за вас. Или же жмете LetsEncryt, больше ничего за полняя сохраняете, тогда будет бесплатный сертификат сгенерировать.

Максим Невмержицкий   ср, 05/07/2017 - 20:42

Спасибо Вам, я просто стваил все без Vesta. у меня все же получилось натсроить все . уже ssl работает. Скажите а что будет если я создам еще один дроплет? это будет отдельно с меня деньги снимать? я хочу пока пользоваться тарифом за 5 баксов

Niklan   ср, 05/07/2017 - 21:20

Да каждый дроплет оплачивается отдельно. Можно создать на день, и снимается за сутки в конце месяца. Если держать два по $5, то в конце месяца заплатите $10. Там списания каждый час. Если дроплет проживет час, то и добавят в долг сумму за час а не за месяц.

Вениамин   ср, 12/07/2017 - 04:53

Я рекомендую сервера зомро. Цены отличные и не меняются. Поддержка поможет с панелями.

pr0g   чт, 13/07/2017 - 12:27

Реализовывали ли вы жесткий редирект в Niginx с http на https и если да, то как это делали?

Niklan   чт, 13/07/2017 - 13:10

Да, можете на моём гитхабе посмотреть. У меня там конфиги NGINX для Drupal в реалиях VestaCP: клик ;)

pr0g   чт, 13/07/2017 - 14:24

Я подписан на ваш канал в Телеграм, где вы делились ссылкой на гитхаб и я пользуюсь шаблонами drupal-ready. Сейчас получил сертификат от letsencrypt и хотел сделать жесткий редирект с http на https. Я положил в папку /usr/local/vesta/data/templates/web/nginx/php-fpm два файла: drupal-ready-https-no-www.stpl drupal-ready-https-no-www.tpl В настройке домена появился данный шаблон, я его применил, но при попытке зайти на сайт по протоколу http не происходит редиректа на https. Можете рассказать как настроить редирект. Спасибо.

pr0g   чт, 13/07/2017 - 14:19

Я подписан на ваш канал в Телеграм, где вы делились ссылкой на гитхаб и я пользуюсь шаблонами drupal-ready. Сейчас получил сертификат от letsencrypt и хотел сделать жесткий редирект с http на https. Я положил в папку /usr/local/vesta/data/templates/web/nginx/php-fpm два файла: drupal-ready-https-no-www.stpl drupal-ready-https-no-www.tpl В настройке домена появился данный шаблон, я его применил, но при попытке зайти на сайт по протоколу http не происходит редиректа на https. Можете рассказать как настроить редирект. Спасибо.

Niklan   чт, 13/07/2017 - 16:03

В этом файле происходит жетский редирект на https. Вы видимо ребилд web domains не вызывали. Почитайте там шаги. На 6-ом ребилд. Иначе будут старые темплейты юзаться.

pr0g   чт, 13/07/2017 - 20:31

Ребилд делал. С этим шаблоном, nginx при перезапуске падает. В логах nginx что в /var/log, при включение шаблона жесткого редиректа появляется такая строка: 2017/07/13 22:21:50 [emerg] 62983#62983: invalid number of arguments in "server_name" directive in /home/admin/conf/web/snginx.conf:3 Третья строка файла snginx.conf server_name blt56.pr0g.ru

Возможно что редирект не работает с доменами 3-го уровня.

pr0g   чт, 13/07/2017 - 21:36

Вроде нашел, почему не работает. У вас в файле drupal-ready-https-no-www.stpl в начале идет секция, которая создает редирект с алиаса на основной домен, у меня не было прописано алиаса и данная секция создавалась с пустым server_name и соответственно это приводило к ошибке.

Юрий   пт, 14/07/2017 - 18:15

он свободен, просто на DO все прописано уже. Нужно как то заново регистрировать, или удалить и добавить заново?

Niklan   пт, 14/07/2017 - 18:27

DO маловероятно имеет к этому отношение. Скорее всего у регистратора могли слететь NS которые ведут на digitalocean. Если они стоят, просто значит они отключили вам их, и после оплаты включили снова. Ждите. Обновление NS может длиться от пары секунд до 3 дней.

Алексей   вс, 16/07/2017 - 18:43

Прошу совета. В сети нет информации, как решить эту проблему. Если добавить в панель vesta доменное имя, то по адресу домена открывается страница панели с айпи-адресом сервера, хотя должна открываться страница панели с именем домена темными буквами на белом фоне. Директория /home/user/web/имя сайта/public_html создается. Переношу в панель сайт - то же самое. Что делать?

Niklan   пн, 17/07/2017 - 07:56

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

Алексей   пн, 17/07/2017 - 15:31

Изложил проблему на форуме Vesta: https://forum.vestacp.com/viewtopic.php?f=28&t=14957

Алексей   вт, 08/08/2017 - 15:54

Самостоятельно решил проблему. В конфигах веб-сервера и прокси сервера изменил локальный айпи-адрес, который прописался автоматически при создании виртуального хоста, на внешний айпи-адрес сервера(/home/user/conf/web/httpd.conf и /home/user/conf/web/nginx.conf). После этого по доменному имени стал отображаться файл index.html с доменным именем добавленного сайта. И, соответственно, после переноса сайта в папку /имя_сайта/, в сети "Интернет" появился добавленный в панель сайт.

Дмитрий   сб, 27/01/2018 - 21:12

Подскажите пожалуйста, как скачать себе на MacOS Backup или snapshot моего сайта? Zip или что это должно быть и куда нажимать? Спасибо заранее, не судите строго, я не профи в этом.

Niklan   пн, 29/01/2018 - 08:58

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

По (S)FTP/SSH все бэкапы хранятся в /home/backup. Как вариант зайти по SSH под админом и выполнить команду /user/local/vesta/bin/v-backup-user USER - подставив имя юзера. Он сделает полный бэкап всего что есть у юзера. Если нужно конкретынй сайт. То тут всё руками. Паковать папку сайта, делать дамп БД через консоль или phpmyadmin\adminer, выгружать.

Дмитрий   ср, 31/01/2018 - 16:10

Спасибо за ответ, но я не догоняю как это сделать. То есть прямой кнопки на digitalocaen никакой нет... Я сделал snapshot и теперь получается его никак не загрузить.

Niklan   чт, 01/02/2018 - 14:08

Снапшот не скачать. Это копия сервера для передачи другому юзеру.

Вам надо из весты выкачивать бекапы сайтов: https://SERVER_IP:8083

Кирилл   пт, 02/03/2018 - 11:34

Доброго времени суток. Расскажите по подробнее про поле «Hostname». Одни рекомендуют туда вписывать домен или поддомен, к примеру, cp.site.ru , другие IP адрес, а у вас вот вообще предлагается пропускать этот шаг (генерируется рандомно сервером?) Что же правильнее? Ведь, как я понял, сервер будет представляться так для всех, в том числе при отправке почты, и если на сервере несколько сайтов, то домены не будут совпадать (если ввести домен), а что в итоге сгененирует сам сервер при установке? если нажать Enter? Хочется всё же выяснить этот момент и понять, как должно быть правильно.

Stan   пт, 24/01/2020 - 09:54

Ушёл с VestaCP на BrainyCP, чему очень рад. Панель в разы мощнее.

А в Vesta начало бесить, что после каждого обновления слетали конфиги nginx

Niklan   пт, 24/01/2020 - 16:52

Благодарю за наводку. Видел пару лет назад проект, был ещё очень в зачаточном состоянии, видимо стоит уже попробовать.

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

Клиентов перевёз на ISP Manager из-за отсутствия выбора как такового. Так себе тоже, но с ней как-то меньше проблем, и она свою цену отбивает за счёт инкриментных бэкапов, что очень кстати и очень выделяет панель в сравнении с вестой. Но себе я такого монстра не хочу на сервак :)

Stan   пн, 27/01/2020 - 17:11

О! Так есть ISPconfig (ispconfig.org). Отличная панель.

Есть пара серверов клиентских с этой панелью. Ставил относительно быстро (вся сборка системы руками). Нареканий за пару лет вроде не имею.

Сергей   пт, 12/02/2021 - 13:28

Интересная статья, спасибо. Мои пять копеек. Как раз неделю назад покупал тоже немецкий VPS за 5 евро, характеристики ну очень интересные. Панель управления дают PLESK. Настроил SSH, панель, потом почитал документацию, посмотрел что за все дополнительно надо платить, везде по умолчанию старые версии (базы, php), надо тратить много времени, разбираться с установкой всего самостоятельно и потом также поддерживать. Решил да ну его нафиг. Почему так решил? Поддержка.. Любой вопрос ответ надо ждать реально два дня, поэтому даже название их не пишу. Сейчас у меня и у моих клиентов VPS в Болгарии за 10 евро в месяц управляемый виртуальный сервер (NS1.bg). 1 ядро, 2 GB памяти, 20 GB, SSD, бекапы автоматом, поддержка почты, своя панель управления, количество сайтов для добавления ограничено количеством места на вашем тарифе. Уже около 10-ти аккаунтов у них, поддержа ответ 5-10 минут. Работает стабильно, постоянно смотрю отчёты. Разместил на VPS как немецкий проект, так и израильский. Также болгарские работают и у всех отличная скорость. Много букв, но возможно кому пригодится. Да прибудет с нами сила.. Друпала :)))