Selasa, 17 Juni 2008

Instalasi Pada Server Billing

Saya anggap aplikasi webserver PHP dan MySQL telah dapat berjalan baik pada komputer yg akan dijadikan server billing.

Buat direktori khusus untuk billing ini di direktori web server anda. Pada beberapa varian distro biasanya root webnya ada di /var/www/html/ dan untuk user direktorinya ada di /home/[user]/public_html.

OK, untuk contoh kali ini saya contohkan billing di install di direktori user yang dapat diakses lewat web, yakni di /home/budi/public_html

copy file BiOS-v1.1.tar.bz2

extract

tar jxvf BiOS-v1.1.tar.bz2

maka di /home/budi/public_html akan terbentuk direktori billing.

pindah ke direktori billing

cd billing

Kita buat database untuk billing ini. Dalam contoh ini saya buat database dengan nama "bios".
Perintah di console:
$ mysqladmin -u root -p create bios

Import table database yang tersimpan di file bios.sql ke database mysql Anda. Perintahnya:
$ mysql -u root -p bios <>

(sesuaikan root dengan username mysql, dan bios dengan nama database yang anda inginkan)

selanjutnya edit file: bios-config.php
Anda cukup mengubah variabel ini:
mysql_user
mysql_pass
mysql_dbname
url_location.

Sesuaikan dengan setting di sistem anda.

Contoh:
$mysql_user='root'; --> user mysql
$mysql_pass='tes123'; --> pass mysql
$mysql_dbname='bios'; --> nama database yg tadi dibuat
$url_location='http://192.168.1.25:80/~budi/billing/'; --> url lokasi billing

Selanjutnya buka browser dan akses url_location yang sudah di set diatas (sesuaikan dengan alamat web server billing anda)
Contoh: http://192.168.1.25:80/~budi/billing/operator.php

Apabila muncul tampilan seperti Gambar 01, maka instalasi bisa dibilang berhasil :)


Gambar 01.

Untuk user dan password default administrator adalah:
username: admin
password: tes123

seharusnya kini Anda akan melihat tampilan welcome page seperti Gambar 02


Gambar 02. Welcome Page..


Klik menu SETTING (lihat Gambar 03)


Gambar 03. Halaman Setting / Pengaturan

Ubah nama warnet, dan alamat dengan nama warnet Anda. MOTD dengan pesan yang ingin Anda tampilkan di komputer client.
Set sistem operasi yang dipakai operator ke GNU/Linux bila Anda menggunakan Linux.

Pada bagian Harga, set harga sewa per jam warnet Anda. Default Rp. 3000 / jam. Set pada minimum pemakaian dengan biaya minimal yang harus dibayarkan client untuk dapat bermain di warnet Anda. Default Rp. 100. Set dengan Rp. 0, bila tidak ada minimum pemakaian. Ubah charge pemakaian setiap 1 detik ke nilai lain bila Anda tidak ingin mencharge pemakaian per detik. Misal Anda ingin mengenakan charge pemakaian tiap 5 menit awal, maka ubah variabel ini menjadi 5 x 60 detik = 300 detik.

Pada bagian Sekuriti, masukkan ip yang berhak mengakses aplikasi operator.php. Untuk banyak ip pisahkan dengan tanda |. Contoh: 192.168.1.25|127.0.0.1|222.222.222.222. Kosongkan apabila Anda ingin mengijinkan semua ip dapat mengakses operator.php.

Pada bagian Screenshot, ubah resolusi dengan resolusi screenshot yg Anda inginkan. Defaultnya 640x480 pixel, jpg. Ubah screenshot name dan folder dengan nama file screenshot dan nama folder di home direktori client dimana screenshot akan disimpan. Folder di client ini nantinya akan dishare dengan memanfaatkan protokol samba. Nama file Misal .screen.jpg (awalan . akan membuat file/direktori tersebut menjadi hidden).
logikanya file screenshot nanti akan diakses melalui: smb://ip_client/.bios-dir/.screen.jpg

