จัดทำเมื่อ 16-07-2009
โดย อดิศร ขาวสังข์
อ้างอิง http://putudude.blogspot.com/2009/05/freeradius-on-ubuntu-904.html , http://daloradius.wiki.sourceforge.net/space/showimage/daloRADIUS+Users+Manual.pdf
ทดลองบน Ubuntu 9.04
แนะนำ daloRADIUS
daloRADIUS เป็น advanced RADIUS web plateform มีวัตถุประสงค์เพื่อจัดการ hotspots และการใช้งานของ ISP ทั่วไป มีคุณลักษณะด้านการบริหารจัดการ user,การรายงานแบบกราฟฟิก, การทำจัดบัญชี (accounting) และ billing engine รวมถึงการมี GoogleMaps สำหรับการจัดการหาตำแหน่ง
daloRADIUS เีีขียนด้วยภาษา PHP และ JavaScript และสามารถใช้ database หลายระบบได้เช่น MySQL, PostgreSQL, Sqlite, MsSQL และอื่น ๆ
โดยยึดถือ FreeeRadius ในการพัฒนา ด้วยใ้ช้ database server ทำหน้าที่เป็น backend สำหรับคุณลักษณะอื่น ๆ ก็สามารถอิมพลีเมนต์ ACLs, GoogleMaps เพื่อหาตำแหน่ง hotspots/access point และคุณลักษณะอื่นๆ
daloRADIUS เป็น Web Application สำหรับจัดการ radius server ตามหลักการแล้่วสามารถจัดการ radius server ใด ๆ ได้ และโดยเฉพาะก็เป็น FreeRadius และ Database structure ของ FreeRadius
การอัพเกรด
การอัพเกรด daloRADIUS เกี่ยวข้องกับการอัพเดต daloradius.conf.php ด้วย newer options ทำได้ด้วยการเขียนทับไดเร็กทอรี่ daloradius อันเก่าด้วยทั้งหมดของ php/html/javascript code ที่เป็น daloradius package file ล่าสุด พร้อมกับการนำเข้า database scheme file ซึ่ง update/insert ตารางใหม่และ record เข้าสู่ databse
สำหรับรายละเีอียดการอัพเกรดเพิ่มเติมดูได้ที่ manual ของ daloRADIUS นะครับ
ขั้นตอนการติดตั้ง
- หากยังไม่ติดตั้ง apache ให้ติดตั้งด้วยคำสั่ง
apt-get install apache2
- ติดตั้งโปรแกรมเกี่ยวกับ php ดังนี้
apt-get install php5-common php5-gd php-pear php-db libapache2-mod-php5
- ติดตั้งโปรแกรมเกี่ยวกับ MySQL ดังนี้
apt-get install php5-mysql mysql-server
- หากยังไม่ติดตั้ง FreeRadius ให้ติดตั้งด้วยคำสั่ง
apt-get install freeradius freeradius-mysql
- ดาวน์โหลด daloRADIUS จาก http://sourceforge.net/projects/daloradius ดังนี้
wget http://sourceforge.net/projects/daloradius/files/daloradius/daloradius-0.9-8.tar.gz
- แตกไฟล์ด้วยคำสั่ง
tar -zxvf daloradius-0.9-8.tar.gz
- ย้ายไดเร็กทอรี่ของ daloradius ไปยังตำแหน่งของ web ด้วยคำสั่ง
cp daloiradius-x.y-z/ /var/www -R
- เซ็ต permission ดังนี้
chown www-data:www-data /var/www/daloradius-x.x-z -R
- ทำการ chmod ดังนี้
chmod 644 /var/www/daloradius-x.y-z/library/daloradius.conf.php
- ทำการสร้างฐานข้อมูลชื่อว่า radius ดังนี้

