Cara Menggabungkan Beberapa Akun cPanel menjadi 1 Akun

Posted on

Gabung Akun cPanel

Bagi pebisnis hosting yang menggunakan panel WHM/cPanel, tentunya ada pukulan berat yang mulai terasa pada awal bulan September ini yaitu harga cPanel yang dibatasi dengan jumlah akun. Kriterianya mulai dari Solo, Admin, Pro dan Premier dan tidak tanggung-tanggung per 100 akun dikenakan harga mulai $45 dan tambahan $0.2 per akun. Katakanlah kita memiliki akun sebanyak 150 maka harga yang mesti dibayarkan perbulan adalah $45 + ($0.2 * 50) = +-$55. Maka bisa dikatakan harganya sangat jauh dari rata-rata sebelumnya yang hanya $14 (biaya tambahan $41 untuk jumlah akun yang sama).

Perampingan diperlukan karena biaya lisensi ini membengkak, maka penggabungan beberapa akun dalam bentuk addons domain adalah solusi yang tepat untuk beberapa hosting yang dipunya oleh orang yang sama. Adapun caranya gampang saja, kurang lebih seperti ini:

Warning: Diperlukan keahlian Linux Advanced serta akses root WHM untuk dapat melakukan hal ini, kerusakan menjadi tanggungjawab yang menjalankannya.

Step 1: Tentukan Akun Master

Langkah pertama yang mesti kita ambil adalah menentukan domain mana yang akan menjadi akun master, jadi nanti kita login ke satu akun ini untuk kelola beberapa domain yang akan dimasukan ke addons. Sebagai contoh disini saya definisikan seperti ini:

cPanel Account 1
username: nugibiz1
domain: nugi.biz

cPanel Account 2
username: nugiweb2
domain: nugi.web.id

Disini saya menyebut cPanel Account 1 sebagai Master dan cPanel Account 2 sebagai Secondary.

Step 2: Perhatikan Limit Akun Master

Biasanya cPanel akun ada limitnya berdasarkan paket, nanti jika digabung jangan lupa tambahkan/ubahsesuaikan limit seperti seharusnya. Misal domain Master limitnya 1 GB Disk dan domain Secondary limitnya 500MB maka kita harus sesuaikan limit paket akun tersebut menjadi 1.5GB. Anda bisa juga menonaktifkan Quota untuk sementara waktu, namun tidak saya sarankan.

Step 3: Nonaktifkan “Database Prefixing” dan “Restrict public_html”

Secara otomatis database pada akun cPanel menggunakan prefix sesuai dengan username misal Master nugibiz_ Secondary nugiweb_ maka jika database prefixing ini tidak diganti otomatis databasenya ketika dipindah mesti disesuaikan pada wp-config.php masing masing atau file tempat variable database berada. Untuk menghindari gonta ganti database, kita cukup disable database prefixing dengan cara:

A. Cari di SQL pada WHM >> Tweaks Settings dan pilih opsi Off pada:

Require a username prefix on names of new databases and database users

Adapun supaya folder domainnya tidak menumpuk dalam 1 folder public_html, kita cukup sesuaikan seperti ini:

B. Cari di Domains pada WHM >> Tweaks Setting dan pilih opsi Off pada:

Restrict document roots to public_html

Step 4: Full Backup Akun Secondary

Sebelum digabung, ada baiknya akun Secondary dibackup terlebih dahulu dengan menggunakan /script/pkgacct, dokumentasi lebih lengkapnya ada disini. Cukup jalankan seperti ini:

/script/pkgacct nugiweb2 /backup/

Catatan: Ini akan membackup akun Secondary dengan tujuan folder /backup/

Step 5: Catat seluruh Domain, Sub-domain, Alias, Addons pada Secondary

Untuk mencatat semuanya cukup jalankan perintah sederhana ini:

uapi --user=nugiweb2 DomainInfo list_domains

Sesuaikan akun Secondary dengan akun yang akan digabungkan, kurang lebih nanti hasilnya seperti ini:

# uapi --user=account2 DomainInfo list_domains
---
apiversion: 3
func: list_domains
module: DomainInfo
result:
  data:
    addon_domains:
      - nugiaddon2.tld
    main_domain: nugi.web.id
    parked_domains:
      - nugialias2.tld
    sub_domains: []

  errors: ~
  messages: ~
  metadata: {}

  status: 1
  warnings: ~