Untuk protokol file sharing lain silahkan set manual di kolom yang tersedia. Saat Anda mengeset "Sistem operasi yang dipakai operator" dengan GNU/Linux maka otomatis default protocol yg dipakai adalah samba (smb://ip_client) atau bila Windows otomatis menggunakan (file:////ip_client)

Pada bagian Remote Access, ubah "Client default login username /SSH" dengan username client linux Anda. Untuk itu silahkan samakan user name untuk seluruh client warnet Anda. Untuk password antar client boleh beda.


Klik menu CLIENT (lihat Gambar 04)


Gambar 04. Halaman pengaturan

Di bagian ini Anda dapat melakukan tambah/kurang/edit/delete komputer client di warnet yang berhak mengakses program billing. Silahkan masukkan Nama client, IP client (IP Statis), dan Desktop yang digunakan. Untuk desktop ada 4 pilihan saat ini, yakni KDE, GNOME, XFCE dan Windows. Namun yang benar-benar sudah fully compatible adalah desktop KDE. Untuk tiga lainnya masih dalam tahap pengembangan khususnya pada fitur logout.


Klik menu Operator (lihat Gambar 05)


Gambar 05. Halaman operator

Pada bagian ini Anda dapat menambah user lain yang dapat mengakses aplikasi operator.php namun dengan hak akses dibawah level user admin. Alias anda dapat menambah user untuk operator / pegawai warnet Anda.
Adapun operator selain admin (selain yang ID nya 1) hanya dapat melihat menu Index, Billing, dan Laporan. Laporan juga terbatas hanya dapat melihat transaksi yang ada selama yang bersangkutan sedang bertugas. Tidak dapat melihat laporan operator lainnya.

Untuk menambahkan cukup dengan mengisi:
Nickname --> akan menjadi user login
Nama lengkap --> akan tercetak pada struk billing
Password --> password login
Dapat mengedit laporan hariannya --> Defaultnya TIDAK. artinya yang bersangkutan tidak dapat mengedit laporan transaksi yang terjadi (misal hapus transaksi, atau mengubah nilai transaksi)
.


Instalasi Pada Client

Frontend pada client memanfaatkan browser Firefox. Silahkan setting browser Firefox.
Buka Firefox. Pada kolom URL ketikkan "about:config"

Pada isian Filter ketik: signed.applets.codebase_principal_support
Set value menjadi true
Selanjutnya, filter : browser.sessionstore.enabled
Set value menjadi false

maksud signed.applets.. adalah agar jendela firefox bisa kita atur panjang lebar nya otomatis lewat script dalam program billing. Untuk browser.session di disable. Tujuannya untuk mencegah firefox merestore session yang disimpan sesaat sebelum browser di close mendadak saat komputer client di logout/reboot.

Selanjut silahkan tes dengan membuka url: http://ip_server/lokasi_file_client.php
contoh: http://192.168.1.25:80/billing/client.php dari firefox di client

Bila ada muncul pertanyaan berkaitan security, jangan lupa beri centang pada bagian dont ask again, supaya tidak ditanya2 lagi. (Lihat Gamba 06);


Gambar 06. Security

Apabila IP client sebelumnya telah didaftarkan di menu client (operator.php), billing seharusnya akan mulai menghitung dengan penampilan seperti pada Gambar 07.


Gambar 07. Tampilan di Client

Anda sebagai operator / admin dapat memantau penggunaan billing secara realtime lewat operator.php pada menu Billing. Lihat Gambar 08

Gambar 08. Billing

OK sampai tahap ini, proses instalasi sudah mencapai 70% :)


Instalasi Lanjut pada Server dan Client

Pastikan pada komputer server telah terpasang paket openssh. Secara defacto paket ini mestinya sudah ada di setiap distro linux. Paket ini digunakan oleh billing untuk melakukan remote access via SSH.

Silahkan login sebagai user root pada komputer server, dari console ketikkan perintah:

$ su
(password root)

Edit file /etc/ssh/ssh_config

misal pakai aplikasi joe

# joe /etc/ssh/ssh_config

Edit variable - variable yg ada sehingga nilainnya menjadi:

ForwardAgent yes
Protocol 2,1
Host *
#ForwardX11 yes --> didisable

pindah ke direktori root

# cd

jalankan perintah:

Jalankan:

# ssh-keygen -t rsa

nanti otomatis akan ada 2 file tersimpan di /root/.ssh

# ls /root/.ssh
id_rsa id_rsa.pub

Kedua file ini nantinya digunakan sebagai otentikasi untuk mengakses secara remote client via protokol ssh tanpa perlu menggunakan password.

Silahkan Anda copy (misal ke flashdisk) file id_rsa.pub. Lalu copykan ke masing - masing root client.
Copykan ke folder .ssh di /root direktori masing-masing client. copy ke /root/.ssh/ (INGAT! BUKAN di Home direktori user!)
Apabila folder .ssh belum ada silahkan di create dulu.

Jangan lupa ubah copy-an file tersebut dengan nama authorized_keys

lalu ubah permission nya menjadi 600
# chmod 600 authorized_keys

Masih di komputer client, edit file /etc/ssh/sshd_config
Ubah variabel yang ada sehingga menjadi:
RSAAuthentication yes

REBOOT komputer client Anda. Setelah REBOOT, lanjutnya ke langkah dibawah ini.

