cPanel - Membuat Skrip Bantu Untuk Relokasi Reseller Hosting
Halu, piye coi? aman? Ketemu lagi di artikel Trik kali ini yang nda jauh² dari keseharian saya dalam aktivitas manajemen server web hosting. Berhubung tiap hari bercengkrama dengan server ber-cPanel, maka bahasan kali ini juga nda jauh dari cPanel. Beberapa dari Anda mungkin sudah tau atau bahkan mahir dalam pengoperasiannya. Jadi artikel ini sifatnya berbagi saja, seperti biasa, manatau ada yang belum ngerti dan menghadapi masalah serupa…
Intro
Masih tetep sama, latar belakangnya kerjaan. Selama 2 minggu kemarin ini sibuk relokasi 2 server reseller hosting, untungnya masih dibantu rekan kerja untuk garap salah satu server. Dengan bandwidth minim, akhirnya server yang saya kerjakan bisa berpindah konten hosting-nya ke lokasi baru selama 5 hari. Wow, lama bener dit? Yo dimaklumi wae, lha wong bandwitdh-nya minim, jadi transfer rate juga seret
Bicara tentang relokasi akun antar server cPanel tentunya nda akan terlalu rumit jika server tersebut hanya berisi kumpulan akun shared hosting, karena semuanya menggunakan private nameserver yang sama, yaitu milik si provider web hosting. Akan tetapi akan mulai rumit dan membutuhkan ketelitian lebih jika merelokasikan akun² reseller hosting. Beberapa hal yang harus dicermati saat relokasi akun reseller hosting adalah :
- Private nameserver yang dipakai tiap reseller.
- IP address yang dipakai tiap reseller.
- Dedicated IP address yang dipakai klien reseller [opsional].
- Paket hosting yang sudah dibuat tiap reseller.
- Akun hosting yang berada di bawah tiap reseller.
Analisa
Terdesak oleh limitasi waktu yang diberikan perusahaan membawa saya untuk membuat skrip bantu agar proses relokasi dapat berjalan dengan efektif dan efisien. Setelah bengong agak lama, tercetuslah 2 buah rencana pembuatan skrip, yaitu skrip untuk membuat file bekap secara massal dan skrip untuk restorasi file bekap secara massal. Sepintas memang nda sulit untuk mbekap dan restor akun, karena dari cPanel sendiri sudah tersedia skripnya. Akan tetapi…nah ini…restorasi akun reseller hosting nda bisa serta-merta dilakukan karena beberapa hal yang disebutkan di atas.
Sepintas, gini alurnya ; catat masing² akun reseller hosting, buat file bekapnya, pindahkan file bekap ke server baru, kopikan semua file paket hosting yang sudah ada, restorasi semua file bekap berdasarkan akun reseller dan finalisasi privileges tiap akun reseller. Cukup panjang alurnya, jadi saya cicil meracik skrip bantunya juga bertahap. Simak implementasi analisa tersebut ke dalam skrip di bawah ini.
Skrip Mbekap
Proses dimulai dari server lawas yang memuat semua akun hosting yang ingin direlokasikan. Beberapa file acuan juga harus disiapkan agar proses mbekap berjalan dengan baik dan sesuai dengan akun yang ada.
- Login ke shell server lawas, lalu buatlah sebuah direktori baru bertajuk pindahan di partisi /home. Masuk ke dalam direktori baru tersebut sesudahnya.
root@jangkrik [/]# mkdir /home/pindahan root@jangkrik [/]# cd /home/pindahan root@jangkrik [/home/pindahan]#
- Gunakan sembarang editor teks kegemaran Anda, lalu buatlah file baru bernama mbekap.
- Tuliskan semua kode program di bawah ini dan simpan hasil pengeditannya setelah selesai.
# cpanel - batch generate backup file by reseller account # by : adhitya chrstiawan nurprasetyo [dit] # http://dit.web.id # keftones14@yahoo.com # 19 februari 2010 - lekas sembuh ya dek kecil... # listening : enigma - once in the lifetime #!/bin/bash # catat semua username reseller hosting ke file usr cat /var/cpanel/resellers | cut -d":" -f1 >> usr # membuat file bekap berdasarkan reseller dan kliennya cat usr | while read username do touch $username for x in `grep OWNER=$username /var/cpanel/users/* -l | cut -d"/" -f5`; do echo $x >> $username ; done cat $username | while read oi; do /scripts/pkgacct $oi && mv /home/cpmove-$oi.tar.gz ./ ;done done # kompresi semua file pendukung cat usr | while read oi; do zip -r reseller.zip $oi ; done # ubah izin akses file bekapan chmod 644 cpmove-*.tar.gz *.zip
- Agar skrip bisa dieksekusi, maka berikanlah izin akses execute kepada skrip mbekap.
root@jangkrik [/home/pindahan]# chmod +x mbekap
- Masih di dalam direktori pindahan, eksekusilah skrip mbekap dan tunggu sampai prosesnya selesai. Jika prosesnya ingin dilakukan di latar [background], jangan lupa menyertakan spasi kosong dan tanda baca &. Dengan begitu Anda masih dapat berinteraksi dengan shell jika dibutuhkan.
root@jangkrik [/home/pindahan]# ./mbekap &
Catatan : Sembari menunggu mbekap melakukan aksinya, silakan ngemi dulu. Yang belum mandi yo silakan mandi, karena bakalan lama [jika akun hosting banyak.]
![]()
File Paket Reseller Hosting
Salah satu fitur reseller hosting adalah pembuatan paket hosting sesuai kebutuhan. Dimana di paket hosting tersebut terdefinisi limitasi fitur²nya. Untuk itu, semua file paket milik reseller hosting juga harus dikopikan ke server baru. Agar lebih ringkes, saya putuskan untuk mengemasnya menjadi sebuah file terkompresi bernama paket.zip.
- Berpindah ke direktori yang menyimpan kumpulan file paket reseller hosting.
root@jangkrik [/home/pindahan]# cd /var/cpanel/packages
- Gunakan file usr untuk perulangan dan kombinasikan dengan perintah internal zip untuk mengemas semua file paket hosting.
root@jangkrik [/var/cpanel/packages]# cat /home/pindahan/usr| while read oi; do zip -r paket.zip $oi* ;done
- Ubah izin akses file paket.zip dan pindahkan ke /home/pindahan/.
root@jangkrik [/var/cpanel/packages]# chmod 644 paket.zip && mv paket.zip /home/pindahan
Urbanisasi File Bekapan
Hasil akhir dari mbekap adalah :
- paket.zip
- reseller.zip
- cpmove-username.tar.gz
Semua file tersebut dibutuhkan untuk proses restorasi di server baru.Tetapi sebelumnya, kopikan dulu semua file tersebut ke hosting baru melalui jalur FTP. Pastikan Anda telah menyiapkan sebuah akun shell di server baru untuk keperluan pemindahannya. Jalin sesi FTP ke server baru dengan akun tersebut, kopikan semua file secara massal [gunakan perintah internal mput di FTP] dan tunggu sampai selesai.
Catatan :
Pengiriman data secara massal menggunakan FTP dapat dibaca di sini.
Yang masih laper silakan ke Alfamart dulu, beli kripik bawang dan kripik pisang pabrikan Pasti - Alfamart serta minuman dingin, bakalan lama ini…![]()
Skrip Restor
Setelah menempuh proses pembuatan file bekap dan pengkopian file ke server baru, kini tibalah di tahapan yang terakhir, yaitu restorasi semua file bekap di server baru. Tiap file bekap yang direstorasi harus kembali berada di bawah masing² akun reseller dan privilege-nya juga harus sesuai. Agar lebih mudah dipahami, kali ini saya buat 2 buah skrip bantu, yaitu untuk restorasi dan mengembalikan privilege masing² reseller hosting.
- Login ke shell server baru, lalu masuk ke direktori dimana file bekapan tersimpan.
root@jangkrik [/]# cd /home/skatebored root@jangkrik [/home/skatebored]#
- Pindahkan semua file bekapan ke /home agar bisa dibaca oleh skrip restorasi cPanel nantinya.
root@jangkrik [/home/skatebored]# mv cpmove*.tar.gz /home/
- Gunakan editor teks kegemaran Anda untuk membuat file bernama restor, lalu tuliskan kode program di bawah ini. Keluar dari editor dan jangan lupa menyimpan hasil pengeditannya.
# cpanel - batch restore backup file by reseller account # by : adhitya chrstiawan nurprasetyo [dit] # http://dit.web.id # keftones14@yahoo.com # 19 februari 2010 - lekas sembuh ya dek kecil... # listening : gary moore - the loner #!/bin/bash # ekstraksi semua file bekap berdasarkan akun reseller hosting cat usr | while read username do ns1=`grep $username resellers-nameservers | cut -d"," -f1 | cut -d":" -f2` ns2=`grep $username resellers-nameservers | cut -d"," -f2` oldns1=`grep "NS " /etc/wwwacct.conf | cut -d" " -f2` oldns2=`grep "NS2 " /etc/wwwacct.conf | cut -d" " -f2` replace $oldns1 $ns1 -- /etc/wwwacct.conf replace $oldns2 $ns2 -- /etc/wwwacct.conf cat $username | while read oi; do /scripts/restorepkg $oi;done done
- Ekstraksi file² pendukungnya karena dibutuhkan oleh skrip restor.
root@jangkrik [/home/skatebored]# unzip reseller.zip
- Berikan izin akses eksekusi untuk skrip restor agar dapat dieksekusi via shell.
root@jangkrik [/home/skatebored]# chmod +x restor
Restorasi Paket Hosting
Sebelum melangkah ke tahapan restorasi file bekap, ada baiknya kita siapkan dulu semua file paket hosting dari masing² reseller hosting-nya. Pindahkan file paket.zip ke direktori cPanel dan ekstraklah di dalamnya.
root@jangkrik [/home/skatebored]# cp paket.zip /var/cpanel/packages root@jangkrik [/home/skatebored]# cd /var/cpanel/packages root@jangkrik [/var/cpanel/packages]# unzip paket.zip
Gelar Tiker
Skrip restorasi sudah disiapkan, semua file bekap juga sudah diposisinya, kini tiba saatnya untuk menggelar semua akun hosting di server baru. Masih berada dilokasi yang sama dengan skrip restor, piculah nama file-nya diikuti penekanan tombol [Enter] di kibor agar proses restorasi dilakukan secara otomatis. Jika proses restorasinya ingin dilakukan di latar [background], jangan lupa menyertakan spasi kosong dan tanda baca &. Dengan begitu Anda masih dapat berinteraksi dengan shell jika dibutuhkan.
root@jangkrik [/home/skatebored]# ./restore &
Skrip Kewenangan
Selesai dengan restorasi semua akun hosting, kini Anda akan mendapati semua reseller hosting telah berjajar rapih dengan akun² hosting klien di bawahnya. Langkah terakhir dari rangkaian relokasi ini adalah konfigurasi ulang semua kewenangan dan limitasi fitur dari masing² akun reseller hosting. Langkah ini bisa saja Anda lakukan melalui WHM, tepatnya dikategori Reseller Center. Tetapi jika jumlah akun reseller hosting-nya ada banyak, kayae akan cukup merepotkan. Mari kita buat skrip bantu lagi untuk otomatisasinya…
- Masih di shell server baru dan di dalam direktori dimana file pendukung berada, buatlah sebuah file baru bernama kewenangan menggunakan sembarang editor teks kegemaran Anda.
- Isikan kode program di bawah ini, simpan hasil pengeditannya dan keluar dari editor setelahnya.
#!/bin/bash # cpanel - modifikasi reseller privilege secara massal # by : adhitya chrstiawan nurprasetyo [dit] # http://dit.web.id | http://shop.dit.web.id | http://dns.dit.web.id # keftones14@yahoo.com # 15 agustus 2010 - nungguin kiriman baso solo dari manager... # listening : john petrucci - wishful thinking #kamus privilege untuk akun reseller hosting privilege='list-accts,show-bandwidth,suspend-acct,passwd,create-acct,edit-mx,frontpage,kill-acct,upgrade-account,create-dns,edit-dns,park-dns,add-pkg,edit-pkg,disallow-shell,allow-addoncreate,allow-parkedcreate,stats,status,limit-bandwidth,quota' #membuat file basis data dan definisikan privilege yang baru cat /var/cpanel/resellers | cut -d":" -f1 >> /var/cpanel/akun mv /var/cpanel/resellers /var/cpanel/resellers-lawas cat /var/cpanel/akun | while read dit; do echo $dit:$privilege >> /var/cpanel/resellers ; done #menghapus file bantu berisi username akun reseller hosting rm -f /var/cpanel/akun #reload service cpanel service cpanel restart
- Jangan lupa untuk memberikan izin akses eksekusi kepada skrip kewenangan.
Tanpa berlama lagi, segeralah picu skrip kewenangan dengan cara yang serupa dengan skrip restor. Skrip akan langsung melakukan semua perintah yang telah didefinisikan dan menerapkannya ke semua akun reseller hosting yang ada. Jika prosesnya sudah selesai, Anda bisa langsung memeriksa hasilnya melalui Reseller Center di WHM. Niscaya semua privilege dan limitasi fitur sudah terkonfigurasi secara otomatis
Catatan : Lebih lengkap tentang skrip ini bisa dibaca di artikel sebelumnya. Klik di sini untuk membaca dan mempelajarinya lebih lanjut.
Delegasikan IP Address Untuk Akun Reseller Hosting
Selain menentukan privilege untuk masing² reseller, 2 buah konfigurasi lain yang terdapat di area Reseller Center adalah mendelegasikan default IP address untuk sang reseller. IP address yang didelegasikan ini nantinya akan secara otomatis dipakai saat si reseller membuat akun hosting baru, baik untuk keperluan pribadi maupun kliennya.
Jika Anda cukup bersabar dan ada cukup waktu untuk delegasikan IP address via Reseller Center, maka tentunya tahapan ini nda akan jadi masalah. Tapi ada kok cara lain ala dit.web.id [baca : males version]
Berikut ini saya racik sebuah skrip sederhana bernama setip untuk otomatisasinya. Mayoritas akun reseller hosting menggunakan shared IP address yang sama, jadi akan jauh lebih cepat menggunakan skrip bantu ini.
- Sambangi konsol server dan gunakan sembarang editor teks kegemaran untuk membuat file bernama setip.
- Isikan kode program di bawah ini.
#!/bin/bash # cpanel - modifikasi reseller privilege secara massal # by : adhitya chrstiawan nurprasetyo [dit] # http://dit.web.id | http://shop.dit.web.id | http://dns.dit.web.id # keftones14@yahoo.com # 15 agustus 2010 - nungguin kiriman baso solo dari manager... # listening : john petrucci - wishful thinking #tentukan ip address default reseller di bawah ini ip='1.2.3.4' for oi in `cat /var/cpanel/resellers`; do touch /var/cpanel/dips/$oi;done for oi in `cat /var/cpanel/resellers`; do echo $ip >> /var/cpanel/mainips/$oi;done
- Keluar dan simpan hasil pengeditannya, lalu berikan izin akses eksekusi untuk file setip.
root@jangkrik [/home/skatebored]# chmod +x setip
Catatan : Ubahlah 1.2.3.4 di variabel ip dengan sembarang IP address yang ingin Anda delegasikan kepada akun reseller.
Usai dengan peracikan skrip tersebut, segeralah eksekusi perintah ./setip & diikuti penekanan tombol [Enter] di kibor. Nda berselang lama, skrip telah selesai mendelegasikan default IP address untuk semua akun reseller hosting. Untuk memastikan, silakan periksa ulang via WHM, tepatnya di kategori Reseller Center.
Outro
Akhirnya beres juga garap artikel ini. Sebenarnya sudah lama mau ditulis, tapi sejalan dengan waktu masih terdapat beberapa pembenahan, jadi baru sekarang bisa disajikan. Skrip² bantu tersebut saya buat berdasarkan kebutuhan pekerjaan saya, tetapi nda menutup kemungkinan untuk bisa diterapkan juga di server lain yang menggunakan cPanel. Tiap skrip yang saya bahas di atas memiliki alur yang serupa dengan mekanisme cPanel saat melakukan fungsi yang sama. Meskipun begitu, nda menutup kemungkinan juga skrip² racikan tersebut masih memiliki beberapa kekurangan. Tetapi paling tidak bisa memberikan gambaran alur yang terjadi dan jika memang butuh proses yang lain bisa Anda kembangkan kembali dan sisipkan di skripnya. Selamat mencoba…
seperti biasa, untuk meningkatkan kualitas artikel yang saya sajikan, Anda dapat menyampaikan opini mengenai artikel kali ini di bagian komentar pembaca. boleh berupa pertanyaan, kritik, masukkan, kekurangan, pujian sampai ejekan juga silakan
dengan begitu, semoga ke depannya saya bisa menyajikan artikel lain yang bermanfaat untuk semua. terima kasih…
Tambahkan komentar
Isikan formulir di bawah ini untuk menambahkan komentar











![Perbesar Teks [Zoom In]](http://dit.web.id/pic/menu/txtin.png)
![Perkecil Teks [Zoom Out]](http://dit.web.id/pic/menu/txtout.png)
Rabu, September 8, 2010 - 20:55:16
Mantap pak…
tapi mesti teliti n beberapa kali bacanya, biar ngerti saia…
mklum newbie..
Rabu, September 8, 2010 - 21:50:50
@jiem :
yang bikin artikel juga mesti baca berkali-kali
ya mungkin itu yang bikin cpanel mahal,
pembuatanya juga mumet racik skrip satu-persatu,
terus antar skrip digabungkan lagi,
hasil akhir tinggal klak-klik
tapi biar gimana juga, otomatisasi via cli tetap hobiku…
Jumat, September 10, 2010 - 01:38:23
Buat isenga aja, Mampir ke sini bang http://trez-sukses.blogspot.com/
Salam kenal dari saya.
Jumat, September 10, 2010 - 03:17:04
@trez sukses :
siyap, nanti saya mampir deh,
sekarang masih sibuk garap kerjaan
makasih sudah sempatkan mampir dan berkomentar