Catat semua untuk nanti dibuat di akun Master sebagai tipe yang sama, misal Addons nanti dibuatnya Addons, Alias nanti dibuatnya Alias, Subdomain nanti dibuatnya Subdomain. Cukup disesuaikan masing masing saja, adapun jika sudah tidak diperlukan bisa diabaikan.

Step 6: Copy folder /home/nugiweb2/etc/ ke Akun Master

Folder /home/nugiweb2/etc/ berisi autentikasi password dan username email maupun quota files, perintah copynya seperti ini:

cp -a /home/nugiweb2/etc/nugi.web.id /home/nugibiz1/etc/

Step 7: Copy juga folder /home/nugiweb2/mail ke Akun Master

Tadi sudah melakukan copy untuk autentikasi password dll, sekarang kita copy folder Mail juga jika diperlukan, perintahnya kurang lebih seperti ini:

cp -a /home/nugiweb2/mail/nugi.web.id /home/nugibiz1/mail/

Step 8: Download MySQL Databases, Email Filters, dan Email Forwarders

Akses cPanel Secondary seperti biasa ke menu backup, nanti bisa di Download masing masing mulai dari MySQL Database, Email FIlters dan juga Email Forwarders. Catat pula user privilegesnya, mulai dari nama user sampai ke privileges masing masing user. Biasanya sih saya privilegesnya diset ALL, tapi incase hanya butuh privileges tertentu maka disesuaikan pula.

Adapun jika ingin melakukan backup database menggunakan command line kurang lebih perintahnya seperti ini:

mkdir /backup/mysql/
mysqldump nugiweb1_db1 > /backup/mysql/nugiweb1_db1.sql

Sesuaikan nama database dengan yang ada pada Secondary.

Step 9: Copy Root public_html Secondary

Yang utama, copy folder public_html Secondary ke Master dengan perintah seperti ini:

Untuk domain utama Secondary seperti ini:

cp -a /home/nugiweb2/public_html /home/nugibiz1/nugi.web.id

Untuk addons domain Secondary seperti ini:

cp -a /home/nugiweb2/addon.tld /home/nugibiz1/

Untuk subdomain Secondary seperti ini:

cp -a /home/nugiweb2/subdomain3.tld /home/nugibiz1/

Cukup sesuaikan folder masing masing untuk addons maupun subdomain, formatnya kurang lebih nama akses/domain masing masing untuk dicopykan. Misal nama addons addon.tld maka format di akun master nantinya jadi /home/nugibiz1/addon.tld

Step 10: Copy DNS Zone Secondary

DNS cukup critical pada saat perpindahan, karena email server (MX) maupun (TXT) akan direset otomatis pada saat penggabungan. Maka dari itu kita mesti backup DNS Zone Secondary perintahnya seperti ini:

cp -a /var/named/nugi.web.id.db /var/named/nugi.web.id.db.backup1

Jangan lupa dibackup semua domain sesuai dengan yang ada pada Step 5

Step 11: Copy Cronjobs

Jangan lupa pula untuk copy perintah cronjob yang ada pada Secondary, supaya jangan lupa nanti disesuaikan juga dengan directory yang ada pada akun Master. Backupnya bisa pada menu ini cPanel >> Cron Jobs

Step 12: Cek & Ricek Additional Data

Cek & Ricek pada Secondary wajib dilakukan barang kali ada folder yang tertinggal atau ada service semacam PostgreSQL dan SSL Certificate. Jangan lupa dibackup untuk nanti direstore pada akun Master.

Step 13: Update Ownership Folder Secondary

Agar tidak terjadi permission denied, kita mesti sesuaikan ownership folder yang sudah dicopy agar menjadi sesuai dengan owner maupun group akun Master. Jalankan perintah ini:

Untuk update UID seperti ini:

find /home/nugibiz1/ -user nugiweb2 -exec chown nugibiz1 {} \;

Untuk update GID seperti ini:

find /home/nugibiz1/ -group nugiweb2 -exec chgrp nugibiz1 {} \;

Selanjutnya sesuaikan user dan group yang ada difile passwd seperti ini:

sed -i s/'nugiweb2'/'nugibiz1'/g /home/nugibiz1/etc/nugi.web.id/passwd

Cukup sesuaikan user dan nama domain masing masing  yahh~~

Step 14: Terminate Akun Secondary

