DIT.web.id

sementara biarlah begini...

Seragamkan Fitur Reseller Hosting Secara Massal di Server cPanel

Aug 152010

Salah satu kendala dalam melakukan instalasi dan konfigurasi beberapa server cPanel adalah beberapa fitur yang tidak seragam. Pembenahan memang bisa dilakukan berbasis web melalui WHM [Web Hosting Manager], tapi jelas kurang efisien jika berhadapan dengan jumlah server yang banyak.

Berangkat dari kasus tersebut, kali ini saya berjumpa dengan kasus manajemen akun² reseller hosting yang ada di server, tepatnya untuk reseller privileges. Antara akun yang satu dan lainnya terdapat ketidak-seragaman fitur yang diberikan ke masing² klien. Sempat modifikasi satu-persatu via WHM tapi keburu ngantuk duluan begitu lihat jumlah akun yang banyak di tiap server-nya. Mulailah terpikir untuk kembali membuat skrip bantu agar reseller privileges tiap akun bisa diseragamkan secara massal dan otomatis tentunya.

undefined

Analisa

Lelah modifikasi via WHM membawa saya untuk bengong beberapa saat mempelajari dan mencari tahu kinerja skrip WHM. Dari begitu banyak akun reseller hosting kok bisa ya WHM menyimpan masing² privilege akun yang berbeda-beda, pasti ada ada basis datanya, begitu analisa awalnya. Ini artinya jika saya bisa modifikasi basis data tersebut, maka fitur masing² akun reseller juga akan berubah, sama seperti saat saya modifikasi dari WHM.

Berbekalkan analisa mentah tersebut, langkah berikutnya adalah mencari tahu lokasi basis data yang memuat konfigurasi reseller privileges di server. Thanks God para pengembang cPanel cukup cerdas dalam memilih jenis basis datanya, yaitu berupa file teks. Bersamaan dengan beberapa konfigurasi lainnya saya jumpai file basis data sederhana itu bersemayam di /var/cpanel.

 

Meracik Skrip

Analisa sudah selesai, lokasi file basis data juga sudah ketemu, maka langkah berikutnya adalah membuat skrip shell untuk otomatisasi pengubahan konfigurasi ke dalam file. Sebelum melangkah ke modifikasi file, terlebih dahulu saya intip konten file-nya dan ternyata agak ribet kalo mau dimodifikasi langsung. Jadi langkah yang lebih tepat dan aman adalah membuat file basis data baru yang telah berisi konfigurasi baru pula. Untuk itu, berati sang skrip harus melakukan pengubahan dan pembuatan file baru di lokasi.

Sambangi konsol server, lalu lakukan validasinya agar setara root dan berpindahlah ke home directory Anda untuk pembuatan skripnya. Gunakan sembarang editor teks kegemaran Anda untuk membuat file skrip bernama changeprivilege. Anda boleh saja gunakan sembarang nama file lain dan ditambahkan ekstensi file. Kalopun nda juga nda masalah, karena *nix sebenarnya tidak memperdulikan ekstensi sebuah file. Isikanlah file baru dengan beberapa 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

#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

Selesai dengan pembuatan skrip, keluarlah dari editor dan jangan lupa untuk menyimpan pengeditannya. Setelah itu berilah izin akses eksekusi untuk file changeprivilege dengan perintah chmod.

root@jangkrik [/home/dit]# chmod +x changeprivilege

 

Mainkan!

Skrip sudah selesai dibuat, kini tiba saatnya untuk menuai hasilnya dengan cara ketik REG spasi MAINKAN dan kirim ke 9110, nda ding.  Karena file skrip sudah diberi akses untuk dieksekusi, maka Anda dapat mengeksekusi skripnya dari mana pun. Jika skrip berada di home directory Anda, maka piculah skrip dengan perintah /home/usernameanda/changeprivilege diikuti penekanan tombol [Enter] di keyboard.