Selanjutnya silahkan lakukan testing dari komputer server. login sebagai root, dan dari console ketikkan perintah:
# ssh -l root 192.168.1.16

Ubah ip dengan ip client Anda. Seharusnya anda bisa langsung login ke ip 192.168.1.16 tanpa perlu memasukkan password.

OK sampai sini proses instalasi udah 80% :)

Kembali ke komputer server.
Apabila Anda menggunakan webserver apache, pastikan Anda memasukkan user apache kedalam file sudo (/etc/sudoers)

Caranya: login sebagai root, dari console ketikkan: # visudo

ketikkan tombol i, untuk perintah insert

tambahkan:
apache ALL=(ALL) ALL

tekan tombol "shift" + ":"

Akan muncul : dibagian bawah. Ketik wq, untuk write lalu quit

Apabila berhasil seharusnya akan muncul seperti dibawah ini:
wrote /etc/sudoers.tmp, 32 lines, 740 chars
root@~#Buat file ini dari user root

Apabila Anda menggunakan webserver selain apache, seperti lighttpd, maka edit file /etc/lighttpd/lighttpd.conf
isikan pada bagian username dan groupname dengan username tempat billing diletakkan
(dalam hal ini karena billing disimpan di /home/budi/) maka user dan group diisi budi.
## change uid to (default: don't care)
server.username = "budi"

## change uid to (default: don't care)
server.groupname = "budi"

untuk kasus ini karena webserver menggunakan user budi, maka yang dimasukkan dalam file sudo (/etc/sudoers) adalah user budi

#visudo
tambahkan:
budi ALL=(ALL) ALLBuat file ini dari user root

OK Instalasi kini sudah 90%. Dan seharusnya kini Anda sudah dapat mematikan (poweroff), reboot, logout (khusus KDE) dan show up (memunculkan billing di client) secara remote langsung dari aplikasi operator.php

Untuk fitur screenshot pastikan koneksi samba antara komputer server dan client berjalan baik.
Silahkan buat direktori di home direktori user client anda dengan nama sesuai dengan yang anda setting di operator.php > setting
Dalam contoh ini nama foldernya dan nama sharingnya adalah .bios-dir (lihat gambar dibawah untuk petunjuk lengkap step-by step menshare sebuah folder)



Masih di komputer client, cek apakah file aplikasi ini ada (login sebagai root)

# locate xwd
# locate dcop

bila ditemukan dan lokasinya tidak di /usr/bin/ misal di:
/usr/bin/X11/xwd
/opt/kde/bin/dcop

maka silahkan anda buat symbolic link alias shortcut file ini di /usr/bin

caranya ketik perintah di bawah ini:
# ln -s /usr/bin/X11/xwd /usr/bin/xwd
# ln -s /opt/kde/bin/dcop /usr/bin/dcop

(cat: ubah /usr/bin/X11/xwd sesuai dengan lokasi file xwd berada)

OK silahkan Anda coba dari operator.php, klik pada logo komputer client. Seharusnya kini Anda dapat melihat tampilan screenshot nya :) Untuk hasil optimal gunakan browser konqueror bawaan kde yang sudah support protokol smb://
Lihat Gambar 09

OK Instalasi kini sudah 95%

Supaya 100% Anda kini tinggal membuat shortcut di desktop pada tiap-tiap komputer client agar dapat membuka file client.php secara manual dengan firefox. Caranya anda tinggal buat shortcut di desktop. Lalu isi linknya dengan argumen:
firefox http://192.168.1.25/~budi/billing/client.php

sesuaikan alamat url dengan milik anda
dan supaya billing otomatis berjalan (autorun) saat client login, anda cukup membuat script sederhana di folder .kde/Autostart/ di home client anda. Contoh file script ini dapat Anda lihat di file billing.sh

misal beri nama billing.sh

isinya:
#!/bin/sh

#BiOS - billing open source baliwae
#(c)2005-2008 Budi Baliwae
#http://bios.baliwae.com

exec firefox http://192.168.1.25:80/~budi/billing/client.php

supaya shortcut billing.sh ini tidak dapat dihapus dan diedit oleh user, silahkan ubah own dan permission dari folder Autostart dan file billing.sh
menjadi
# chown root Autostart
# chgrp root Autostart
# chmod 755 Autostart
# cd Autostart
# chown root billing.sh
# chgrp root billing.sh
# chmod 755 billing.sh

OK satu lagi .. Bila client menggunakan KDE, jangan lupa untuk menonaktifkan fitur restore session. Caranya ubah dari control panel KDE. lihat Gambar!

dan terakhir :D silahkan replace file logo di direktori img/LOGO-WARNET.png dengan logo warnet Anda.

Tidak ada komentar:

Name:*

Email Address:*

Feedback: