Hai, Sob! Sekarang kamu tidak perlu bingung lagi jika ingin melakukan migrasi data antar VPS karena artikel kali ini akan menjelaskan caranya dengan langkah-langkah yang mudah diikuti.
Tutorial ini bersifat universal, jadi pengguna VPS dengan panel seperti Webuzo, VestaCP, cPanel, dan lainnya atau pengguna VPS tanpa panel dapat mengikuti panduan ini. Hal penting yang harus kamu lakukan adalah ikuti langkah-langkahnya dengan hati-hati dan cermat, karena meskipun tutorialnya fleksibel, kesalahan kecil bisa membuat migrasi gagal atau data hilang.
Persiapan Awal
Untuk memudahkan kamu mengikuti skenario migrasi kali ini, asumsikan:
- VPS A adalah sebutan untuk VPS lama dan
- VPS B untuk VPS baru.
Kasus pada artikel ini akan memindahkan web berbasis WordPress. Rekomendasi yang disarankan agar tidak bingung ketika melakukan konfigurasi ke depannya yaitu setting VPS B akan sama persis dengan VPS A. Misalnya, jika di VPS A menggunakan Webuzo maka di VPS B harus sama.
Manfaatkan tool catatan seperti notepad untuk mencatat informasi penting terkait web WordPress seperti kredensial database, lokasi file web, username dan password VPS, serta alamat IP VPS. Contoh informasi VPS A dan VPS B di artikel ini sebagai berikut:
VPS A (Lama)
IP Address: 154.19.37.85
Username VPS A: root
Password VPS A: abcdefg
Lokasi public_html: /var/www/html/example.com
MySQL username: root
MySQL database: db_wp67
MySQL password: jagoan345
VPS B (Baru)
IP Address: 103.157.96.115
Username VPS B: root
Password VPS B: abcdefg
Lokasi public_html: /var/www/html/example.com
MySQL username: root
MySQL database: db_wp67
MySQL password: jagoan345
Jika kamu menggunakan Webuzo atau VestaCP, mungkin lokasi panel yang digunakan akan terlihat seperti:
- Webuzo
/home/jagoan/public_html/example.com
- VestaCP
/home/jagoan/web/namadomain.com/public_html
Catatan: jagoan adalah username dari Webuzo atau VestaCP.
Untuk melihat detail database WordPress, periksa pada file wp-config.php.

Pastikan setiap detail informasi pada VPS A dan VPS B sama ya, yang berbeda hanya alamat IP saja. Ini bertujuan untuk memudahkan menginstal dan menyetting di VPS baru nanti.
Instal Rsync
Setelah mencatat rincian yang dibutuhkan, selanjutnya instal software ajaib bernama rsync untuk menjembatani proses migrasi kali ini. Rsync mampu menyinkronkan dua buah direktori (bisa dalam satu VPS atau antar VPS).
Instal rsync di VPS A dan VPS B. Untuk menginstal rysnc, jalankan perintah berikut:
#Debian atau Ubuntu
apt-get install rsync
#CentOS
yum install rsync

Backup Database
1) Setelah menginstal rsync, selanjutnya lakukan backup database dan file. Buat koneksi SSH ke VPS A di terminal dengan menjalankan perintah:
ssh username@alamat-ip-vps
ATAU bisa menggunakan PuTTY.
2) Setelah itu, masuk ke direktori public_html situs kamu berada.
cd /var/www/html/example.com
3) Kemudian, backup database situs WordPress menggunakan perintah:
mysqldump -u root -p db_wp67 > db-situs-example.sql
Keterangan
- root: nama user MySQL
- db_wp67: nama database
- db-situs-example.sql: file backup yang dihasilkan dari perintah di atas
Apabila muncul permintaan mengisi password, masukkan password MySQL. Setelah berhasil menjalankan perintah backup, file hasil backup yaitu db-situs-example.sql berada di /var/www/html/example.com.

