จัดทำเมื่อ 5-02-2010
โดย อดิศร ขาวสังข์
ทดลองบน Ubuntu 9.04
ขั้นตอนการติดตั้ง
- หากยังไม่ติดตั้ง 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
- ดาวน์โหลด ezRADIUS จาก http://ezradius.sourceforge.net/download.php ดังนี้
wget http://downloads.sourceforge.net/project/ezradius/ezradius-comm/ezradius-comm-0.2.1stable/ezradius-comm-0.2.1.tar.gz?use_mirror=nchc
- แตกไฟล์ด้วยคำสั่ง
tar -zxvf ezradius-comm-0.2.1.tar.gz
- ย้ายไดเร็กทอรี่ของ ezradius ไปยังตำแหน่งของ web ด้วยคำสั่ง
cp ezradius-comm /var/www -R
- เซ็ต permission ดังนี้
chown www-data:www-data /var/www/ezradius-comm -R
- ทำการสร้างฐานข้อมูลชื่อว่า radius ดังนี้

- ใช้คำสั่ง quit เพื่อออกจากฐาน MySQL
- สร้างตารางให้กับฐานข้อมูลชื่อ radius ด้วยการใช้ script ที่มีมากบ ezradius โดยใ้ช้คำสั่งดังนี้
mysql -u root -p radius < /var/www/ezradius-comm/resources/mysql-dump/radius.sql
ซึ่งคำว่า radius หมาุยถึงชื่อฐานข้อมูล และเมื่อมีการถามรหัสผ่านก็ให้ป้อนรหัสผ่านของ root
- การคอนฟิก 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
- เปิด Browser ไปที่ http://ip_address/ezradius
user = admin
password = admin
- เมื่อ Login ผ่าน จะได้หน้าต่างดังนี้

- ทำการจัดการ user และค่าคอนฟิกที่ใช้ติดต่อกับ Freeradius ได้ที่เมนู Tool --> Config Editor

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

จบครับ