Ubuntu Server + Freeradius 2.0.x + Coovachilli

Diskusi tentang Ubuntu Server baik webserver, database server, samba server dan service lainnya serta jaringan menggunakan Sistem Operasi Ubuntu.
User avatar
DanielBenny2910
Posts: 29
Joined: 26 Oct 2010, 11:26
Location: Bandung, Indonesia
Contact:

Ubuntu Server + Freeradius 2.0.x + Coovachilli

Postby DanielBenny2910 » 27 Oct 2010, 12:51

Ubuntu Server + Freeradius 2.0.x + Coovachilli + Daloradius


[font:Microsoft Sans Serif]Tutorial install ubuntu server nya :

- Ubuntu Server 8.04.3 server (paket yang di install)
- LAMP Server
- DNS Server
- OpenSSH Server
- Print Server
- Samba File Server
- Webmin
(untuk hapus database di mysql jika salah isi databasenya tongue)

Putty dan winscp di client untuk remote server dari client dan file transfer.

Topologi:

Internet ---- Modem -------- Ubuntu Server ------- Switch ------- AP dan/atau LAN.

* Jangan lupa update dan upgrade ubuntu servernya!


Edit file /etc/sysctl.conf untuk forwarding paketnya

Code: Select all

#net.ipv4.ip_forward=1
ganti jadi:
net.ipv4.ip_forward=1
[/font]


[spoiler=Proses installasi ini berpedoman pada blognya orang Thailand:]
http://manajung.blogspot.com/2010/01/da ... o-910.html
[font:Book Antiqua][size:11pt][/spoiler]

1. Install Freeradius 2.x dari source

Code: Select all

apt-get install freeradius freeradius-mysql
(proses installasi akan menanyakan paket pendukung, saya yes aja:D)


Stop Freeradiusnya

Code: Select all

/etc/init.d/freeradius stop

Jalankan dalam mode debug

Code: Select all

freeradius -X
(jika tidak ada error tekan ctrl+c untuk stop debug dan di lanjut)


Masukkan database ke mysql

Code: Select all

mysql -u root -p
masukkan passwordnya: password root mysql anda
CREATE DATABASE radius;
GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'radiussecret';
FLUSH PRIVILEGES;
quit


Masukkan skema contoh dari freeradius

Code: Select all

mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql
masukkan password root mysql anda
mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql
masukkan password root mysql anda


Sinkronkan freeradius dengan Database nya

Code: Select all

nano /etc/freeradius/sql.conf
cari baris dibawah ini jika tidak sama di ganti
server = "localhost"
login  = "radius"
password = "radiussecret"

Kemudian masih dalam file ini, hapus tanda pound pada baris:
# readclient = yes
menjadi
readclient = yes

Setup freeradius server client password nya

Code: Select all

nano /etc/freeradius/clients.conf
cari baris
secret = testing123
ganti menjadi
secret = radiussecret


Ganti autorisasi freeradius ke sql

Code: Select all

nano /etc/freeradius/sites-available/default

pada section authorize, cari baris
files tambahkan tanda # menjadi
# files

cari baris
# sql, hapus tanda commentnya menjadi
sql

cari lagi baris sql pada section accounting dan session, jika ada tanda comment (#) hilangkan
save dan exit

Tes freeradiusnya dgn memasukkan username dan password

Code: Select all

mysql -u root -p
masukkan password root dari mysql anda
use radius;
INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('guest', 'password', 'guest')
select * from radcheck where UserName='guest';
exit


Restart freeradiusnya

Code: Select all

/etc/init.d/freeradius restart

ketik pada console
radtest guest guest localhost 0 radiussecret

jika berhasil akan keluar result seperti ini;
rad_recv: Access-Accept packet from host localhost port 1812, id=234, length=20


========== Setup Freeradius selesai :) ==============


2. Install Coovachilli

Download coova-chilli

Code: Select all

wget http://ap.coova.org/chilli/coova-chilli_1.0.13-1_i386.deb


Install coova-chilli

Code: Select all

dpkg -i coova-chilli_1.0.13-1_i386.deb