Cari pada WHM >> Terminate Account pilih akun Secondary dan jangan lupa untuk tidak mencentang Keep DNS Zone. Eksekusi selanjutnya harus secepat mungkin agar tidak terjadi selisih maupun downtime terlalu lama.

Step 15: Tambahkan Domain, Addons dan Subdomain Sesuai dengan Step 5

A. Untuk Main Domain Secondary, silakan ditambahkan pada Addons pada akun Master pada cPanel >> Addon Domains.

B. Untuk Addons Domain Secondary, silakan ditambahkan pada Addons pada akun Master pada cPanel >> Addon Domains.

C. Untuk Alias Domain Secondary, silakan ditambahkan pada Addons pada akun Master pada cPanel >> Addon Domains.

D. Untuk Subdomain Secondary, silakan ditambahkan pada Subdomains pada akun Master pada cPanel >> Subdomains.

Pastikan path-nya sesuai dengan path yang kita restore pada Step 9.

Step 16. Restore MySQL Databases, Email Filters dan Email Forwarders

Akses cPanel akun Master restore pada menu cPanel >> Backup, restore semuanya mulai dari MySQL, Email Filter maupun Email Forwarders yang sudah dibackup tadi pada Step 8.

Jika MySQL terlalu besar (lebih dari 50 MB) bisa menggunakan command line, namun harus dibuat dulu databasenya dengan nama yang sama persis dengan database Secondary pada akun Master. Copy file database terkait pada folder /backup/mysql/ kemudian jalankan perintah:

cd /backup/mysql/
gunzip namadatabase-db.sql.gz
mysql namadatabase-db < namadatabase-db.sql

Yang paling penting, kita mesti sesuaikan nama user dengan privilegesnya masing masing. Agar tidak mengubah, silakan buat nama user sesuai dengan yang sudah kita catat pada Step 8. Contoh untuk beberapa CMS terkenal seperti WordPress dan Joomla, kurang lebih letaknya seperti ini:

WordPress – wp-config.php

define('DB_NAME', 'nugiweb2_wrdp1');
define('DB_USER', 'nugiweb2_wrdp1');
define('DB_PASSWORD', 'INIPASSWORD');

Joomla – configuration.php

public $user = 'nugiweb2_joomla';
public $password = 'INIPASSWORD';
public $db = 'nugiweb2_joomla';

Step 17: Restore DNS Zone

Yang terpenting selanjutnya adalah restore DNS Zone agar sesuai dengan yang ada pada Step 10, jalankan perintah ini:

rm /var/named/nugi.web.id.db
mv /var/named/nugi.web.id.db.backup1 /var/named/nugi.web.id.db

Cek pada WHM >> Edit DNS Zone pada domain Secondary copy Serial Number-nya kemudian edit menggunakan vi/nano sesuaikan Serial Number file /var/named/nugi.web.id.db. Misal Serial Number yang dicopy 2019101804 maka yang perlu disesuaikan menjadi 2019101805 (ditambahkan 1)

Setelah selesai, silakan Syncronize DNS Records agar cluster DNS mendapatkan update recordnya.

Step 18: Copy Backup Account untuk Restore Additional Data

Restore additional data seperti berikut:

mkdir /root/backup-copies
cp -a /path/to/cpmove-secondary-account.tar.gz /root/backup-copies/
cd /root/backup-copies/
tar zxvf cpmove-secondary-account.tar.gz
cd cpmove-secondary-account

Lakukan manual restore untuk hal-hal yang tidak tercover pada postingan ini seperti Mailing Lists, Autoresponders, PostgreSQL databases, SSL certificates, dll.

Step 19: 2 Akun Sudah Digabung menjadi 1

Cek pada akun Master dan pastikan semua yang ada pada Secondary sudah di restore dengan baik dan benar. Jangan lupakan untuk sesuaikan Quota maupun Bandwidth serta pendukung lainnya pada akun Master.

Kurang lebih seperti itu 19 Langkah menggabung 2 akun cPanel, jika ada pertanyaan silakan comment.

Semoga bermanfaat~~

Ref: https://forums.cpanel.net/resources/how-to-manually-combine-two-cpanel-accounts-into-one.635/

Gravatar Image
Seorang warga negara Indonesia biasa. Pengguna MAC dan develop server Ubuntu & CentOS. Contact : admin [at] nugi.biz

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.