Cara migrasi WordPress dengan rsync dan WP-CLI, dari server ke server, atau VPS ke dedicated server atau sebaliknya. Pada tutorial ini, pastikan kedua server telah terinstall WP-CLI, jika belum silahkan ikuti panduan cara install WP-CLI.
Langkah-langkah migrasi WordPress dengan rsync dan WP-CLI
Migrasi WordPress antar server cepat dan mudah menggunakan rsync dan WP-CLI, berikut step by stepnya:
Login SSH ke server lama
ssh root@ip
Pengguna OS Windows silahkan gunakan aplikasi Putty
Masuk ke direktori web root
cd /var/www/html
Lakukan backup mysql
wp db export bak.sql --allow-root
Hasilnya, file database backup dengan nama bak.sql akan berada di direktori web root, silahkan periksa dengan perintah ll
atau ls
. Ingat nama file ini, karena nanti akan diimport ke database server baru.
Login SSH ke server baru
Lupakan, tinggalkan server lama, sekarang anda fokus ke server baru!.
Login ke server baru via SSH kemudian masuk ke direktori web root yang sudah anda setup sebelumnya.
cd /var/www/public_html
Transfer file menggunakan rsync
Mulai melakukan transfer file dengan memanfaatkan utilitas rsync
rsync -avz root@IP_SERVER_LAMA:/var/www/html/ .
a : archive
v : verbose
z : compress
Akan ada permintaan password, masukkan password akun root server lama dan tunggu beberapa saat. Jika proses transfer selesai hasilnya seperti contoh berikut:
sent 259 bytes received 54,059 bytes 12,070.67 bytes/sec total size is 31,184,297 speedup is 574.11
Silahkan periksa, pastikan struktur folder dan file dari server lama tersalin semua
ls -lah
Import database SQL
Membuat user dan database
Jika Anda sudah membuat user dan dan nama database persis seperti di server lama lewati langkah ini. Langsung ke langkah selanjutnya, melakukan import SQL database.
Lihat konfigurasi pada file wp-config.php
cat wp-config.php
Periksa bagian berikut
/** The name of the database for WordPress */ define('DB_NAME', 'nama_database'); /** MySQL database username */ define('DB_USER', 'user_database'); /** MySQL database password */ define('DB_PASSWORD', 'katasandi_db');
Buat nama database, user database dan password database sama seperti di file wp-config.php
. Silahkan ikuti contoh per baris perintah berikut:
mysql -u root -p create database nama_database; create user 'user_database'@'localhost' identified by 'katasandi_db'; grant all on nama_database.* to 'user_database'@'localhost'; flush privileges;
Import SQL Database
Tentunya file bak.sql sudah ikut tersalin di server baru, jadi yang dibutuhkan hanya melakukan import ke database saja.
wp db import bak.sql --allow-root
Hasilnya
Success: Imported from 'bak.sql'.
Proses migrasi selesai.
Langkah selanjutnya adalah mengganti nameserver pada domain dan arahkan ke IP server baru.