Создание собственного мини-хостинга на DigitalOcean с использованием VestaCP — это эффективный способ получить полный контроль над своими проектами и обеспечить их стабильную работу.
Я уже пол года как перевел все свои проекты и разработку с 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
На данной странице вы можете посмотреть небольшую историю по дроплету, выключить его, чтобы он не действовал, либо сделать hard reset (принудительная перезагрузка).
Access
На данной вкладке вы можете получить доступ к консоли сервера прямо из браузера. Занятие крайне извращенное и неудобное, пригодится лишь в критических ситуациях когда доступа к нормальной консоли получить не удается. Также тут можно поменять root пароль.
Resize
Данный раздел окажется для вас полезным, если вы захотите усилить свой сервер. Допустим, перейти на тариф за 10$. Это сделает переход безболезненным, потребуется лишь перезагрузка сервера.
Snaphots
Тут можно сделать “бэкап” всего образа сервера. Полезная опция при переносе на другой аккаунт. Также позволяет создать дроплет, настроить его и отдать клиенту по почте. А ему надо будет лишь принять его, при этом он получит полностью настроенный сервер.
Settings
На влкадке настроек, вы можете увидеть все технические данные по дроплету. Поменять ему ядро прямо из браузера (хотя насколько стабилен такой процесс не знаю, его не было раньше и я не пробовал), восстановить дроплет из бэкапа (если они включены или сделан snapshot), а также просто переименовать сервак.
Graph
Тут вы увидете графики по нагрузке сервера и канала.
Destroy
А перейдя сюда, вы сможете полностью удалить свой сервак.
Делаем свой мини-хостинг
В случае успешной установки дроплета, на ваш email адрес должно было прийти письмо с данным для входа на сервер. Сервером мы будем управлять из консоли, следовательно, если у вас Linux\Mac OS, просто открываем терминал, если же у вас Windows, ищем в инете спец. софт, так как стандартная командная строка не умеет в ssh, вам необходим ssh-клиент. Единственный который я знаю и пробовал когда-то был Putty.
Теперь нам необходимо подключиться к своему серверу. Для этого в терминале нам необходимо написать ssh пользователь@ip_вашего_сервера. В моём случае будет так:
ssh root@178.62.247.215
Консоль затребует у вас пароль, вы должны ввести тот что прислали вам на почту.
Если вы успешно зашли, вы должны увидеть примерно следующее:
Теперь вам необходимо ввести еще раз текущий пароль, а затем дважды новый. После чего, мы сможем смело пользоваться сервером.
Давайте поставим CP (Control Panel) для нашего сервера. В нашем случае, я буду использовать VestaCP. Она простая, легка (почти не грузит систему), очень хороший API, множество возможностей из коробки и она сама разворачивает вебсервер с nginx при установке.
Поэтому переходим к установке VestaCP, для этого в терминале пишем:
curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh
У нас начнётся установка панели и веб-сервера. Первым делом он попросит вас согласится, для этого пишем y жмём enter, затем вводим свой email адрес. Затем он попросит ввести hostname, тут просто жмём enter. Потом начнётся установка. Там написано что займёт примерно 15 минут, но это не так, заёмет это минуту-две, даже на таком слабеньком сервере.
После успешной установки вы увидите следующее:
Как вы можете заметить. Там указан адрес для входа в CP, логин и пароль от админа. Для начала нам необходимо переходить по IP, но когда вы подключите к сервиру домен, вы сможете заходить по адресу https://example.com:8083. Учтите, тут обязательно должен быть HTTPS и порт 8083.
По сути, на этом установки и настройка сервера уже завершена (лол). Он полностью готов к продакшену. Если вы более подкаыванный пользователей и вам интересно потыкаться самому - можете приступать. Те кто не уверен или нуждается в напутствии, пошли дальше.
Разбираемся в CP
Итак, заходим по нашему адресу, вводим admin и пароль указанный в терминале. Если всё ввели правильно, то попадете на главную страницу CP.
Давайте для начала сделаем его на русском языке. Справа у admin, на влкадке user, жмём edit, в поле language выбираем ru, сохраняем, получаем всё на русском.
Так привычнее, не так ли? А теперь давайте в кратце расскажу о важных и нужны вкладках.
Сначала по верхним:
- Пакеты - проще говоря тарифы хостинга. У каждого пользователя свой тариф. Тариф может накладывать\снимать ограничения на определенный части сервера. Допустим, кол-во доменов, имеет ли пользователь доступ по FTP, максимально место на диске и т.д. и т.п. Всё как на хостингах, только правите тут вы сами.
- Службы - тут можно увидеть все важные запущенные службы на сервер, отсюда можно перезагрузить как весь сервер, так и перезапустить определенные его части, например веб-сервер.
А теперь чуть пониже:
- USER - тут управление всеми пользователями на серве. Удаление, добавление, блокировка и т.д.
- WEB - управление доменами текущего пользователя.
- DNS - управление DNS записями для доменов текущего пользователя. В нашем случае совершенно бесполезная вкладка (в разделе привязки домена будет рассказано почему, если в кратце, они управляются из digitalocean а не сервера).
- MAIL - управление почтой. Не тестил, ибо все подключено на gmail.
- DB - управление базами данных.
- CRON - управление кроном сервера.
- BACKUP - все последние бекапы, а также возможность создать прямо здесь и сейчас. Также тут можно скачать любой из бэкапов (в зависимости от кол-ва которое будет хранится).
А теперь давайте немного полезной информации. Все доступы к серверу пользователь имеет одинаковые связки. Т.е. всего один и тот же логин, пароль и адрес сервера. Вместо ip адреса сервера, в дальнейшем можно будет заменять доменом который прикреплен на данный ip.
Например, чтобы подключиться к серверу по ssh как админ, надо ввести следующее:
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 и вы увидите примерно следующее:
Но лучше сразу добавить все необходимые настройки. Для этого на странице есть кнопка Add record. При помощи неё мы можем управлять DNS записями домена ( следовательно DNS раздел в CP просто ненужен).
Давайте сделаем так, чтобы помимо домена example.com мы также могли спокойно в дальнейшем добавлять evrething.you.want.example.com (т.е. поддомены любого уровня), в противном случае каждый поддомен придется прописывать тут руками. Для этого жмём “Add record” выбираем “CNAME”. В поле name пишем * а в поле хост указываем адрес сайта с точкой на конце.
Затем жмём 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, лучше удалить.
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. Удачи.
Комментарии
:D Да не, там запросы бы оптимизировать надо. Да и что-то у меня много клиентских сайто скопилось на поддоменах) Всё наполняют)
Проблемы с MySQL на Vesta+DO были? Стандартный конфиг MySQL допиливали? Swap? Как-то тестировал Весту, но так и не поборол падение MySQL на DO. А как на форум панели не зайдешь - так посты про падения сервера: https://forum.vestacp.com/viewforum.php?f=32
Проблем не было вообще.
Конфиг не допиливал.
Свап на 2гб сделал.
За пол года никаких проблем и падений, и уж темболее с Vesta не было. Лучшей альтернативы просто не нашел. Кстати, если кто чего посоветует, буду признателен.
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 чтобы прекратить падения.
Возможно мне просто свезло)
Ajenti пробовал пол года назад, что-то как-то мне не очень понравилось. Хотя сам сайт и идея прикольная, но вот у меня он нормально не завелся. Надо будет ещё разок попробовать)
По поводу консоли. Это разумеется что быстрее будет. Но вот у меня опыта администрирования вообще очень мало. Скажем так, базовые знания. Я пытался разобраться, но всё это настолько показлось туманным для меня на тот момент и я рашил не городить дыры по криворукости своей на сервере, так как там клиентские сайты. У меня вечно проблемы с правами были. А все решения и гайды были на 1 сайт, или 1 юзера, т.е. без четкой структуры, отдельного пространства для каждого из пользователей. Типа чтобы сайт в /home/username/ хранился, а не в /var/www
P.s. пополазл по сайту ajenti, да, Ajenti V даже не видел пол года назад, т.е. даже вкладки небыло. Или ссылки для загрузки небыло, в общем его я вообще не помню.
"В некоторых случаях прокатит и Лондон, но учтите что он дальше Нидерландов, и пинг будет выше, причем ощутимо."
Поэтому community.drupalife.com и разместил в Лондоне?
=D В Нидерландах он. Просто сервер перегружен проектами.
http://i.imgur.com/N0JUtHx.png - из админки DO
http://i.imgur.com/CLABHaF.png - по вашей же ссылке.
Все равно в хетцнере дешевле http://ru.hetzner.com/hosting/produkte_rootserver/ex40ssd
Получается самый дешевый сервак с ssd будет стоить 50 евро? Но зачем такой сразу же брать?
Возможно есть другие и даже лучше DO, пока не знаю, так что буду благодарен за советы.
Дааа, прогресс не стоит на месте.
Спасибо за краткое и хорошее описание. У меня все получилось сделать с первого раза. До вашей статьи просидел целый день изучая разные сайты по линукс.
В drupalhosting меня всегда подкупала и подкупает отличная техподдержка. Подсказывают моменты, которые их на прямую не касаются. Если сайт плохо работает ,могут найти проблему и исправят ее.
Если вышла заплатка от уязвимости, то ставят всем сайтам
А если я на Digital Ocean, то все делать самому. Зато дешевле.
Кстати, только что положил один свой сайт на 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
Тут не в D.O. дело, серваки там мощные, проблема, как выясняется в Vesta. Поднимите там одиночную инсталяцию друпала (там есть преинстал на диджитале), там явно получше будет. Плюс немаловажный фактор играет то, какой дроплет выбран. У drupalhosting по умолчанию вы получаете более мощные серваки, но их ресурсы используются всеми, а тут все ваши. Т.е. по сути на drupalhosting один и "соседей" может положить и ваши сайты, а на DO вы сами контрлируете соседей. Думаю проверять имеет смысл на дроплете не дешевле $20.
На DigitalOcean с DDoS атаками своими силами придется бороться?
Возможно, я поспешил с выводами, что 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 - еще раз спасибо за статью.
Ну это разумеется. Drupalhosting по максимуму оптимизирован сразу. Тут же вам придётся тюнить самостоятельно, что немаловажно. Так что голыми их сравнивать тоже не верно.
По поповду DDoS, да, вам приёдсят бороться самостоятельно. Но тех. поддержка у D.O. просто на высшем уровне, многие туда приходят чисто из-за неё. Там также как на drupalhosting, всё помогут, обьяснят, только по серверу а не друпалу. В случае если начнется DDoS атака, или ваш сервер взломают, они его отключают от внешнего инетрнета, высылают вам уведомление на почту, и как попасть на сервер и решить проблемы. Так что да, безопасность и защиты все на ваших плечах, но в критических моментах они сообщат и напрявят на путь куда копать.
Но бороться на VPS с DDoS это как-то само по себе нелепо, тут надо идти по простому пути, подключать cloudflare. Там особых то и мощностей не нужно чтобы его сложить, это же не выделенный сервер.
Еще к плюсам drupalhosting можно отнести автоматическое резервное копирование баз данных и файлов сайтов. Занимаемое место копиями не относится к месту аккаунта, а хранятся отдельно.
Написал, чтобы кто загорелся дешевымы ценами D.O., подумали еще раз, стоит ли сразу переходить.
Никита, пожскажите, как Вы у себя на D.O. организовали копирование файлов? Базы данных можно копировать с бэкап мигрэйт. Файлы копировать им не пробовал.
Vesta у меня делает бэкапы автоматически каждые сутки. Если надо можно перекидывать их на амазон или еще куда. Мне пока такого ненадо.
<<организовали копирование файлов>>
cron + drush=счастье
К сожалению это не так, все бэкапы включая БД у it-patrol отнимают место на вашем аккаунте
Через драш создание бекапов занимает секунды. Больше времени тратишь на вход по ssh.)
Fonarik не поделишься php.ini и my.cnf, или у кого нибудь есть достойные настройки для дроплера vps digitalocean за 10$ + vesta?
Возможно, вопрос добавления доменов можно решить через API управления дроплетами DigitalOcean. Да, это будет прослойка, но работать должно.
Да, возможно. Vesta позволяет это делать. Но придется её кастомизировать своими силами.
Vesta сама добавляет домены, в панели DO не обязательно их добавлять. Мне NS не нужны были на DO, прописал A запись у своего провайдера NS и всё через пол часа увиделаось.
У Vesta так и не нашёл как папку с доменом связать, чтобы мультисайтинг сделать.
Опять за наводочку спасибо (cloudflare), пригодится.
Благодарю за описание, как раз хотел с панелью попробовать. Единственно:
"и обороне", честно не увидел, может просмотрел?
Сделал все как в инструкции, но на последнем шаге, где Друпал устанавливает свои модули он выдает пустую страницу и все... больше ничего не происходит. не подскажите что не так?
Как распаковать архивы загруженный на сервер? в веста нет фаилменеджера который сделал бы это? и еще как менять версии php для каждого сайта?
Хватит ли минимального сервиса за 5 долларов для новых 3-х сайтов? При условии использования панели
VESTA?
Все что написано все так и есть: DO - the best, VestaCP - тоже. Но, одно но: никогда не работайте под админом!!! Это дурной тон, имхо. Создали пользователя, и работаем под ним. Все, что нужно есть и под обычным пользователем. Зачем вам админ? В весте он нужен только для того, чтобы создавать др. пользователей. Все, что написано, это мое сугубо личное мнение, которое не претендует на истину в последней инстанции. Если интересно, могу развернуто описать резервное копирование на DO на Я диск (proctoleha#gmail.com)
Вот не надо гнать. И у российских хостеров SSD встречается довольно часто.
Но SSD не поможет, если сайт сконфигурирован неправильно, если вы не знаете, что такое memcache, например.
Я держу 50 сайтов на VDS в России и плачу за это порядка 3 долларов в месяц. И что?
P.S.:
Правда, я умею конфигурировать сервера.
NiKLAN, подскажите, пожалуйста, где вVesta находится эта мифическая директория /backup, в которую надо загрузить архив сайта и потом распаковать его через консоль. Пишут на форуме, что директория /backup находится в директории /home, но в директорию /home тоже не могу попасть. Вхожу как admin, по Winscp и по Filezilla/ С уважением.
Niklan, вы где-то на сайте писали каким линуксом пользуетесь на десктопе, но я не могу найти где это было написано, возможно вы писали про это в комментариях. Может еще раз написать что за дистрибутив линукса у Вас на десктопе? Спасибо.
А можно к этому всему прикрутить webhook для telegram бота?
Да, всё делать нужно по инструкции. Я поднимал телеграм бота на ноде всё работает.
Чтобы установить панель VestaCP и потом пользоваться ей нужно тобы на домене был установлен SSL сертификат, но как его установить то до установки терминала?
Не нужен. При входе добавляется в исключения и всё открывается. Там самоподписанный просто.
Понял, это хорошо, а у Вас случайно нет мануала как поставить свой серитификат который я покупаю на gogetssl? ну или впринципе неважно где. Главное что бы все было понятно)) а то инструкция с Digital ocean неочень помогла. Я готов заплатить за Ваш мануал )) и поддержовать время от времени Ваш проект niklan.net . так как знаю что это не помешает и любой труд должен быть оплачен)
Заходите в редактирование домена, жмете галочку "включить поддержку SSL" и заполняете появившиеся поля в соответствии с тем что там просится и выдал gogetssl. Или жмете "LetsEcnrypt" он получит бесплатный сертификат и будет его поддерживать. Затем внизу сохраняете и всё.
это в проифль нужно войти и там в вкладке безопасность?
Там в настройках домена нету такого чтобы указать SSL ( есть вариант через serverpilot поставить его, но они хотят 10 $ в месяц, но это не вариант для меня. Так как я точно знаю что можно поставить его самому через консоль, только вот как? информации к сожалению об этом в интернете нету( она якобы есть у них на сайте но неработает.
Уточните, для чего вам нужен сертификат. Для панели управлении Vesta или для домена. Если второе, то выше описал, вот ещё скрин.
прошу прощения, что не уточнил, нужен ssl для домена
Ну тогда все делается как выше писал + скрин. В редактировании домена жмете "Поддержка SSL" и вводите нужные данные, остальное сделается за вас. Или же жмете LetsEncryt, больше ничего за полняя сохраняете, тогда будет бесплатный сертификат сгенерировать.
Спасибо Вам, я просто стваил все без Vesta. у меня все же получилось натсроить все . уже ssl работает. Скажите а что будет если я создам еще один дроплет? это будет отдельно с меня деньги снимать? я хочу пока пользоваться тарифом за 5 баксов
Да каждый дроплет оплачивается отдельно. Можно создать на день, и снимается за сутки в конце месяца. Если держать два по $5, то в конце месяца заплатите $10. Там списания каждый час. Если дроплет проживет час, то и добавят в долг сумму за час а не за месяц.
Я рекомендую сервера зомро. Цены отличные и не меняются. Поддержка поможет с панелями.
Реализовывали ли вы жесткий редирект в Niginx с http на https и если да, то как это делали?
Да, можете на моём гитхабе посмотреть. У меня там конфиги NGINX для Drupal в реалиях VestaCP: клик ;)
Я подписан на ваш канал в Телеграм, где вы делились ссылкой на гитхаб и я пользуюсь шаблонами 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. Можете рассказать как настроить редирект. Спасибо.
Я подписан на ваш канал в Телеграм, где вы делились ссылкой на гитхаб и я пользуюсь шаблонами 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. Можете рассказать как настроить редирект. Спасибо.
Эту ветку можно удалить.
В этом файле происходит жетский редирект на https. Вы видимо ребилд web domains не вызывали. Почитайте там шаги. На 6-ом ребилд. Иначе будут старые темплейты юзаться.
Ребилд делал. С этим шаблоном, 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-го уровня.
Вроде нашел, почему не работает. У вас в файле drupal-ready-https-no-www.stpl в начале идет секция, которая создает редирект с алиаса на основной домен, у меня не было прописано алиаса и данная секция создавалась с пустым server_name и соответственно это приводило к ошибке.
Забыл продлить домен на DO, как его заново то туда повесить?
он свободен, просто на DO все прописано уже. Нужно как то заново регистрировать, или удалить и добавить заново?
DO маловероятно имеет к этому отношение. Скорее всего у регистратора могли слететь NS которые ведут на digitalocean. Если они стоят, просто значит они отключили вам их, и после оплаты включили снова. Ждите. Обновление NS может длиться от пары секунд до 3 дней.
спасибо
Прошу совета. В сети нет информации, как решить эту проблему. Если добавить в панель vesta доменное имя, то по адресу домена открывается страница панели с айпи-адресом сервера, хотя должна открываться страница панели с именем домена темными буквами на белом фоне. Директория /home/user/web/имя сайта/public_html создается. Переношу в панель сайт - то же самое. Что делать?
Привет, не знаю, не сталкивался, проще такой вопрос задать на оафицильном форуме. Разработчики весты русскоязычные, там есть спец. раздел на русском и багтрекер где можно спросить на русском, там помогут быстрее. Похоже что шаблон который генерирует этот index.html неверно получает информацию и является багом.
Изложил проблему на форуме Vesta: https://forum.vestacp.com/viewtopic.php?f=28&t=14957
Самостоятельно решил проблему. В конфигах веб-сервера и прокси сервера изменил локальный айпи-адрес, который прописался автоматически при создании виртуального хоста, на внешний айпи-адрес сервера(/home/user/conf/web/httpd.conf и /home/user/conf/web/nginx.conf). После этого по доменному имени стал отображаться файл index.html с доменным именем добавленного сайта. И, соответственно, после переноса сайта в папку /имя_сайта/, в сети "Интернет" появился добавленный в панель сайт.
Спасибо, очень помогло
Подскажите пожалуйста, как скачать себе на MacOS Backup или snapshot моего сайта? Zip или что это должно быть и куда нажимать? Спасибо заранее, не судите строго, я не профи в этом.
Вообще веста сама делает бэкапы каждый день. Для этого достаточно либо зайти под нужным юзером или админом в весту и вверху будет "backups".
По (S)FTP/SSH все бэкапы хранятся в /home/backup. Как вариант зайти по SSH под админом и выполнить команду /user/local/vesta/bin/v-backup-user USER
- подставив имя юзера. Он сделает полный бэкап всего что есть у юзера. Если нужно конкретынй сайт. То тут всё руками. Паковать папку сайта, делать дамп БД через консоль или phpmyadmin\adminer, выгружать.
Спасибо за ответ, но я не догоняю как это сделать. То есть прямой кнопки на digitalocaen никакой нет... Я сделал snapshot и теперь получается его никак не загрузить.
Снапшот не скачать. Это копия сервера для передачи другому юзеру.
Вам надо из весты выкачивать бекапы сайтов: https://SERVER_IP:8083
Доброго времени суток. Расскажите по подробнее про поле «Hostname». Одни рекомендуют туда вписывать домен или поддомен, к примеру, cp.site.ru , другие IP адрес, а у вас вот вообще предлагается пропускать этот шаг (генерируется рандомно сервером?) Что же правильнее? Ведь, как я понял, сервер будет представляться так для всех, в том числе при отправке почты, и если на сервере несколько сайтов, то домены не будут совпадать (если ввести домен), а что в итоге сгененирует сам сервер при установке? если нажать Enter? Хочется всё же выяснить этот момент и понять, как должно быть правильно.
Ушёл с VestaCP на BrainyCP, чему очень рад. Панель в разы мощнее.
А в Vesta начало бесить, что после каждого обновления слетали конфиги nginx
Благодарю за наводку. Видел пару лет назад проект, был ещё очень в зачаточном состоянии, видимо стоит уже попробовать.
Весту, действительно, походу подзабросили, хотя проблем со слетевшими конфигами не наблюдаю, но и не наблюдаю развития, а там есть что улучшать. Те же самые конфиги не совсем как-то удачно реализованы.
Клиентов перевёз на ISP Manager из-за отсутствия выбора как такового. Так себе тоже, но с ней как-то меньше проблем, и она свою цену отбивает за счёт инкриментных бэкапов, что очень кстати и очень выделяет панель в сравнении с вестой. Но себе я такого монстра не хочу на сервак :)
О! Так есть ISPconfig (ispconfig.org). Отличная панель.
Есть пара серверов клиентских с этой панелью. Ставил относительно быстро (вся сборка системы руками). Нареканий за пару лет вроде не имею.
Интересная статья, спасибо. Мои пять копеек. Как раз неделю назад покупал тоже немецкий VPS за 5 евро, характеристики ну очень интересные. Панель управления дают PLESK. Настроил SSH, панель, потом почитал документацию, посмотрел что за все дополнительно надо платить, везде по умолчанию старые версии (базы, php), надо тратить много времени, разбираться с установкой всего самостоятельно и потом также поддерживать. Решил да ну его нафиг. Почему так решил? Поддержка.. Любой вопрос ответ надо ждать реально два дня, поэтому даже название их не пишу. Сейчас у меня и у моих клиентов VPS в Болгарии за 10 евро в месяц управляемый виртуальный сервер (NS1.bg). 1 ядро, 2 GB памяти, 20 GB, SSD, бекапы автоматом, поддержка почты, своя панель управления, количество сайтов для добавления ограничено количеством места на вашем тарифе. Уже около 10-ти аккаунтов у них, поддержа ответ 5-10 минут. Работает стабильно, постоянно смотрю отчёты. Разместил на VPS как немецкий проект, так и израильский. Также болгарские работают и у всех отличная скорость. Много букв, но возможно кому пригодится. Да прибудет с нами сила.. Друпала :)))
теперь понятно почему так тормозит друпалайф :D