Proses relokasi data user akun cpanel antar server memiliki beberapa alternatif, yakni bisa melalui fitur transfer account pada panel whm itu sendiri, proses secara parsial, mulai dari web, database, ataupun email. Namun dalam artikel ini didokumentasikan alternatif relokasi data user akun cpanel antar server cloudlinux ataupun centos terhadap cloudlinux melalui command line interface. Dalam pelaksanaannya, untuk relokasi data user akun cpanel terdapat tiga kondisi, yaitu:
- Relokasi data satu user akun cpanel
- Relokasi data beberapa user akun cpanel
- Relokasi data seluruh user akun cpanel
Dengan catatan, batasan pembahasan relokasi yang disampaikan dalam artikel ini adalah hanya terbatas kepada data user akun cpanel saja, tidak beserta dengan keseluruhan file sistem server beserta konfigurasi dengan sistem cpanelnya. Oleh karena itu, tentu pada server tujuan sudah harus terinstall serta terkonfigurasi cpanel yang menggunakan sistem operasi cloudlinux.
1. Relokasi data satu user akun cpanel
Sebelumnya proses relokasi, direkomendasikan untuk dapat melakukan proses generate backup data user akun cpanel terlebih dahulu. Cpanel sudah memiliki fitur script khusus, termasuk dalam melakukan generate backup user cpanel. Kemudian untuk detail tahapan prosesnya adalah sebagai berikut.
Generate data backup
Proses generate backup seluruh data cpanel untuk satu user cpanel tertentu.
Login kedalam server_a sebagai root kemudian lakukan proses generate backup menggunakan perintah / script cpanel berikut.
root@server_a [~]# /scripts/pkgacct usernamecpanel1
Hasilnya data backup akan tersimpan dengan format nama file cpmove-username.tar.gz. File cpmove tersebut berisi full backup data suatu user cpanel, mulai dari documentroot atau public_html web, database, email, maillist, ssl, log, dns zone, user passwd dan lainnya yang terkompress dan siap di pindahkan. Secara default setelah generate backup, file tersebut tersimpan di dalam direktori /home.
Relokasi data backup
Pindahkan atau sinkronisasikan data hasil generate backup tersebut secara remotely ke dalam server_b menggunakan rsync.
root@server_a [~]# rsync -avhP /home/cpmove-usercpanel1.tar.gz -e "ssh -p 1234" [email protected]:/home
Opsi ssh -p 1234 apabila di server_b dengan ip address nya yaitu 192.168.137.2 menggunakan port akses ssh 1234.
Restorasi data backup
Data hasil generate backup telah tersimpan didalam direktori /home pada server_b dan siap di restore menggunakan script khusus yang disediakan cpanel. Pertama tentu login terhadap server_b melalui ssh terlebih dahulu. Kemudian restorekan data hasil backup dari server_a yang sudah di rsync kedalam server_b menggunakan pertinah berikut.
root@server_b [~]# cd /home && /scripts/restorepkg cpmove-usercpanel1.tar.gz
Aktifasi cagefs
Khusus untuk cpanel /whm yang menggunakan sistem operasi cloudlinux memiliki (beberapa) fitur cagefs dan php version selector. Secara default user cpanel yang di restorekan masih belum aktif dan dapat diaktifkan menggunakan perintah berikut.
root@server_b [~]# cagefsctl --enable usercpanel1
Catatan, usernamecpanel1 bisa disesuaikan dengan nama user cpanel didalam masing masing server. Cpanel sudah menyimpan informasi username atas domain, addon domain, atau subdomain nya yang aktif di dalam file /etc/userdomains dan untuk seluruh username cpanel tersimpan di dalam direktori /var/cpanel/users atau file /etc/trueuserdomains.
2. Relokasi data beberapa user akun cpanel
Perihal tahapannya tetap sama, hanya sedikit berbeda pada prosesnya saja. Untuk beberapa user cpanel, daftar user cpanel harus di simpan terlebih dahulu dialam suatu file temporer.
Generate data backup
Sebelum melakukan proses generate data backup, buat file kosong yang bersifat temporer terlebih dahulu untuk menyimpan informasi daftar user akun cpanel yang hendak dibackup.
root@server_a [~]# touch /root/listuser
Isikan daftar user user akun cpanel pada file /root/listuser di atas terlebih dahulu, bisa menggunakan echo ataupun text editor. Format penulisan username cpanelnya untuk satu username dicatat dalam satu baris, contohnya terdapat 10 username cpanel yang hendak di backup.
username1 username2 username3 dst.. username10
Selanjutnya dapat diproses generate backup menggunakan perintah berikut.
root@server_a [~]# cat /root/listuser|while read cpuser ;do /scripts/pkgacct $cpuser;done
Relokasi data backup
Tahapan yang masih sama dan masih menggunakan daftar user user cpanel yang sama yang tersimpan di dalam file /root/listuser.
root@server_a [~]# cat /root/listuser|while read cpuser;do rsync -avhP /home/cpmove-$cpuser.tar.gz -e "ssh -p 1234" [email protected]:/home;done
Restorasi data backup
Seluruh data backup sudah tersinkronisasikan melalui rsync dan tersimpan di dalam direktori /home server_b. Namun untuk daftar user user cpanel yang hendak di restorekan masih berada di server_a. Oleh karenanya perlu untuk di rsync kembali file yang berisi daftar user user cpanel dari server_a tersebut ke dalam server_b, atau opsi lain yaitu dengan menginputkan kembali daftar user user cpanel yang hendak di restorekan.
root@server_b [~]# rsync -avhP -e "ssh -p 1234" [email protected]:/root/listuser /root;done
Catatan, server_a memiliki ip address 192.168.137.3 sehingga proses perintah di atas melakukan sinkronisasi data secara remotely dari remote server (server_a) sebagai source file nya.
Setelah file yang menyimpan informasi daftar user user cpanel tersimpan di dalam /root/listuser dan sudah berada di server_b, selanjutnya lakukan proses restorasi dengan perintah berikut.
root@server_b [~]# cd /home && cat /root/listuser|while read cpuser;do /scripts/restorepkg $cpuser;done
Aktifasi cagefs
Daftar user user cpanel yang tercatat didalam file /root/test yang sudah direstorekan masih belum diaktifkan fitur cagefs beserta php version selectornya. Gunakan perintah berikut untuk aktifasi cagefs untuk setiap user user cpanel yang tercatat di dalam file /root/listuser.
root@server_b [~]# cat /root/listuser|while read cpuser;do cagefsctl --enable $cpuser;done
3. Relokasi data seluruh user cpanel
Untuk keseluruhan akun cpanel, daftar user user cpanel sudah tercatat di dalam file /etc/trueuserdomains atau di dalam direktori /var/cpanel/users sehingga tidak perlu membuat file kosong atau yang bersifat temporer kembali untuk mengisikan user cpanel yang hendak di backup dan di relokasikan.
Perihal proses dan tahapannya sama, bisa langsung menggunakan file /var/cpanel/users atau persis dengan proses dan tahapan pada point kedua, namun dengan menyalin (copy) file /var/cpanel/users terhadap /root/listuser terlebih dahulu.
root@server_a [~]# ls /var/cpanel/users > /root/listuser
Opsi lain untuk proses generate backup seluruh data user cpanel dapat menggunakan script backup berikut.
root@server_a [~]# /usr/local/cpanel/bin/backup
Hasil generate backup tersebut akan tesimpan di dalam folder /backup sehingga dapat di rsync dari source /backup/[format:thn-bln-tgl]/accounts/username.tar.gz tersebut kedalam direktori /home server tujuan.
keren