Rabu, 25 November 2009

Cara Membuat Aplikasi Billing Warnet



Ternyata dengan sedikit trik, komunikasi dengan server System Billing dan client bisa dilakukan. Di klien kita dapat menggunakan program Lynx yaitu program web browser berbasis teks.

Saat Ubuntu atau GNOME desktop dijalankan (bisa juga diterapkan di KDE), saya membuat supaya komputer tersebut mendaftar ke server atau istilahnya “melapor” ke server. kata-kata client tersebut bisa ***ngkapkan seperti ini:

“Hei, saya dengan IP: 192.168.0.10 dengan ID 10 mendaftar…”

Nah perintah dengan menggunakan Lynx, sebagai berikut:lynx -dump http://ip_server/daftar.php?cid=10

Entar di server akan dicek IP dengan menggunakan variabel $_SERVER['REMOTE_ADDR'], trus dengan berbekal variabel cid, maka komputer tersebuat dapat didaftarkan ke dalam database dan diset flag client tersebut menjadi ON.

Nah mudah bukan? Di browser server (system billing) akan kelihatan bahwa client yang aktif apa, waktu startnya jam berapa. Sekarang yang menjadi masalah, saat user berhenti menggunakan komputer. Bagusnya sih ada tombol “STOP” untuk user jika ingin berhenti menggunakan komputer.

Saya udah buatkan sih tapi make gdesklets (jadi susah kalau make KDE, harus make Karamba). Itupun baru terbatas menampilkan waktu start, nama client dan harga. Saya usahakan supaya bisa dibuat tombol stop yang akan mengarahkan request ke system billing server dan menghentikan waktu akses internet.

Nah, saya sudah coba memakai ssh, dan memang enak jika sudah disetting key dari server untuk mengakses komputer client (system billing) tanpa menggunakan password. Caranya adalah:

1. Buat keygen ssh untuk user di server:
ssh-keygen -t rsa
Enter dan enter aja kalau ada pertanyaan :D
2. Setelah itu salin file di .ssh/id_rsa.pub ke masing-masing komputer client
3. Di komputer client, setting keygen untuk root, caranya sama dengan langkah nomor 1
4. salin file id_rsa.pub dari server ke file .ssh/authorized_keys di home folder root
5. Coba akses komputer client:
ssh root@ip_client
Jika bisa diakses tanpa password, Anda telah berhasil! :D
6. Coba (system billing) dengan menggunakan perintah:
ssh root@ip_client /etc/init.d/gdm stop
Perintah di atas untuk mematikan desktop GNOME, setelah itu start ulang lagi
ssh root@ip_client /etc/init.d/gdm start

Jadi deh :D , sisa diaplikasikan ke skrip PHP atau Python (saya lebih suka PHP, lebih dikuasai siih).
Syaratnya, fungsi shell_exec-nya tidak didisable.

Good Luck (kalau mau mencoba)…

kutucape.com

Tidak ada komentar:

Posting Komentar