Cara Install Lusca di Clearos


Lusca apaan tuh… setau saya Lucia.. :D untuk jelasnya cari aja digoogle, saya hanya mencatat apa yang saya lakukan perlangkah dan mengamati perubahannya. Setelah dirasakan, internet saya serasa lebih kenceng. Youtube, youp***, yutingting semuanya tercache, :D. intinya kerja cache proxy saya lebih agresif.

Tuts ini saya peroleh dari segala penjuru sumber,,, mulai grup FB, google, penerawangan, dan sekali-kali ngawur2 dikit lah.. namanya juga oprek.. :D
Gak pake lama,.. berikut urutan perintahnya.. dikerjakaan berurutan, klo copas juga harus hati-hati, jangan sampe kurang.. (maaf, gak sempet bikin screenshoot).

Saya asumsikan anda semua udah bisa mengoperasikan putty dan winscp (klo blm bisa, belajar dulu sana..). 
Tuts ini udah diuji di server Clearos 5.2, mode : gateway
Perlu diingat, simpan/backup squid.conf anda sebelum melakukan praktek, karena mungkin masih diperlukan untuk setingan delaypool.
Langkah-langkahnya :
Jalankan putty dan winscp (maklum saya gak ngerti perintah2 di cli). Masuk ke PUTTY (copas perintah dibawah ini perbaris lalu enter, kalau gak ngerti cara  copas tanya sama anak sd,……. :D , blok satu baris , ctrl C , masuk putty, klik kanan, enter):
yum install squid -y

yum remove squid -y

yum remove squid -y

yum install automake gcc glibc-devel e2fsprogs-devel sharutils -y

wget http://lusca-cache.googlecode.com/files/LUSCA_HEAD-r14809.tar.gz

tar -zxvf LUSCA_HEAD-r14809.tar.gz

cd LUSCA_HEAD-r14809

ulimit -n 8192

./configure --prefix=/usr/local/squid --exec-prefix=/usr/local/squid --enable-delay-pools --enable-cache-digests --enable-poll --enable-linux-netfilter --enable-removal-policies --with-maxfd=8192 --enable-storeio=aufs --disable-wccp --enable-x-accelerator-vary --enable-kill-parent-hack --enable-async-io=30 --disable-ident-lookups

make all && make install

cd /usr/local/squid/etc/

wget http://v1.tiberias.or.id/downloads/squid.conf

wget http://v1.tiberias.or.id/downloads/storeurl.pl.conf

wget http://www.hendraarif.web.id/wp-content/uploads/2011/02/tunning.conf

(cat. jika tunning.conf gagal didonlot, bisa copy semua isi dari ini, lalu paste ke notepad, simpan dengan nama : tunning.conf, lalu copykan ke /usr/local/squid/etc/ , gunakan winscp)
----------------------------------------
buka winscp :
--------------------------------------
  • masuk ke folder/directory : /usr/local/squid/etc/
  • ganti nama file :  storeurl.pl.conf  menjadi storeurl.pl   (klik kanan rename)
  • hapus file : squid.conf (atau ganti dg nama lain)
  • ganti nama file :  squid.conf.1 menjadi squid.conf
  • buka file squid.conf, untuk melakukan pengeditan. diedit.
  • tambahkan tanda # didepan baris offline_mode on (hasilnya : #offline_mode on)
  • menyesuaikan IP, cari baris perintah berikut :
  •      acl localnet src 10.0.2.0/24 # RFC1918 possible internal network
  •      ganti dg ip LAN kita, contoh : 10.0.2.0/24 ganti dengan 192.168.2.0/24)
  •      ganti juga ip 10.0.2.0/24 yg berada dikelompok delaypool (digulung/scroll kebawah sampai mentok) ganti dengan IP LAN kita tadi.

kembali lagi ke…… PUTTY : 

cd /usr/local/squid/etc/

rm -rf /cache1/

mkdir /cache1

chown squid:squid /cache1

chmod 777 squid.conf tunning.conf storeurl.pl

/usr/local/squid/sbin/squid -k parse

/usr/local/squid/sbin/squid -z

/usr/local/squid/sbin/squid -NDd1 &

jika tampil tulisan : Finished rebuilding storage from disk.
bla.. bla.. bla
bla.. bla.. bla
                 storeLateRelease: released 0 objects.

