Aynı makineye geri yüklemek, dosyaları zaten yapılandırılmış bir sistemin içine koyar. Yepyeni bir makinede ise yedek hiçliğin içine iner - ve iki yıl boyunca elle kurulmuş her şey bir anda eksiktir. Asıl iş, o boşluktur.

Yedekte ne var

  • Web kökü
  • Veritabanı
  • Yüklemeler ve üretilmiş dosyalar

Genelde ne yok

  • PHP sürümü ve uzantıları.
  • Sitenin Nginx ya da Apache yapılandırması.
  • Sertifika ya da DNS taşınmadan önce bir tane alabilme imkânı.
  • Zamanlanmış görevler ve systemd birimleri.
  • Ortam değişkenleri ve sırlar - yedeklerden haklı olarak dışlanırlar, dolayısıyla başka bir yerden gelmeleri gerekir.
  • Posta yapılandırması ve yeni adresin ters DNS kaydı.

İşe yarayan sıra

  1. Önce makineyi kurun — aynı PHP sürümü ve aynı uzantılar - eskisinde php -m size listeyi verir.
  2. Dosyaları ve veritabanını geri yükleyin — sonra sahipliği ayarlayın: sudo chown -R sara:www-data /var/www/site.
  3. Veritabanı kullanıcısını ve yetkilerini yeniden oluşturun — onlar sizin yedeğinizde değil, mysql şemasında otururlar. Bakınız kullanıcılar ve yetkiler.
  4. Yapılandırmayı geri koyun — web sunucusu, zamanlanmış görevler, birimler ve parola yöneticinizden gelen ortam dosyası.
  5. DNS taşınmadan önce yeni adreste deneyin — kendi makinenizdeki bir hosts dosyası girdisiyle.
  6. Sertifikayı alın, sonra DNS'i taşıyın — bakınız kesintisiz taşımak.
# test the new server while DNS still points at the old one
# /etc/hosts on your laptop
203.0.113.99  yourdomain.com www.yourdomain.com
O hosts girdisiyle yeni adreste site doğru yanıt verene kadar DNS'i taşımayın. Önce taşımak, zorlu bir öğleden sonrayı herkesin gördüğü bir kesintiye çevirir.
Elle yapmak zorunda kaldıklarınızı yazın. O liste, yedeğinizin eksik parçasının ta kendisidir; bir dahaki sefere bir öğleden sonra süren hatırlama çabası değil, bir betik olur.