cloudlinuxProses 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:

  1. Relokasi data satu user akun cpanel
  2. Relokasi data beberapa user akun cpanel
  3. 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.