Блог о программировании на PHP, Yii2, 1C-Bitrix

Перенос сайта с timeweb.ru на digitalocean.com

И так, руки наконец то дошли до переноса сайта с timeweb на облачный vds, не долго думая был выбран digitalocean, с ценой всего 5$ за месяц работы. timeweb конечно хороший хостинг, продержался там почти год, но потребовалось установить node.js сервер в действии, а именно расширения gulp, backbone, и т.д., timeweb соответственно такие возможности предлагает только на хостинге за неимоверную цену.

Даже в этом, кажется банальном переносе, есть свои маленькие подводные камни. Вот подробная инструкция того, что было сделано:

  1. Регистрируемся на digitalocean.
  2. Оплачиваем хостинг через paypal, у меня идет связка с визой, так проще, можно и напрямую через визу.
  3. Тыкаем кнопочку «Create droplet».
  4. Вводим имя сервера (любое название на латинице с цифрами без пробел и знаков).
  5. Выбираем место размещения сервера, мною было выбрано Сан-франциско, от расположения зависит пинг до сервера, чем ближе тем лучше.
  6. В качестве ОС выбираем CentOS 6.5 x64, или если есть, что по-новее.
  7. Все, нажимаем кнопочку «Create droplet» и ждем 60 секунд, сервер создается.
  8. Тем временем на e-mail, указанный при регистрации придет root доступ до ssh сервера, соединяемся по указанному ip с нашим сервером через putty.
  9. !!! Меняем root пароль командой passwd и двойным подтверждением нового пароля, записываем его себе куда-нибудь.
  10. Ставим панель управления Vesta, для управщения взаимодействия с сервером,

    curl -O http://vestacp.com/pub/vst-install.sh
    bash vst-install.sh
  11. Соглашаемся на установку, вводим свой e-mail, ждем некоторое время.
  12. Проверяем установку, зайдя по указанному ip, видим html страничку с надписью default.domain, значит все работает правильно.
  13. Заходим в панель управления Vesta по адресу: https://your_ip:8083.
  14. Для начала, правим стандартные настройки в панеле редактирования, кнопочка edit находится сверху справа, указываем язык RU.
  15. !!! Создаем нового пользователя, вкладка USER -> Добавить аккаунт, указываем ему bash в качестве стартового обработчика, авторизуемся под ним, кнопочка «Войти как …». Иначе дальше возникнут проблемы с правами на создаваемые файлы через фронтенд, если все-таки вы уже разместили сайт под root’ом, как я в первые разы использования данного vds, то читаем здесь (статья будет позже), как изменить пользователя.
  16. Создаем домен, вкладка WEB -> Добавить домен, и базу данных, вкладка DB -> Добавить DB
  17. Пробуем авторизоваться под ним, у меня почему-то не получилось, хотя был установлен bash изачанально, при создании пользователя.
  18. В ssh клиенте, выводим список пользователей:

    cat /etc/passwd
  19. В видим, созданный пользователь оказался без shell: /sbin/nologin, меняем его на bash:

    chsh -s /bin/bash user
  20. Авторизуемся под ним:

    su user
  21. Заходим в /home/user/web/domain/public_html/ и скачиваем бекап сайта с прошлого хостинга:

    wget http://olddomain.ru/backup.tar.bz2
  22. Разархивируем

    tar xvjf backup.tar.bz2
  23. И импортируем бд

    mysql -uuser -ppassword dbname < db.sql
  24. не забываем поправить файл конфигурации сайта на работу с новой бд.
  25. Далее начинается самое интересное, перенос домена с timeweb’a.
  26. Вообще, хостинг оказался в этом плане странным, управление NS зонами у него находится в такооом месте, что без бутылки не догадаться. В итоге, я написал в техподдержку, и мне дали ссылку на регистратора домена r01, а точнее на восстановление пароля (оО, т.е. изначально они никак не оповещают пользователя о том, где находится его домен). Делаем восстановление пароля по домену, по логину timeweb’a почему-то не получилось (оО, сказало, что логин не зарегистрирован). На административную почту придет письмо с восстановлением пароля, записываем его себе куда-нибудь.
  27. Авторизуемся, переходим в Домены и нажимаем на карандаш редактирования нужного домена.
  28. Делаем запрос на изменения NS зон на digitalocean, приблизительно такие: NS1.DIGITALOCEAN.COM., и т.п., кликаем далее.
  29. Ждем изменения NS серверов домена (у меня прошло около 23 часов) и празднуем новоселье, наш сайт теперь свободен от российских законов )

Дальше мной был установлен node.js, gulp, backbone и сделана автоматизация сайта для генерации less, минимизации css и js, но это уже совершенно другая история…