Cara Melakukan Migrasi Website (Pindah Server) Secara Zero Downtime

Memindahkan website/blog ke server yang lebih bagus itu adalah sebuah keharusan, khususnya untuk website/blog yang sudah memiliki visitor hingga ribuan atau bahkan ratusan ribu perhari.

Kenapa demikian? Karena, kalau kita masih menggunakan server/hosting dengan spek yang rendah tapi dengan visitor yang sudah ratusan ribu, tentu akan sangat berpengaruh terhadap website/blog yang kita kelola tersebut.

Akibatnya, server kita akan down dan secara otomatis website/blog kita tidak bisa diakses oleh para loyal visitor dan pastinya hal tersebut akan membuat kepercayaan mereka terhadap kita menjadi menurun.

Untuk mengatasi itu semua, mau tidak mau kita harus mencari server/hosting dengan spek yang lebih mumpuni. Eitss, tentunya bukan cuma itu saja! Kita juga harus berpikir bagaimana cara memindahkan semua file serta database kita tanpa harus menunggu lama.

Memangnya bisa? File dan database-nya kan sudah bergiga-giga, disamping itu kita juga butuh koneksi yang mumpuni untuk melakukan download dan upload ulang, sedangkan kita tahu sendiri kalau koneksi di negara ini sangat lelet.

Tentunya hal ini akan menimbulkan masalah juga, di mana bisa jadi file dan database kita tidak ter-backup secara keseluruhan. Pada intinya cara ini cukup ribet dan sangat lama, pada akhirnya balik lagi ke kasus yang pertama tadi.

Tapi, nggak usah bingung dan khawatir akan hal tersebut. Tadi, kita (Santri Sintesa) baru saja mendapat ilmu baru mengenai migrasi website dari Sensei (Ibrahim Vatih). Di mana, kita tidak perlu download-upload ulang file serta database. Dijamin, hanya dalam hitungan detik saja semua file dan database kita akan berpindah dari server/hosting yang lama ke yang baru.

Pertama-tama, kita harus menyiapkan dulu alat tempurnya. Jika kamu menggunakan Mac OS atau Linux, maka siapkan terminalnya (tapi bukan terminal tempat mangkal bus loh ya.. hehe) sedangkan yang pakai windows harus install dulu aplikasi yang namanya ‘puTTy’.

1. Langkah pertama kita backup dulu file dan database website yang akan kita pindah via SSH.

Caranya, kita login dulu ke server yang lama lewat SSH (Secure Shell). Kalau ada yang belum tahu apa itu SSH? Tanya saja sama mbah Google.

Ketikkan perintah ini ke terminal/puTTy.

ssh -p 2222 [email protected]

Kemudian masuk ke public html dengan perintah ini

cd public_html

Di sini kita akan lihat folder-folder instalasi website kita, kemudian kita convert (.zip) folder website yang akan kita pindahkan menggunakan perintah berikut

zip -r archive_name.zip folder_name

archive_name kita isi dengan nama file.zip yang akan kita gunakan, misalkan blogku.com.zip atau bisa kamu sesuaikan dengan nama website kamu. Sedangkan folder_name kita isi dengan nama folder yang akan kita convert, dalam kasus ini ya folder instalasi website kita.

Lanjut ke tahap berikutnya, yaitu meng-convert database menjadi file (.sql). Tapi, kita harus tahu dulu DBNAME, DBUSER dan DBPASSWORD dari database kita. Caranya ketikkan perintah di bawah ini.

nano folder_name/folder_instalasi/wp-config.php

Folder_name adalah folder di mana kita meng-install website, biasanya namanya sama dengan nama domain. Folder_instalasi adalah folder di mana kita menyimpan database (Jika nggak ada, ya nggak usah ditulis) sedangkan yang wp-config.php merupakan tempat di mana DBNAME, DBUSER dan DBPASSWORD kita berada. Copy tiga hal tersebut dan paste ke tempat yang mudah diakses, kemudian tekan Ctrl+X untuk keluar.

