cPanel - Seragamkan Fitur Reseller Hosting Secara Massal

  • 15 Agustus 2010
  • Halu, ketemu lagi di artikel Trik kali ini yang [masih] berkaitan dengan cPanel. Bahasan kali ini lebih saya tujukan untuk pengelola server web hosting cPanel. Tapi bisa juga untuk pembaca umum sebagai pembelajaran. Ya, manatau kelak dapat kesempatan manajemen server cPanel, jadi nda bingung lagi kalo ketemu kasus serupa…

    Intro

    Seperti biasa deh, latar belakang kerjaan. Kebetulan pekerjaan saya adalah manajemen beberapa server yang menggunakan cPanel dan jumlahnya lumayan banyak. Karena tidak manajemen server sejak awal instalasi dan konfigurasi, akhirnya beberapa fitur juga nda 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 ketidakseragaman 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.

    Analisa

    Lelah modifikasi via WHM membawa saya untuk bengong beberapa saat mempelajari dan mencari tau 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 tau 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 :d Bersamaan dengan beberapa konfigurasi lainnya saya jumpai file basis data sederhana itu bertempat di /var/cpanel ;)


    Masukkan kode K1-22A4DD-B untuk berbelanja di KutuKutuBuku.com

    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 ; analisa tambahan :d

    1. Sambangi konsol server, lalu lakukan validasinya agar setara root.
    2. Berpindahlah ke home directory Anda untuk pembuatan skripnya.
    3. 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.
    4. 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
      
    5. 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
      

    Download : Klik Di Sini Untuk Unduh Skrip changeprivilege

    Mainkan!

    Skrip sudah selesai dibuat, kini tiba saatnya untuk menuai hasilnya dengan cara ketik REG spasi MAINKAN dan kirim ke 9110 :p 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 kibor.
    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 kibor.

    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.

    NamaFungsi
    add-pkgAllow the creation of packages.
    add-pkg-ipAllow the creation of packages with dedicated IPs.
    add-pkg-shellAllow the creation of packages with shell access.
    allAll features. If this feature is set to 1, the user has root access.
    allow-addoncreateAllow the creation of packages with unlimited addon domains.
    allow-parkedcreateAllow the creation of packages with parked domains.
    allow-unlimited-bw-pkgsAllow the creation of packages with unlimited bandwidth usage.
    allow-unlimited-disk-pkgsAllow the creation of packages with unlimited disk space.
    allow-unlimited-pkgsAllow the creation of packages with unlimited bandwidth.
    clusteringEnable clustering.
    create-acct Allow the reseller to create a new account.
    create-dnsAllow the reseller to add DNS zones.
    demo-setupAllow the reseller to turn an account into a demo account.
    disallow-shell Never allow creation of accounts with shell access.
    edit-accountAllow the reseller to modify an account.
    edit-dnsAllow editing of DNS zones.
    edit-mxAllow editing of MX entries
    edit-pkgAllow editing of packages.
    frontpageAllow the reseller to install and uninstall FrontPage extensions.
    kill-acct Allow termination of accounts.
    kill-dnsAllow the reseller to remove DNS entries.
    limit-bandwidthAllow the reseller to modify bandiwdth limits. This feature allows the reseller to circumvent package bandwidth limits, if you are not using resource limits.
    list-acctsAllow the reseller to list his or her accounts.
    mailcheckAllow the reseller to access the WHM Mail Troubleshooter.
    news Allow the reseller to modify cPanel/WHM news.
    park-dnsAllow 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-acctsAllow the reseller to rearrange accounts.
    res-cartAllow the reseller to reset the shopping cart.
    resftp Allow the reseller to synchronize FTP passwords.
    restart Allow the reseller to restart services.
    show-bandwidthAllow the reseller to view accounts' bandwidth usage.
    ssl Allow the reseller to access the SSL Manager.
    ssl-buyAllow the reseller to purchase and install SSL certificates.
    ssl-gencrtAllow 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-acctAllow the reseller to suspend accounts.
    thirdparty Allow the reseller to access and manage third-party services (or "Plugins").
    upgrade-accountAllow the reseller to upgrade and downgrade accounts.
    viewglobalpackagesAllow 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…

    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…

    1. Avatar for dhega dhega

      Kamis, Agustus 19, 2010 - 20:55:23

      Artikel yang sangat inspiratif, tapi sayang g bisa praktekin, he..he.. Like This dah pokoknya. Salam kenal dah..

    2. Avatar for skatebored skatebored

      Kamis, Agustus 19, 2010 - 20:59:37

      @dhega :

      ya mana tau tar ketemu kasus gitu,
      paling nda udah paham alurnya kan ;)

      salam kenal juga dan terima kasih sudah mampir serta tulis komentar :)

    3. Avatar for suksesbiz suksesbiz

      Minggu, Agustus 22, 2010 - 02:31:43

      Bisa gag gan, dipraktekin di localhost…????
      Kalo bisa, kasih contoh yg local donk….!!

    4. Avatar for hostgokil hostgokil

      Minggu, Agustus 22, 2010 - 04:24:49

      cPanel memang lengkap fitur nya, semua nya serba ada.

    5. Avatar for skatebored skatebored

      Minggu, Agustus 22, 2010 - 07:19:13

      @suksesbiz :
      waduh, kalo kaitannya dengan cpanel nda localhost bos :)
      mungkin artikel ini bisa mbantu tar kalo bos ngalami manage server pake cpanel…

      makasih dah sempatkan mampir dan berkomentar…
      ;)

    6. Avatar for skatebored skatebored

      Minggu, Agustus 22, 2010 - 07:20:48

      @hostgokil :
      yoi banget bos, cpanel emang ajip :d

      btw, banner-nya kok udah dari situs saya bos? :(

    Tambahkan komentar

    Isikan formulir di bawah ini untuk menambahkan komentar

    CAPTCHA imagePerbarui gambarSuarakan gambar kode validasi