- ใช้คำสั่ง quit เพื่อออกจากฐาน MySQL
- สร้างตารางให้กับฐานข้อมูลชื่อ radius ด้วยการใช้ script ที่มีให้มาแล้วกับ daloradius โดยใ้ช้คำสั่งดังนี้
mysql -u root -p radius < /var/www/daloradius-0.9-8/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
ซึ่งคำว่า radius หมาุยถึงชื่อฐานข้อมูล และเมื่อมีการถามรหัสผ่านก็ให้ป้อนรหัสผ่านของ root
สำหรับคนที่มี database ชื่อ radius อยู่แล้วก็ไม่้้ต้องทำการสร้างฐานข้อมูลอีก และให้ใช้คำสั่งเพื่อเรียก script อีกไฟล์ดังนี้
mysql -u root -p radius < /var/www/daloradius-0.9-8/contrib/db/mysql-daloradius.sql
ยังไงถ้าเป็นการอัพเกรดให้ดูคู่มือตามที่ได้อ้างอิงไว้ประกอบนะครับ
- เปิดไฟล์คอนฟิกคือ /var/www/daloradius-x.y-z/library/daloradius.conf.php แ้ล้วแก้ไขค่าสำคัญดังนี้
CONFIG_DB_ENGINE = mysql
CONFIG_DB_HOST = 127.0.0.1
CONFIG_DB_USER = root
CONFIG_DB_PASS =
CONFIG_DB_NAME = radius
- การคอนฟิก freeradius
- แก้ไขไฟล์ /etc/freeradius/sql.conf เพื่อให้เรียกใช้ฐานข้อมูล radius ด้วยสิทธิผู้ใช้เป็น root ซึ่งมี password เป็นตามที่ได้กำหนดไว้ ดังนี้
server = "localhost"
login = "root"
password = "xxxxxx"
radius_db = "radius"
- ทำการกำหนด password ให้กับเครื่อง Client ที่จะเข้าใช้งาน FreeRadius ที่ไฟล์ /etc/freeradius/clients.conf โดยกำหนดให้ client 127.0.0.1 (หรือ client localhost) มีค่า secret = radiussecret
client localhost {
secret = radiussecret
{
ในกรณีที่อนุญาตให้เครื่อง client อื่นเข้ามาใ้้ช้งาน FreeRadius เช่น client ที่มี IP เป็น 172.24.51.16 ก็ให้กำหนดค่าเพิ่มเติมดังนี้
client 172.24.51.16 {
secret = radiussecret
shortname = chilli
}
- แก้ไขไฟล์ /etc/freeradius/sql.conf กำหนดให้ค่า readclients = yes เพื่อที่จะทำให้ radius client อ่านค่าจาก database
- แก้ไขไฟล์ /etc/freeradius/site-enabled/default ดังนี้
- ในส่วนของ accounting {
} ให้เอาเครื่องหมาย # หน้าคำว่า sql ออก เพื่อเรียกใช้ข้อมูลจาก database ในการตรวจสอบ username , password ในการทำ accounting
- ในส่วน session {
} ให้เอาเครื่องหมาย # หน้าคำว่า sql ออก เพื่อเรียกใช้ข้อมูลจาก database ในการตรวจสอบ username, password ในการทำ session
- ในส่วนของ authorize {
} ให้เอาเครื่องหมาย # ไว้หน้าคำว่า files และเอาเครื่องหมาย # ออกจากคำว่า sql
- ทำการ restart FreeRadius ด้วยคำสั่ง
/etc/init.d/freeradius restart
- ทำการ restart apache ด้วยคำสั่ง
/etc/init.d/apache2 restart
- สร้าง Directory และ touch ดังนี้
mkdir /var/log/freeradius/radacct/
touch /var/log/freeradius/radacct/sql-relay
- เปิด Browser ไปที่ http://ip_address/daloradius-x.y-z
user = administrator
password = radius
- เมื่อ Login ผ่าน จะได้หน้าต่างดังนี้

- สามารถบริหารจัดการ user ได้ที่เว็บนี้
- ทดสอบการทำงานของ FreeRadius ด้วยคำสั่ง radtest ดังตัวอย่างต่อไปนี้
radtest username password 127.0.0.1 0 mysecret
ถ้าเซ็ตอัพถูกต้องและป้อนค่าถูกต้องจะได้ผลลัพธ์ว่า Access-Accept ดังรูป

จบครับ