4) Kemudian, kamu bisa melakukan transfer isi public_html WordPress menggunakan rsync. Tetapi, pastikan dulu di VPS B sudah menyiapkan lingkungan server seperti menginstal web server (Apache atau Nginx), MySQL, PHP, membuat direktori situs dan database kosong dengan nama yang sama seperti di VPS A.
Langkah-Langkah Migrasi Data Antar VPS
Setelah lingkungan server di VPS B siap, kamu bisa mulai melakukan proses migrasi. Kamu bisa memilih salah satu dari dua cara melakukan rsync. Hasil akhirnya akan sama, yang membedakan hanya perintah yang digunakan saja.
Ingat! Ini adalah langkah yang perlu kamu perhatikan dan ikuti dengan teliti, jika salah maka file akan gagal dipindahkan.
CARA 1: Login ke VPS A, kirim isi public_html dari VPS A ke VPS B
Jalankan perintah berikut untuk mengirim file dan folder situs WordPress.
rsync -av /lokasi/direktori/situs/yang/kamu/simpan/ username_VPS@IP_VPS_B:/lokasi/direktori/situs/akan/disimpan/
Sesuaikan perintah tersebut dengan kebutuhan, misalnya seperti:
rsync -av /var/www/html/example.com/ root@103.157.96.115:/var/www/html/example.com/
Saat pertama kali menjalankan perintah di atas, lalu muncul muncul pertanyaan yes/no, jawab dengan yes kemudian Enter lalu kamu akan dimintai password VPS B. Dan tunggu sampai proses migrasi selesai, lama waktunya tergantung besar ukuran web kamu.
Output setelah selesai melakukan rsync:

PENTING BANGET, SOB!
Perhatikan perintah rsync di atas, tertulis bahwa lokasi direktori public_html adalah /var/www/html/example.com/ padahal do catatan notepad tertulis /var/www/html/example.com.
Tanda garis “/” di belakang example.com diperlukan karena bukan memindahkan folder example.com dan isinya, tapi hanya memindahkan isi dari folder example.com tanpa perlu memindahkan folder example.com itu sendiri.
Jadi nanti hasil migrasinya berisi file situsnya saja, misalnya kalo web WordPress kan pasti ada file index.php. Maka si index.php ini akan berada di lokasi /var/www/html/example.com/index.php.
CARA 2: Login ke VPS B, tarik isi public_html dari VPS A ke VPS B
Cara kedua ini tidak berbeda jauh dengan sebelumnya. Setelah login ke VPS B, jalankan perintah berikut untuk menarik file dari VPS A.
rsync -av username_VPS@IP_VPS_A:/lokasi/direktori/situs/yang/kamu/simpan/ /lokasi/direktori/situs/akan/disimpan/
Silakan sesuaikan perintahnya dengan kebutuhan migrasi situs kamu seperti sebelumnya.
Import Database
Nah, setelah proses rsync selesai, saatnya kamu mengimpor database yang sudah dibackup pada langkah persiapan awal. Pastikan layanan MySQL di VPS B sudah aktif sebelum melakukan import database.
1) Pertama, buat koneksi SSH ke VPS B.
2) Lalu, masuk ke direktori public_html situs WordPress berada. Karena di awal telah menyamakan lokasinya, maka tinggal masuk saja ke /var/www/html/example.com.
cd /var/www/html/example.com
3) Selanjutnya, jalankan perintah import berikut:
mysql -u root -p db_wp67 < db-situs-example.sql
Ketika diminta memasukkan password, isi sesuai dengan yang ada di wp-config.php. Lalu Enter dan tunggu proses import sampai selesai.

Setelah proses impor database selesai, pastikan layanan di VPS B seperti web server (Apache/Nginx) sudah membuat dan mengaktifkan virtual host, BIND atau DNS server sudah berjalan dengan normal. Hal ini penting agar situs WordPress bisa langsung diakses dari server baru tanpa error.
Dan jika kamu menggunakan NS sendiri tinggal arahkan saja NS nya ke VPS baru. Kalau menggunakan NS yang sama berarti ganti IP nya di registrar domain kamu.
Kalau ada yang masih bikin bingung, jangan ragu hubungi Tim Support Jagoan Hosting melalui Live Chat atau Open Ticket, Sob. Good luck!
Pengantar Halo sobat Jagoan! di tutorial kali ini kita bakalan membahas permasalahan Error Undefined Index/Variable. Pasti sekarang kamu lagi main-main Read more
Pernahkah kamu mengalami error yang berkaitan dengan phpinfo mysqli, gd, pdo, zip, mcrypt, mbstring? Nggak perlu panik, Sob, kamu hanya Read more
Halo Sob! Pernah nemuin peringatan kayak gini nggak? Apa yang kamu lakukan ketika mendapatkan peringatan "Google Attack Site" seperti ini?[caption Read more
Tahu nggak, Sob! untuk dapat mengaktifkan layanan SSL murah, ada beberapa persyaratan yang harus disiapkan terlebih dahulu, diantaranya adalah CSR Read more