Selanjutnya, ketikkan perintah dibawah ini

mysqldump -u DBUSER -pDBPASSWORD DBNAME > file_name.sql

Kita bisa mengetikkan perintah tersebut di manapun kita inginkan. Tapi, untuk lebih mempersingkat waktu pemindahan, mendingan ketikkan saja di dalam public_html.

Sekarang kita sudah punya data yang akan kita pindahkan. Kemudian logout dari server lama dan login ke server yang baru, caranya login-nya sama dengan login di server lama, tinggal ganti [email protected] dengan nama server yang baru.

 

2. Transfer file via SSH

Langkah pertama, ketikkan perintah di bawah ini saat sedang login di server lama.

scp file.zip user@remote_host:/folder/file.zip

Perintah di atas merupakan perintah untuk memindahkan backup data (.zip) dari server lama ke server baru. Kemudian pindahkan juga file.sql menggunakan perintah di atas, dengan mengganti file.zip menjadi file.sql.

Jika semua backup data sudah berhasil kita pindahkan, saatnya untuk mengekstrak file.zip dengan perintah di bawah ini.

unzip file.zip

Tunggu beberapa saat hingga semua file berhasil diekstrak. Jika sudah, masuk ke cPanel dan buat database baru di menu Mysqldatabase yang ada di cPanel. Buatlah DBNAME, DBUSER dan isi paswordnya sesuai dengan keinginan serta sinkronkan keduanya. Jika muncul pop-up previlages (centang semuanya) dan pilih make changes. Kita sudah berhasil membuat database baru, tetapi database tersebut masih kosong.

Untuk mengisi database tersebut, kita restore database yang sudah kita ambil dari server lama (file.sql). Caranya, ketikkan perintah di bawah ini.

mysqldump -u DBUSER -pDBPASSWORD DBNAME < file_name.sql

DBUSER, DBPASSWORD dan DBNAME isi dengan DBUSER, DBPASSWORD dan DBNAME yang baru kita buat di server baru. Tunggu beberapa saat hingga prosesnya selesai.

Jika sudah selesai, kita ubah dulu DBUSER, DBPASSWORD dan DBNAME dengan yang baru. Caranya ketikkan perintah di bawah ini.

nano folder_name/folder_instalasi/wp-config.php

Ingat penjelasan di atas mengenai folder_instalasi. Jika sudah masuk, ganti DBUSER, DBPASSWORD dan DBNAME yang lama dengan DBUSER, DBPASSWORD dan DBNAME yang baru. Kemudian tekan Ctrl+X dan ketik yes untuk menyimpan perubahan.

 

3. Mengganti NS (Name Server)

Login ke domain panel (misalkan domainesia), masuk ke bagian menu setting kemudian ubah name server dengan yang baru. Tetapi, sebelum itu kita harus konfimasikan dulu ke cPanel server kalau akan ada domain baru yang masuk.

Caranya, masuk ke cPanel pilih addon domain, kemudian tulis nama domain kamu dan save. Tunggu hingga minimal 2×24 jam guna memastikan proses fetching data benar-benar selesai. Tetapi nggak perlu khawatir, website kita tetap bisa diakses kapanpun dan dimanapun.

Perlu diingat juga, selama proses fetching data jangan pernah melakukan update pada website dalam bentuk apapun. Karena bisa jadi, ketika kita melakukan update posisi website kita masih ada di server lama dan secara otomatis nggak bakalan tersimpan di server yang baru.

11 thoughts on “Cara Melakukan Migrasi Website (Pindah Server) Secara Zero Downtime”

  1. Keren artikel nya… huhuy akhirnya dapet, ane mindahin manual via SFTP tapi pas di akses di server baru tulisannya Internal Server Error..
    kalo pake cara di atas bisa gak akhi ?
    Lumayan gede lho backupan server lama ane sampai 13GB. :(

    Mohon masukannya

    Reply

Leave a Comment