การติดตั้ง daloRADIUS บน Ubuntu

จัดทำเมื่อ 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 นะครับ

ขั้นตอนการติดตั้ง

  1. หากยังไม่ติดตั้ง apache ให้ติดตั้งด้วยคำสั่ง
    apt-get install apache2
  2. ติดตั้งโปรแกรมเกี่ยวกับ php ดังนี้
    apt-get install php5-common php5-gd php-pear php-db libapache2-mod-php5
  3. ติดตั้งโปรแกรมเกี่ยวกับ MySQL ดังนี้
    apt-get install php5-mysql mysql-server
  4. หากยังไม่ติดตั้ง FreeRadius ให้ติดตั้งด้วยคำสั่ง
    apt-get install freeradius freeradius-mysql
  5. ดาวน์โหลด daloRADIUS จาก http://sourceforge.net/projects/daloradius ดังนี้
    wget http://sourceforge.net/projects/daloradius/files/daloradius/daloradius-0.9-8.tar.gz
  6. แตกไฟล์ด้วยคำสั่ง
    tar -zxvf daloradius-0.9-8.tar.gz
  7. ย้ายไดเร็กทอรี่ของ daloradius ไปยังตำแหน่งของ web ด้วยคำสั่ง
    cp daloiradius-x.y-z/ /var/www -R
  8. เซ็ต permission ดังนี้
    chown www-data:www-data /var/www/daloradius-x.x-z -R
  9. ทำการ chmod ดังนี้
    chmod 644 /var/www/daloradius-x.y-z/library/daloradius.conf.php
  10. ทำการสร้างฐานข้อมูลชื่อว่า radius ดังนี้



  11. ใช้คำสั่ง quit เพื่อออกจากฐาน MySQL
  12. สร้างตารางให้กับฐานข้อมูลชื่อ 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
    ยังไงถ้าเป็นการอัพเกรดให้ดูคู่มือตามที่ได้อ้างอิงไว้ประกอบนะครับ
  13. เปิดไฟล์คอนฟิกคือ /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
  14. การคอนฟิก freeradius
    1. แก้ไขไฟล์ /etc/freeradius/sql.conf เพื่อให้เรียกใช้ฐานข้อมูล radius ด้วยสิทธิผู้ใช้เป็น root ซึ่งมี password เป็นตามที่ได้กำหนดไว้  ดังนี้
      server = "localhost"
      login = "root"
      password = "xxxxxx"
      radius_db = "radius"
    2. ทำการกำหนด 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
      }
    3. แก้ไขไฟล์ /etc/freeradius/sql.conf กำหนดให้ค่า readclients = yes เพื่อที่จะทำให้ radius client อ่านค่าจาก database
    4. แก้ไขไฟล์ /etc/freeradius/site-enabled/default ดังนี้
      • ในส่วนของ  accounting {……} ให้เอาเครื่องหมาย  # หน้าคำว่า sql ออก เพื่อเรียกใช้ข้อมูลจาก database ในการตรวจสอบ username , password ในการทำ accounting
      • ในส่วน session {……} ให้เอาเครื่องหมาย # หน้าคำว่า sql ออก เพื่อเรียกใช้ข้อมูลจาก database ในการตรวจสอบ username, password ในการทำ session
      • ในส่วนของ authorize {……} ให้เอาเครื่องหมาย # ไว้หน้าคำว่า files  และเอาเครื่องหมาย # ออกจากคำว่า sql
    5. ทำการ restart FreeRadius ด้วยคำสั่ง
      /etc/init.d/freeradius restart
  15. ทำการ restart apache ด้วยคำสั่ง
    /etc/init.d/apache2 restart
  16. สร้าง Directory และ touch ดังนี้
    mkdir /var/log/freeradius/radacct/
    touch /var/log/freeradius/radacct/sql-relay
  17. เปิด Browser ไปที่ http://ip_address/daloradius-x.y-z
    user = administrator
    password = radius

  18. เมื่อ Login ผ่าน จะได้หน้าต่างดังนี้



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


จบครับ