Jika ingin lebih mudah lagi, Anda bisa saja memindahkan skrip tersebut ke dalam direktori /usr/sbin/ agar ke depannya cukup mengeksekusi perintah changeprivilege di konsol. Alternatif lain dengan hasil serupa bisa juga membuat symbolic link [symlink] atau shortcut-nya saja dengan perintah ln -s /home/usernameanda/changeprivilege /usr/sbin/ diikuti penekanan tombol [Enter] di keyboard.

 

Modifikasi Reseller Privilege

Contoh skrip di atas hanya memuat beberapa opsi agar privilege reseller hosting diaktifkan [sesuai kebutuhan saya], tetapi jika dibutuhkan dapat Anda modifikasi kembali di parameter privilege. Berikut ini kumpulan privilege beserta fungsinya yang dapat disisipkan ke dalam skrip.

  • add-pkg Allow the creation of packages.
  • add-pkg-ip Allow the creation of packages with dedicated IPs.
  • add-pkg-shell Allow the creation of packages with shell access.
  • all All features. If this feature is set to 1, the user has root access.
  • allow-addoncreate Allow the creation of packages with unlimited addon domains.
  • allow-parkedcreate Allow the creation of packages with parked domains.
  • allow-unlimited-bw-pkgs Allow the creation of packages with unlimited bandwidth usage.
  • allow-unlimited-disk-pkgs Allow the creation of packages with unlimited disk space.
  • allow-unlimited-pkgs Allow the creation of packages with unlimited bandwidth.
  • clustering Enable clustering.
  • create-acct Allow the reseller to create a new account.
  • create-dns Allow the reseller to add DNS zones.
  • demo-setup Allow the reseller to turn an account into a demo account.
  • disallow-shell Never allow creation of accounts with shell access.
  • edit-account Allow the reseller to modify an account.
  • edit-dns Allow editing of DNS zones.
  • edit-mx Allow editing of MX entries.
  • edit-pkg Allow editing of packages.
  • frontpage Allow the reseller to install and uninstall FrontPage extensions.
  • kill-acct Allow termination of accounts.
  • kill-dns Allow the reseller to remove DNS entries.
  • limit-bandwidth Allow the reseller to modify bandiwdth limits. This feature allows the reseller to circumvent package bandwidth limits, if you are not using resource limits.
  • list-accts Allow the reseller to list his or her accounts.
  • mailcheck Allow the reseller to access the WHM Mail Troubleshooter.
  • news Allow the reseller to modify cPanel/WHM news.
  • park-dns Allow the reseller to park domains.
  • passwd Allow the reseller to modify passwords.
  • quota Allow the reseller to modify disk quotas. This feature allows resellers to circumvent package limits for disk space, if you are not using resource limits.
  • rearrange-accts Allow the reseller to rearrange accounts.
  • res-cart Allow the reseller to reset the shopping cart.
  • resftp Allow the reseller to synchronize FTP passwords.
  • restart Allow the reseller to restart services.
  • show-bandwidth Allow the reseller to view accounts' bandwidth usage.
  • ssl Allow the reseller to access the SSL Manager.
  • ssl-buy Allow the reseller to purchase and install SSL certificates.
  • ssl-gencrt Allow the reseller to access the SSL CSR/CRT generator.
  • stats Allow the reseller to view account statistics.
  • status Allow the reseller to view the Service Status feature in WHM.
  • suspend-acct Allow the reseller to suspend accounts.
  • thirdparty Allow the reseller to access and manage third-party services (or "Plugins").
  • upgrade-account Allow the reseller to upgrade and downgrade accounts.
  • viewglobalpackages Allow the reseller to view any package on the server.

 

Outro

Nah, berbekalkan skrip sederhana di atas, kini Anda dapat melakukan penyeragaman reseller privilege dengan cepat dan mudah. Jika dibutuhkan juga dapat memanfaatkan cron untuk melakukan penjadwalan eksekusinya. Misalnya saja tiap hari, minggu atau bulan. Dengan begitu masing² akun reseller hosting juga senantiasa memiliki privilege yang sama. Selamat mencoba.

There are no published comments.

New comment

Atom

morat-marit enterprise - since 2004