artinya lusca berhasil ditanamkan di server anda..
tekan ctrl + C untuk kembali ke prompt (taulah apa namanya... yg tanda # itu lo :D)

kembali lagi ke… WINSCP :
  • masuk ke direktori  /etc/rc.d
  • buka file : rc.local
  • hapus semua dan gantikan dengan script dibawah ini:
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/usr/local/squid/sbin/squid -NDd1 &
# This file is executed by the firewall on stop/start/restart.
  •  Simpan, tutup.
  •  Masuk ke folder : /etc
  • Buka file : firewall
  • Cari baris berikut :
# Squid configuration
#--------------------------
SQUID_TRANSPARENT="" ( ganti menjadi ) SQUID_TRANSPARENT="on"
SQUID_FILTER_PORT="" ( ganti menjadi ) SQUID_FILTER_PORT="3128"
  • Simpan, tutup.

Saatnya uji coba..
tes dari sembarang client buka youtube, youp*** suka2 deh.... play sampai habis.
lalu tutup browser trus buka lagi alamat yang tadi udah pernah dibuka (buka-bukaan :D)
atau bisa juga dicoba dg client yang lain untuk lihat efeknya

klo udah wuss wuss ……. Selamat lusca anda sudah bekerja..
kemudian restart server anda, untuk memastikan lusca anda aktif...

untuk pengaturan delaypool, anda bisa menggunakan setingan lama, silahkan oprek atau referensi squid,,, silahkan tuning squid.conf anda sampai juling.. :D


Tuts ini berhasil dibuat karena termotivasi dan dibantu oleh rekan-rekan grup ClearOS Indonesia,

terima kasih kepada : Kadal Ijo,  Adi Riadi, Supriyadi Supet dan Ryan Boas Patriandika.

untuk senjata tambahan : anda juga perlu ini dan ini
coba buka link ini untuk caching speedtest... tapi harus sabar, luamaaaa, biar hasil jarum speedometernya patah.. kwkwkwkwk

Sumber: beldin-best

Squid 3.1 di Clearos

  Setelah bosen dengan lusca yang bikin cepet harddisk saya penuh, sekarang coba lagi pasang Squid 3.1.3. Lusca bagus tetapi harus sering dimonitor. Tutorial  pasang squid 3.1.3 didapat dari bang Sukhoi tapi lewat bang Andiwibowo :D ..
bang Adi Riadi  memberi bonus squid.conf-nya, bang Andiwibowo nambahin refres patternnya.. :D saya tinggal pake.
Begitulah silsilah squid diserver saya.. Langkahnya seperti ini :

(catatan, langkah berikut untuk menggantikan squid bawaan Clearos 5.2, bukan untuk menggantikan lusca, untuk lusca ada sedikit langkah tambahan) :
perintah berikut bisa juga dijalankan : klo merasa gak perlu lewati aja :P


  •  yum update
  • yum groupinstall "Development Tools"
  • yum install automake gcc glibc-devel e2fsprogs-devel sharutils
  • yum install patch
1. stop squid saat ini dan remove squid :

  • service squid stop
  • yum remove squid app-squid
2. downlaod squid 3.1

  • wget http://download.clearfoundation.com/community/timb80/repo/clearos/5.2/testing/squid-3.1.3-2.clearos.i686.rpm
3. install squid 3.1
  • rpm -U squid-3.1.3-2.clearos.i686.rpm
4. backup conf squid yg lama dan copy conf squid yang baru
  •  cp /etc/squid/squid.conf /etc/squid/squid.conf.backup
  •  cp /etc/squid/squid.conf.rpmnew /etc/squid/squid.conf
5. terus buat cache dir
  • squid -z
Jika gagal : mungkin permision folder /cache belum dibuka
6. start squidnya
  • service squid start
7. buka file  /etc/rc.d/rc.firewall.local menggunakan winscp (terserah). tambahkan diakhir baris dengan ini :

  •   iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 
Cat. : eth1 adalah  yang mengarah ke LAN, jika menggunakan 2 LAN maka tambahkan lagi dibaris berikutnya. Sesuaikan dengan jaringan yg ada


8. Restart firewallnya

  • service firewall restart
9. installl appnya agar integrasi dengan webconfig clear os
  •  yum install adzapper app-dansguardian-av 
Selesai dan siap menikmati menikmati. 



umber: beldin-best

Install EasyHotspot Di ClearOS

UPDATED!! This HOWTO has been VERIFIED/TESTED as working



Hardware Requirements:
1. PC with at least 2 NICs ( I used 3 NICs on mine)
i. eth0: Internet
ii. eth1: Hotspot LAN
iii. eth2: Admin (optional)
2. Access Point

Software Requirements:
1. ClearOS 5.2 Enterprise (www.clearfoundation.com/Software/downloads)
2. FreeRadius2
3. Coova-Chilli (www.clearcenter.com/media/dev/coova-chilli-1.2.5-1.i386.rpm)
4. Easyhotspot-web_only_0.2 (sourceforge.net/projects/easyhotspot/)

Install ClearOS
- Install ClearOS as a Gateway i.e. choose Gateway mode on system mode
- Select software modules
- Graphical Console
- DHCP and Local DNS Servers
- Mail Server
- Web Server
- Database Server / MySQL
- Optional modules (Web Proxy, Antimalware, Antispam, Bandwidth Manager, Intrusion Protection, Protocol filter)

- Follow on-screen instructions to complete installation and reboot the system. The system reboots into a GUI screen. Login using root and password you set during installation and Complete Installation wizard tasks

Firewall Settings
Go to Firewall by clicking the Firewall link at the end of the installation wizard. Add firewall rules to allow SSH and HTTP

IP Settings
Go to Network>IP Settings and make sure eth0 is configured for Internet Access and eth1 is set on something line Hot LAN or LAN and on DHCP. If you are using 3 NICs like I did, set eth2 with static/dhcp LAN IP address. Ensure the links are up.

Check Internet connectivity by open a second terminal (CTRL+F2). Login and trying pinging a web address. This verifies that Internet and DNS are working well. If successful, proceed to install FreeRadius2 otherwise check your connections.


Install/Setup FreeRadius2
(www.clearfoundation.com/docs/howtos/sett...eradius2_to_use_ldap)
For ClearOS 5.2, run your updates. For older versions, you must upgrade to 5.2 before you can use this module.
# yum update

Install the FreeRadius service by running the following from command line:
# yum --enablerepo=base-plus install app-freeradius

# service syswatch restart


In Webconfig, click on the RADIUS server link under Network » Settings » RADIUS Server
To start the service, click Start. To make the service start automatically on each reboot, click To Auto
You may assign a group to authenticate through your RADIUS server. Select a group and click Update.

To allow a remote device to use the RADIUS server, give the client remote device(s) a nickname without spaces. Insert an IP address or CIDR. Select a password to be used by these client devices (e.g. testing123 from HS_RADSECRET=testing123) and click Add.


NOTE: You can follow the complete HOWTO (www.clearfoundation.com/docs/howtos/sett...eradius2_to_use_ldap) if you want to use LDAP authentication.

Configure FreeRadius2 to use SQL

Install freeRadius2-mysql
# yum install freeradius2-mysql

Edit radius.conf file
To do this, edit /etc/raddb/radiusd.conf and pretty much ignore everything except around about line 640 in the modules section uncomment or make sure that you have,

$INCLUDE sql.conf

and then further down make sure you have,

$INCLUDE sql/mysql/counter.conf

Then further around line 710 in the instantiate section make sure you have,

chillispot_max_bytes
noresetcounter


which are our counters which we define in the next section. Then in /etc/raddb/sites-enabled/default, in the authorise section after it has the "Look in an SQL database..." it has an "sql" entry that may be commented out so uncomment it and add the new counters so that it is now,


sql
chillispot_max_bytes
noresetcounter

and then later in /etc/raddb/sites-enabled/default in the accounting section uncomment the sql about line 343,

sql

and then later in /etc/raddb/sites-enabled/default in the session section uncomment the sql about line 370,

sql

and then finally in /etc/raddb/sites-enabled/default in the post-auth section uncomment the sql about line 370,

sql

That should be it. Now update the counter.conf in the next section.

FreeRadius SQL counter.conf settings needed
To match the radcheck and radgroupchecks we use then you also need to add two matching counter.conf checks as follows. Edit the /etc/radddb/sql/mysql/counter.conf file (unless the counter is already defined in that), add the following at the end,

sqlcounter noresetcounter {
counter-name = Session-Timeout
check-name = Session-Timeout
reply-name = Session-Timeout
sqlmod-inst = sql
key = User-Name
reset = never
query = "SELECT SUM(Acctsessiontime) FROM radacct WHERE serName='%{%k}'"
}

sqlcounter chillispot_max_bytes {
counter-name = ChilliSpot-Max-Total-Octets
check-name = ChilliSpot-Max-Total-Octets
reply-name = ChilliSpot-Max-Total-Octets
sqlmod-inst = sql
key = User-Name
reset = never
query = "SELECT SUM(AcctInputOctets) + SUM(AcctOutputOctets) FROM radacct WHERE UserName='%{%k}'"
}

IMPORTANT: Make sure you comment out all occurrences ldap and files in /etc/raddb/sites-enabled/default


Setup easyhotspot database to be used by FreeRadius

Go to Webconfig>Server>MySQL and set MySQL to Auto start On Boot and start the Service. You will be required to supply a password for MySQL (if you have not set one already)

On the terminal:

#mysql –u root –p

mysql> create database easyhotspot_opensource;
mysql>CREATE USER 'easyhotspot'@'localhost';
mysql>SET PASSWORD FOR 'easyhotspot'@'localhost' = PASSWORD('easyhotspot');
mysql>GRANT ALL ON easyhotspot_opensource.* to 'easyhotspot'@'localhost';
mysql> quit

Easyhotspot Database Setup
Download easyhotspot from here 2 sourceforge.net/projects/easyhotspot/
Recommended: Download the modified and ‘tested as working’ easyhotspot herewikieducator.org/File:Easyhotspot_opensource_2011-08-22.odt

NOTED: rename the file and change file extension from odt to sql

# mysql –u root –p easyhotspot_opensource < easyhotspot_opensource_2011-08-22.sql

Setup Easyhotspot

Preparation
#yum install php php-mysql php-gd php-pear php-db

# wget pear.php.net/go-pear.phar
# php go-pear.phar
# pear install DB

Restart Apache1
#Service httpd restart

Copy the easyhotspot folder to /opt
Create a soft link in /var/www/html for easyhotspot/htdocs
# cd /var/www/html/
# ln –s /opt/easyhotspot/htdocs easyhotspot

Setup Raddb To Use Easyhotspot_Opensource Database
Edit /etc/raddb/sql.conf and set the following:-
# vi /etc/raddb/sql.conf


# Connection info:
server = "localhost"
#port = 3306
login = " easyhotspot "
password = " easyhotspot "

# Database table configuration for everything except Oracle
radius_db = " easyhotspot _opensource"

Install/Setup Captive Portal

(www.clearfoundation.com/docs/howtos/captive_portal)

Preparation
You will need the working RADIUS server to get this going. Be sure to do the 'Additional setup' items at the bottom so that PAP is working.

You will need to set up localhost as an authorized client of the RADIUS server.
Create a user called coovachilli with mail only and make a group called chilli.


Get the code.
wget www.clearcenter.com/media/dev/coova-chilli-1.2.5-1.i386.rpm
wget www.clearcenter.com/media/dev/haserl
cp haserl /usr/sbin/
chmod +x /usr/sbin/haserl

Install the code

rpm -Uvh coova-chilli-1.2.5-1.i386.rpm

Configure Coovachilli

/etc/chilli/defaults

Set the following values: HS_LANIF, change this value if it is wrong (ie. HS_LANIF=eth2).

HS_NETWORK, set this to the values of your network (ie. HS_NETWORK=192.168.1.0).
HS_NETMASK, change this value if it is wrong (ie. HS_NETMASK=255.255.255.128).
HS_UAMLISTEN, set this to the IP of your server (ie. HS_UAMLISTEN=192.168.1.1).

HS_DNS1 and HS_DNS1, set these to the IP address of your local DNS server, in this case your server (ie. HS_DNS1=192.168.1.1 and HS_DNS2=192.168.1.1).

HS_RADSECRET, set this to the secret password that you placed in the RADIUS configuration for the localhost entry in Webconfig (ie. HS_RADSECRET=mysecretpassword).

HS_RAD_PROTO=mschapv2, set this so the program knows to use the NT-Password infrastructure of LDAP described in the PAP section of the FreeRADIUS 2 Howto. This value does NOT exist and you must define it (set this to HS_RAD_PROTO=mschapv2).

HS_UAMDOMAINS, set all the domains that you want for your 'walled garden. These sites will work even if users don't authenticate via your captive portal:

HS_UAMDOMAINS=".clearcenter.com,.clearfoundation.com"

Start Coova Chilli
#service chilli start

Testing
Connect a client to network (or Wireless Network). This is where eth1 on your clearOS server is connected.
-The client should receive an IP address of say 10.1.0.x

If so, open a web browser on the client. You should get a redirection to the coova login page.




Install EasyHotspot Di Ubuntu



Dalam tulisan saya sebelumnya, saya menceritakan tentang easyhotpot, sebuah open source hotspot management yang dibuat oleh mas Rafeequl Rahman Awan. Easyhotspot sebenarnya sebuah aplikasi yang menggabungkan beberapa aplikasi lain menjadi satu, diantaranya adalah LAMP server (Linux, Apache, MySql, PHP), freeradius, dan chilli yang dengan adanya easyhotspot ketiganya bisa dimenejemen dengan mudah melalui sebuah web interface.

Ubuntu 10.04 LTS
Kali ini saya akan menceritakan pengalaman saya menginstall aplikasi-aplikasi yang sudah saya sebutkan diatas di Ubuntu 10.04 LTS Server edition. Syarat minimal hardware yang harus dimiliki adalah sebuah PC dengan 2 buah kartu jaringan (LAN Card). selain itu, berdasar pengalaman mysql daemon akan sedikit membebani memory untuk itu minimal RAM yang direkomendasikan dalah 512MB meski kemungkinan besar juga bisa berjalan dengan RAM 256MB jika anda menggunakan OS tanpa GUI. Saya sendiri menginstallnya di sebuah CPU merk HP dengan spesifikasi Core 2 Duo E8600 3,33Ghz, RAM 2 Gb, 2 Ethernet card ( 1 LAN card on-board, 1 lagi PCI merk D-Link) dan 2 buah HDD total 1,14TB (160 Gb dan 1Tb). Sangat berlebihan sebenarnya untuk ukuran server hotspot namun server ini sekalian saya gunakan sebagai data server yang menyimpan file-file multimedia koleksi pribadi saya.

freeRadius
Saya mengasumsikan Anda semua sudah memiliki sebuah PC yang sudah terinstall Ubuntu 10.04 LTS, begitu juga dengan LAMP server (Apache,mysql dan php). Jika anda baru akan memulai menginstall Ubuntu, ada baiknya anda secara langsung memilih paket LAMP server dan SSH server saat proses penginstalan berlangsung. Namun jika anda sudah terlanjur menginstall ubuntu tanpa LAMP server anda bisa menginstallnya
melalui perintah apt-get maupun dari tasksel. Saya yakin anda bisa melakukannya hingga tahap ini.

Coovachilli
Selanjutnya yang perlu anda persiapkan adalah 2 buah kartu jaringan, cek apakah keduanya sudah bekerja dengan baik, dan pastikan keduanya memiliki nama eth0 dan eth1. Yang perlu anda lakukan disini adalah menghubungkan eth0 dengan modem/router anda dan eth1 dengan akses point/switch. Awalnya saya sangat dibuat bingung dengan konfigurasi yang mesti mengganti nama interface yang terbolak-balik, belakangan saya menemukan cara dimana lebih baik menukar kabel daripada mesti mengganti nama interfacenya. Setting eth0 sesuai setting jaringan dari router anda, apakah mau diset secara otomatis menggunakan dhcp maupun statik. (saya lebih menganjurkan statik demi kemudahan remote server dari jaringan). Anda bisa melakukan konfigurasi dengan merubah file /etc/network/interfaces. Disini saya hanya melakukan setting pada loopback (auto) dan eth0 dengan memberinya ip 192.168.1.253, subnet 255.255.255.0, gateway/DNS 192.168.1.254 (ip modem/router). Selebihnya untuk eth1 saya biarkan saja karena nantinya akan diatur secara otomatis oleh chilli. Sekali lagi perhatikan bahwa tidak boleh ada DHCP server yang berjalan baik di mesin yang sedang anda kerjakan maupun di akses point yang tersambung dengan eth1.
Tahap selanjutnya yang saya lakukan adalah menginstall paket-paket yang kemungkinan besar akan saya gunakan termasuk menginstall freeradius (anda bisa menambahkan atau mengurangi sesuai kebutuhan)
$apt-get -y install iptraf iftop whois sysstat snmp snmpd rrdtool dbconfig-common libphp-adodb php5-cli php5-gd php5-gmp php-pear php5-snmp php5-adodb make rpm alien subversion nmap libnet-netmask-perl curl freeradius freeradius-mysql php5-mcrypt perl openssl libnet-ssleay-perl libauthen-pam-perl libpam-runtime libio-pty-perl unzip git-core
Untuk mempermudah pekerjaan administrasi (mengingat saya juga msih newbie :) ), saya menginstall webmin, beberapa paket yang dibutuhkan untuk webmin sudah terinstall dengan perintah diatas. Tinggal install paket libmd5-perl secara manual karena sudah tidak tersedia di repo Ubuntu Lucid, untuk itu kita perlu mendownload paketnya.
$dpkg -i libmd5-perl_2.03-1_all.deb
$dpkg -i webmin_1.510-2_all.deb
Ok,sampai disini anda sudah memiliki webmin dan juga freeradius yang sudah terinstall di LAMP server Ubuntu Linix 10.04 anda.
Selanjutnya anda perlu untuk mengcopy easyhotspot web only dari git server, dan menaruhnya di folder pada server and a (semisal /opt/). Saya melakukan tahap ini terlebih dahulu untuk mendapatkan contoh schema mysql yang digunakan oleh easyhotspot nantinya. untuk itu lakukan perintah dibawah, atau anda bisa mendownload langsung disini
$cd /opt
$git clone git://easyhotspot.git.sourceforge.net/gitroot/easyhotspot/easyhotspot
Langkah selanjutnya dalah memastikan anda memiliki hak akses MySql dan saya sarankan anda merubah password root di MySql anda (password root mysql berbeda dengan root system) karena secara default, root tidak memiliki password.
$mysqladmin -u root password xxxyyyzzz
xxxyyyzzz” adalah contoh password mysql saya,anda bisa merubahnya sesuai dengan keinginan anda
Kemudian buat sebuah database yang akan digunakan oleh freeradius dan easyhotspot untuk authentikasi dan menejemen account dan biliing saya menggunakan nama database “hotspot” anda bisa menggunakan nama lain.
$mysql -u root -pxxxyyyzzz create hotspot
Masukkan skema database yang dibutuhkan kedlam database yang sudah dibuat diatas, disini saya menggunakan skema yang ada di folder easyhotspot yang sudah didownload dengan perintah git clone diatas.
$cd /opt/easyhotspot/install
$mysql -u root -pxxxyyyzzz hotspot <database_with_sample.sql
Kemudian buat sebuah user mysql dengan nama easyhotspot dan password sesuai dengan keinginan anda (dalam contoh saya menggunakan password ‘xxyyzz’;) yang memiliki akses ALL GRAND terhadap database hotspot yang sudah dibuat tadi (disni anda bisa memanfaatkan webmin untuk mempermudah). sebenarnya anda bisa menggunakan account root anda untuk digunakan oleh easyhotspot dan freeradius, namun saya sarankan anda membuat account baru saja untuk tutorial mysql anda bisa membacanya di http://www.pantz.org/software/mysql/mysqlcommands.html
Setelah anda membuat account baru tersebut, anda harus menyesuaikan settingnya dengan setting database freeradius dan easyhotspot, untuk itu anda perlu merubah file /etc/freeradius/sql.conf dan/opt/easyhotspot/htdocs/system/application/config/database.php
Pada file /etc/freeradius/sql.conf ubah setting server, login, password dan radius_db menjadi :
sql {
#
#  Set the database to one of:
#
#    mysql, mssql, oracle, postgresql
#
database = “mysql”
#
#  Which FreeRADIUS driver to use.
#
driver = “rlm_sql_${database}”
# Connection info:
server = “localhost”
#port = 3306
login = “easyhotspot”
password = “xxyyzz”
# Database table configuration for everything except Oracle
radius_db = “hotspot”
Sedangkan pada /opt/easyhotspot/htdocs/system/application/config/database.php ubah setting database, username dan password sehingga menjadi :
$db['default']['hostname'] = “localhost”;
$db['default']['username'] = “easyhotspot”;
$db['default']['password'] = “xxyyzz”;
$db['default']['database'] = “hotspot”;
$db['default']['dbdriver'] = “mysql”;
Langkah selanjutnya adalah membuat chilli sebagai client dari freeradius, untuk itu kita harus merubah file /etc/freeradius/clients.conf dan pastikan anda memiliki baris setting seperti dibawah :
ipaddr = 127.0.0.1
secret = easyhotspot //anda bisa merubah dan sesuaikan dengan setting di chilli
nastype = other
Berikutnya yang juga penting adalah memberitahu freeradius untuk menggunakan MySql dalam authentikasi user. ubah file /etc/freeradius/radiusd.conf. dibagian modules (sekitar baris 648) dan uncommen :
$INCLUDE sql.conf
begitu juga bebrapa baris berikutnya, uncomment pada :
$INCLUDE sql/mysql/counter.conf
Kemudian cari di bagian instantiate (sekitar baris 715) dan tambahkan didalamnya :
max_all_mb
noresetcounter
kemudian save file tersebut dan buka file /etc/freeradius/sites-enabled/default. Pada bagianauthorise perhatikan baris yang berisi sql yang mungkin di”comment” anda harus meng-”uncomment” baris tersebut dan menambahkan baris sehingga menjadi seperti dibawah :
sql
max_all_mb
noresetcounter
Anda juga harus meng-”uncomment” baris sql pada file yang sama di bagian accounting, session danpost-auth, kemudian save.
Tahap selanjutnya adalah merubah file /etc/freeradius/sql/mysql/counter.conf, buka file tersebut dan lihat pada bagian akhir file, terdapat parameter
sqlcounter noresetcounter {
bla…bla…bla…
Hapus semua baris diatas  hingga tanda } dan gantikan dengan :
sqlcounter noresetcounter {
counter-name = Session-Timeout
check-name = Session-Timeout
reply-name = Session-Timeout
sqlmod-inst = sql
key = User-Name
reset = never
query = “SELECT SUM(Acctsessiontime) FROM radacct WHERE UserName=’%{%k}’”
}
sqlcounter max_all_mb {
counter-name = Max-All-MB
check-name = Max-All-MB
reply-name = ChilliSpot-Max-Total-Octets
sqlmod-inst = sql
key = User-Name
reset = never
query = “SELECT SUM(AcctInputOctets)/(1024*1024) + SUM(AcctOutputOctets)/(1024*1024) FROM radacct WHERE UserName=’%{%k}’”
}
Sampai dini, seharusnya freeradius sudah bekerja. Anda bisa memastikan dengan manjalankan freeradius dengan mode debug.
$/etc/init.d/freeradius stop
$/usr/sbin/freeradius -X
Anda bisa melihat jika freeradius error makan akan di tampilkan letak kesalahannya yang membuat freeradius tidak berjalan, namun jika freeradius sudah bekerja dengan benar akan muncul pemberitahun freeradius menunggu request selanjutnya. Jika telah berjalan dengan benar anda bisa mematikan mode debug dan menjalankan dalam modus normal dengan menekan tombol ctrl+c dan menjalankan perintah
$/usr/sbin/freeradius
Pekerjaan selanjutnya adalah menginstall Coova Chilli. Sebelumnya anda mesti mendownload paket coova baru kemudian menginstalnya.
$dpkg -i coova-chilli_1.2.2_i386.deb
Secara default, coova chilli di set dalam keadaan tidak aktif, anda harus mengaktifkan dengan cara merubah isi file /etc/default/chilli dan cari
START_CHILLI=0 ubah menjadi START_CHILLI=1
selanjutnya adalah download dan install Haserl
$tar -zxvf haserl-0.8.0.tar.gz
$cd haserl-0.8.0;./configure;make;sudo make install
Kemudian Edit file /etc/chilli/wwwsh
cari :
haserl=$(which haserl 2>/dev/null)
ubah menjadi :
haserl=/usr/local/bin/haserl
kemudian tambahkan baris berikut pada file /etc/chilli/up.sh
# may not have been populated the first time; run again
[ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null
# force-add the final rule necessary to fix routing tables
iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE
Kemudian buka file /etc/chilli/default dan sesuaikan parameter sesuai setting-setting diatas, berikut adalah setting /etc/chilli/default saya :
# -*- mode: shell-script; -*-
#
#   Coova-Chilli Default Configurations.
#   To customize, copy this file to /etc/chilli/config
#   and edit to your liking. This is included in shell scripts
#   that configure chilli and related programs before file ‘config’.
###
#   Local Network Configurations
#
# HS_WANIF=eth0            # WAN Interface toward the Internet
HS_LANIF=eth1           # Subscriber Interface for client devices
HS_NETWORK=10.1.0.0     # HotSpot Network (must include HS_UAMLISTEN)
HS_NETMASK=255.255.255.0   # HotSpot Network Netmask
HS_UAMLISTEN=10.1.0.1    # HotSpot IP Address (on subscriber network)
HS_UAMPORT=3990            # HotSpot UAM Port (on subscriber network)
HS_UAMUIPORT=4990          # HotSpot UAM “UI” Port (on subscriber network, for embedded portal)
# HS_DYNIP=
# HS_DYNIP_MASK=255.255.255.0
# HS_STATIP=
# HS_STATIP_MASK=255.255.255.0
# HS_DNS_DOMAIN=
# DNS Servers
HS_DNS1=192.168.1.254
###
#   HotSpot settings for simple Captive Portal
#
HS_NASID=nas01
HS_RADIUS=localhost
HS_RADIUS2=localhost
HS_UAMALLOW=10.1.0.1,192.168.1.254,lestari-net.co.cc
HS_RADSECRET=easyhotspot    # Set to be your RADIUS shared secret//sesuai yang kita isikan di /etc/freeradius/clients.conf
HS_UAMSECRET=easyhotspot     # Set to be your UAM secret
HS_UAMALIASNAME=chilli
#  Configure RADIUS proxy support (for 802.1x + captive portal support)
# HS_RADPROXY=on
# HS_RADPROXY_LISTEN=127.0.0.1
# HS_RADPROXY_CLIENT=127.0.0.1
# HS_RADPROXY_PORT=1645
# HS_RADPROXY_SECRET=$HS_RADSECRET
#  Example OpenWrt /etc/config/wireless entry for hostapd
#    option encryption wpa2
#    option server $HS_RADPROXY_LISTEN
#    option port $HS_RADPROXY_PORT
#    option key $HS_RADPROXY_SECRET
#   To alternatively use a HTTP URL for AAA instead of RADIUS:
# HS_UAMAAAURL=http://my-site/script.php
#   Put entire domains in the walled-garden with DNS inspection
# HS_UAMDOMAINS=”.paypal.com,.paypalobjects.com”
#   Optional initial redirect and RADIUS settings
# HS_SSID=<ssid>        # To send to the captive portal
# HS_NASMAC=<mac address>  # To explicitly set Called-Station-Id
# HS_NASIP=<ip address>    # To explicitly set NAS-IP-Address
#   The server to be used in combination with HS_UAMFORMAT to
#   create the final chilli ‘uamserver’ url configuration.
HS_UAMSERVER=$HS_UAMLISTEN
#   Use HS_UAMFORMAT to define the actual captive portal url.
#   Shell variable replacement takes place when evaluated, so here
#   HS_UAMSERVER is escaped and later replaced by the pre-defined
#   HS_UAMSERVER to form the actual “–uamserver” option in chilli.
HS_UAMFORMAT=http://\$HS_UAMLISTEN:\$HS_UAMUIPORT/www/login.chi
#   Same principal goes for HS_UAMHOMEPAGE.
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html
#   This option will be configured to be the WISPr LoginURL as well
#   as provide “uamService” to the ChilliController. The UAM Service is
#
# HS_UAMSERVICE=
###
#   Features not activated per-default (default to off)
#
# HS_RADCONF=off        # Get some configurations from RADIUS or a URL (‘on’ and ‘url’ respectively)
#
# HS_ANYIP=on          # Allow any IP address on subscriber LAN
#
# HS_MACAUTH=on         # To turn on MAC Authentication
#
# HS_MACAUTHDENY=on     # Put client in ‘drop’ state on MAC Auth Access-Reject
#
# HS_MACAUTHMODE=local        # To allow MAC Authentication based on macallowed, not RADIUS
#
# HS_MACALLOW=”…”      # List of MAC addresses to authenticate (comma seperated)
#
# HS_USELOCALUSERS=on      # To use the /etc/chilli/localusers file
#
# HS_OPENIDAUTH=on      # To inform the RADIUS server to allow OpenID Auth
#
# HS_WPAGUESTS=on       # To inform the RADIUS server to allow WPA Guests
#
# HS_DNSPARANOIA=on     # To drop DNS packets containing something other
#                  # than A, CNAME, SOA, or MX records
#
# HS_OPENIDAUTH=on      # To inform the RADIUS server to allow OpenID Auth
#                  # Will also configure the embedded login forms for OpenID
#
# HS_USE_MAP=on         # Short hand for allowing the required google
#                  # sites to use Google maps (adds many google sites!)
#
###
#   Other feature settings and their defaults
#
# HS_DEFSESSIONTIMEOUT=0   # Default session-timeout if not defined by RADIUS (0 for unlimited)
#
# HS_DEFIDLETIMEOUT=0    # Default idle-timeout if not defined by RADIUS (0 for unlimited)
#
# HS_DEFBANDWIDTHMAXDOWN=0   # Default WISPr-Bandwidth-Max-Down if not defined by RADIUS (0 for unlimited)
#
# HS_DEFBANDWIDTHMAXUP=0      # Default WISPr-Bandwidth-Max-Up if not defined by RADIUS (0 for unlimited)
###
# Centralized configuration options examples
#
# HS_RADCONF=url        # requires curl
# HS_RADCONF_URL=https://coova.org/app/ap/config
# HS_RADCONF=on         # gather the ChilliSpot-Config attributes in
#                  # Administrative-User login
# HS_RADCONF_SERVER=rad01.coova.org        # RADIUS Server
# HS_RADCONF_SECRET=coova-anonymous        # RADIUS Shared Secret
# HS_RADCONF_AUTHPORT=1812           # Auth port
# HS_RADCONF_USER=chillispot               # Username
# HS_RADCONF_PWD=chillispot                # Password
###
#   Firewall issues
#
# Uncomment the following to add ports to the allowed local ports list
# The up.sh script will allow these local ports to be used, while the default
# is to block all unwanted traffic to the tun/tap.
#
HS_TCP_PORTS=”22  80 443 10000″ 
###
#   Standard configurations
#
HS_MODE=hotspot
HS_TYPE=chillispot
# HS_RADAUTH=1812
# HS_RADACCT=1813
# HS_ADMUSR=chillispot
# HS_ADMPWD=chillispot
###
#   Post-Auth proxy settings
#
# HS_POSTAUTH_PROXY=<host or ip>
# HS_POSTAUTH_PROXYPORT=<port>
#   Directory specifying where internal web pages can be served
#   by chilli with url /www/<file name>. Only extentions like .html
#   .jpg, .gif, .png, .js are allowed. See below for using .chi as a
#   CGI extension.
HS_WWWDIR=/etc/chilli/www
#   Using this option assumes ‘haserl’ is installed per-default
#   but, and CGI type program can ran from wwwsh to process requests
#   to chilli with url /www/filename.chi
HS_WWWBIN=/etc/chilli/wwwsh
#   Some configurations used in certain user interfaces
#
HS_PROVIDER=Silfa-Link
HS_PROVIDER_LINK=http://silfalink.com/
###
#   WISPr RADIUS Attribute support
#
HS_LOC_NAME=”Silfa Link HotSpot”       # WISPr Location Name and used in portal
#   WISPr settings (to form a proper WISPr-Location-Id)
# HS_LOC_NETWORK=”My Network”      # Network name
# HS_LOC_AC=408               # Phone area code
# HS_LOC_CC=1                 # Phone country code
# HS_LOC_ISOCC=US             # ISO Country code
Setelah di save, jalankan chilli dengan perintah :
$/etc/init.d/chilli start
Seharusnya saat ini server biilling hotspot anda sudah berjalan dengan baik, begitu juga dengan easyhotspotnya. lakukan pengecekan dengan perintah :
$ifconfig
Jika dalam reslut ifconfig telah muncul eth1 dan tun0 dimana Tun0 memiliki ip 10.1.0.1 maka server anda sudah bisa digunakan. Hubungkan sebuah PC dengan kabel LAn ke eth1, dan pastikan PC tersebut menggunakan setting IP otomatis. dan lihat jika PC sudah mendapatkan IP DHCP dari coova chilli dengan ip 10.1.0.x maka coova chilli sudah bekerja dengan baik. Anda tinggal membuka browser dan buka alamat sembarang, disini harusnya anda diredirect ke halaman login, jika tidak anda bisa mengetikkan alamat http://10.1.0.1:3990/ (dalalam beberapa kali ujicoba sering kali coova merespon lambat sehingga user tidak di redirect kehalaman login).
Terakhir, yang harus anda lakukan adalah membuat symlink untuk easyhotspot agar bisa dibuka di browser, lakukan perintah di bawah :
$ln -s /opt/easyhotspot/htdocs /var/www/easyhotspot
Setelah itu silahkan buka http://ip-server-anda/easyhotspot untuk memulai menejemen hotspot anda. Oya, sebelumnya anda harus memastikan tiga file config easyhotspot sudah terisi dengan benar yaitu/opt/easyhotspot/htdocs/system/application/config/config.php,/opt/easyhotspot/htdocs/system/application/config/database.php dan /opt/easyhotspot/htdocs/system/application/config/easyhotspot.php

Sumber : ndra.gmib26