Prosedur Migrasi Web Server
Migrasi web server adalah proses pemindahan data, konfigurasi, dan aplikasi dari satu infrastruktur ke infrastruktur lain. Keberhasilan migrasi ditentukan oleh perencanaan matang, sinkronisasi data yang akurat, dan pengujian pasca-migrasi untuk memastikan integritas sistem tetap terjaga.
Fase Persiapan dan Audit
Sebelum memulai, lakukan audit menyeluruh terhadap lingkungan server saat ini. Identifikasi semua dependensi, versi perangkat lunak, dan konfigurasi khusus yang berjalan. Pastikan Anda memiliki akses root penuh ke server sumber dan tujuan.
| Tahap | Tindakan Teknis | Tujuan |
|---|---|---|
| Audit | Inventarisasi versi PHP, MySQL, Nginx/Apache | Kompatibilitas |
| Backup | Full snapshot server & dump database | Keamanan data |
| Sinkronisasi | Rsync data statis ke server baru | Efisiensi waktu |
| Testing | Uji aplikasi di environment staging | Validasi fungsi |
| Cutover | Update DNS record | Go-live |
Langkah Teknis Migrasi
- Backup Total: Lakukan dump database menggunakan
mysqldumpdan kompresi file web menggunakantar -czvf. - Setup Server Baru: Instal stack yang identik (OS, Web Server, Database, PHP/Python/Node.js). Gunakan konfigurasi yang sama untuk menghindari error runtime.
- Transfer Data: Gunakan
rsync -avzuntuk memindahkan file secara aman dan menjaga permission file tetap konsisten. - Konfigurasi Database: Import dump ke server baru. Pastikan user database dan hak akses (privileges) telah disesuaikan dengan environment baru.
- Uji Coba (Staging): Modifikasi file
/etc/hostspada komputer lokal Anda untuk mengarahkan domain ke IP server baru. Lakukan pengujian fungsionalitas secara menyeluruh. - Cutover: Turunkan TTL (Time To Live) pada DNS record Anda menjadi 300 detik (5 menit) sebelum migrasi. Setelah yakin, arahkan DNS ke IP server baru.
Troubleshooting Umum
Masalah yang sering muncul adalah ketidakcocokan versi library atau permission file yang salah. Gunakan perintah chown -R www-data:www-data /var/www/html untuk memastikan web server memiliki akses baca-tulis yang benar. Selalu pantau error log di /var/log/nginx/error.log atau /var/log/apache2/error.log selama masa transisi.