You are here

Преместване от един хостинг към друг

Изпълних задача за преместване на сайт от един хостинг на друг и сега ще документирам ключовите моменти. Основната мотивация за преместването беше възползването от възможностите за addon домейни, т.е. плаща се за един хостинг, но той може да обслужва няколко независими домейна. Подвеждащата част е преместването на DNS зоната на домейна, тъй като записите там се кешират в клиентските резолвери за определено време (TTL). В случая старият хостинг беше заковал 1 денонощие за кеширане, но за щастие новият хостинг позволяваше промяна на TTL на записите. Друго нещо, достойно за внимание, беше наличието на 20 пощенски кутии за прехвърляне.

  1. Създаване на копие на DNS зоната в новия хостинг. Всички IP адреси са старите. TTL за всички записи се слага примерно 1 минута (60 секунди).  Добавят записи за new.example.com и old.example.com.
  2. В управлението на домейна (може да е друга фирма/сайт) се сменят сървърите за имена (nameservers), така че да сочат към тези на новия хостинг.
  3. Изчаква се времето на стария TTL, напр. 1 денонощие в моя случай, може и по-малко, защото има още работа за вършене преди самия преход.
  4. Събираме паролите на всички пощенски кутии. Алтернатива е на всички пощ. кутии да се сложи една и съща парола.
  5. Създават се пощенските кутии в новия хостинг.
  6. Създава се конфигурационен файл за offlineimap, където са изброени всички пощенски кутии и прехвърлянето им от old.example.com към new.example.com. В края на тази бележка има пример.
  7. Пуска се синхронизиране, така че да се получи начално прехвърляне на писмата.
  8. Копират се всички файлове от стария хостинг към новия.
  9. Прехвърля се базата данни (БД).
  10. Проверява се дали всичко е наред с new.example.com и с пощенските кутии. Ако е нужно, се донастройва уеб приложението за новата БД. За да се гледа уеб приложението, или трябва да се използват възможностите на хостинга този нов хостинг да обработва не само example.com, а и new.example.com, или трябва да се настройва ръчно файлът hosts, така че example.com при компютъра на администратора да праща на новия сайт
  11. В този момент се уверяваме, че е минало 1 денонощие или колкото е било там.
  12. В DNS зоната на новия хостинг се променят IP-адрес(ите) към новите положения.
  13. Изчакване 1 минута за пълно пренасочване към новия хостинг.
  14. Проверяваме дали всичко е наред.
  15. Синхронизираме пак пощенските кутии.
  16. Ако е нужно, синхронизираме БД и донагласяме уеб приложението.
  17. След като се уверим, че всичко е точно, завършваме прехода с поставяне на по-адекватен TTL, напр. 1 час (3600 секунди) и премахваме old.example.com и new.example.com.

В добавка ето как изглежда настройката на offlineimap за един пощенски акаунт:

accounts = onemailbox, ...

[Account onemailbox]
localrepository = onemailboxNew
remoterepository = onemailboxOld
[Repository onemailboxOld]
type = IMAP
remotehost = old.example.com
ssl = yes
remoteuser = onemailbox@example.com
remotepass = PASSWORD
[Repository onemailboxNew]
type = IMAP
remotehost = new.example.com
ssl = yes
remoteuser = onemailbox@example.com
remotepass = PASSWORD

User login