Copy default konfigurasi chilli agar bisa di custom

Code: Select all

cp /etc/chilli/default /etc/chilli/config


Buat folder hotspot

Code: Select all

mkdir /var/www/hotspot
cd /var/www/hotspot
cp /etc/chilli/www/* /var/www/hotspot
mkdir /var/www/hotspot/images
cp /var/www/hotspot/coova.jpg /var/www/hotspot/images/


Buat Folder uam

Code: Select all

mkdir /var/www/hotspot/uam
cd /var/www/hotspot/uam
wget http://ap.coova.org/uam/
wget http://ap.coova.org/js/chilli.js


Ganti host address local

Code: Select all

sed -i 's/ap.coova.org\/js\/chilli.js/192.168.0.1\/uam\/chilli.js/g' /var/www/hotspot/uam/index.html


Edit library dari chilli untuk menggunakan ip tadi

Code: Select all

sed -i 's/192.168.182.1/192.168.0.1/g' /etc/chilli/www/ChilliLibrary.js
sed -i 's/192.168.182.1/192.168.0.1/g' /var/www/hotspot/ChilliLibrary.js


Untuk mengaktifkan coovachilli edit: START_CHILLI menjadi 1

Code: Select all

nano /etc/default/chilli
START_CHILLI=1
CONFFILE="/etc/chilli.conf"


Edit file configurasi chilli

Code: Select all

nano /etc/chilli/config


Edit parameter (kurang lebih)seperti dibawah ini):

Code: Select all

HS_LANIF=eth1 # Subscriber Interface for client devices
HS_NETWORK=192.168.0.0 # HotSpot Network (must include HS_UAMLISTEN)
HS_NETMASK=255.255.255.0 # HotSpot Network Netmask
HS_UAMLISTEN=192.168.0.1 # HotSpot IP Address (on subscriber network)
HS_UAMPORT=3990 # HotSpot Port (on subscriber network)

HS_NASID=nas01
HS_UAMSECRET=uamsecret
HS_RADIUS=127.0.0.1
HS_RADIUS2=127.0.0.1
HS_RADSECRET=radiussecret
HS_UAMALLOW=www.google.com,192.168.0.0/24

HS_UAMSERVER=192.168.0.1
HS_UAMFORMAT=http://\$HS_UAMSERVER/uam/index.php
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html
HS_UAMSERVICE=https://192.168.0.1/cgi-bin/hotspotlogin.cgi


Edit firewall chilli

Code: Select all

nano /etc/chilli/up.sh
tambahkan di baris paling bawah;
# 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


=========== Coovachilli selesai :) =====================

3. Install SSL

Code: Select all

apt-get install libapache2-mod-auth-mysql


Buat folder ssl

Code: Select all

mkdir /etc/apache2/ssl


Install certificate

Code: Select all

apt-get install ssl-cert


Lihat nama host untuk di masukkan nanti pada saat pembuatan certificate

Code: Select all

hostname -f


Generate ssl-cert nya

Code: Select all

make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem


Edit hosts nya

Code: Select all

nano /etc/hosts
127.0.0.1 localhost
192.168.0.1 ## your hostname


Enable module ssl

Code: Select all

a2ensite ssl
/etc/init.d/apache2 force-reload


Create Virtual host untuk hotspot

Code: Select all

nano /etc/apache2/sites-available/hotspot


Isinya kurang lebih seperti ini :

Code: Select all

NameVirtualHost 192.168.0.1:443
<VirtualHost 192.168.0.1:443>
    ServerAdmin webmaster@domain.org
    DocumentRoot "/var/www/hotspot"
    ServerName "192.168.0.1"
    <Directory "/var/www/hotspot/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    Alias "/dialupadmin/" "/usr/share/freeradius-dialupadmin/htdocs/"
    <Directory "/usr/share/freeradius-dialupadmin/htdocs/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    <Directory "/var/www/hotspot/cgi-bin/">
        AllowOverride None
        Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog /var/log/apache2/hotspot-error.log

    LogLevel warn

    CustomLog /var/log/apache2/hotspot-access.log combined

    ServerSignature On
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/apache.pem
</VirtualHost>


Enable virtual hostnya

Code: Select all

a2ensite hotspot


Edit listen portnya,seperti ini ;

Code: Select all

nano /etc/apache2/ports.conf

Listen *:443
Listen *:80
#<IfModule mod_ssl.c>
#    Listen 443
#</IfModule>


Jangan lupa edit defaultnya

Code: Select all

nano /etc/apache2/sites-available/default

NameVirtualHost *:80
<virtualhost *:80>


Create login page untuk hotspotnya

Code: Select all

mkdir -p /var/www/hotspot/
cd /var/www/hotspot/
wget http://www.truesoft.co.th/wifi/uam.tgz
tar -xzvf uam.tgz


Reboot server, saat ini seharusnya sudah bisa dapat ip dhcp dari coovachillinya. :)


4. Install Daloradius

Download versi terbaru dari daloRADIUS

Code: Select all

wget http://sourceforge.net/project/daloradius//files/daloradius/daloradius-0.9-8.tar.gz


Bisa juga download dari client trus di copy pake winscp :)
Extract!

Code: Select all

tar -xzvf daloradius-0.9-8.tar.gz

copy ke directory www
cp daloradius-0.9-8 /var/www/ -R

Ganti owner dan permission

chown www-data:www-data /var/www/daloradius-0.9-8 -R
chmod 644 /var/www/daloradius-0.9-8/library/daloradius.conf.php


Masukkan database daloradius ke database radius yang sudah kita setup tadi

Code: Select all

mysql -u root -p radius < /var/www/daloradius-0.9-8/contrib/db/mysql-daloradius.sql
masukkan password root mysql anda


Sesuaikan parameter databasenya

Code: Select all

nano /var/www/daloradius-0.9-8/library/daloradius.conf.php


Isinya di sesuaikan untuk baris berikut :

Code: Select all

'FREERADIUS_VERSION' = '2';
'CONFIG_DB_ENGINE' = 'mysql';
'CONFIG_DB_HOST' = '127.0.0.1'
'CONFIG_DB_USER' = 'radius'
'CONFIG_DB_PASS' = 'radiussecret'
'CONFIG_DB_NAME' = 'radius'


Pastikan paket pendukung php sudah terinstall jika belum di yes aja :)

Code: Select all

apt-get install php5-common php5-gd php-pear php-db libapache2-mod-php5



NB:
- Mohon maaf jika ada kesalahan dalam penulisan tutorial di atas.
- Referensi yang lain untuk installasi Coova-chilli saya dapat disini: https://help.ubuntu.com/community/WifiDocs/CoovaChilli.
- Untuk menambahkan vendor chillispot pada daloradius, saya ambil contoh mengenai yfi. file yang di edit untuk menambahkan dictionary.chillispot: /usr/share/freeradius/dictionary.


[color:#660000]Jika ada yang salah mohon dikoreksi!![/color][/font][/size]


[size:14pt][font:Arial Black] [color:#FF6600]:D Mari Belajar dan Berbagi Wawasan :D
[color:#000000]~[/color] Salam Ubuntuers [color:#000000]~[/color]
[/color][/font][/size]
User avatar
zitux
Posts: 843
Joined: 15 Jan 2010, 23:17
Location: Malang Jatim Indonesia
Contact:

Re: Ubuntu Server + Freeradius 2.0.x + Coovachilli

Postby zitux » 28 Oct 2010, 07:20

sundul mastah :grin:
sampai bahasa rumput pun mengerti :D
User avatar
DanielBenny2910
Posts: 29
Joined: 26 Oct 2010, 11:26
Location: Bandung, Indonesia
Contact:

Re: Ubuntu Server + Freeradius 2.0.x + Coovachilli

Postby DanielBenny2910 » 28 Oct 2010, 07:56

[quote=zitux]sundul mastah :grin:
sampai bahasa rumput pun mengerti :D


:D :D :D :D :D

Sdikit pake bantuan gooogle translate gan..

:D :D :D :D :D