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

จัดทำเมื่อ 5-02-2010
โดย อดิศร ขาวสังข์
ทดลองบน Ubuntu 9.04

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

  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. ดาวน์โหลด 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
  6. แตกไฟล์ด้วยคำสั่ง
    tar -zxvf ezradius-comm-0.2.1.tar.gz
  7. ย้ายไดเร็กทอรี่ของ ezradius ไปยังตำแหน่งของ web ด้วยคำสั่ง
    cp ezradius-comm /var/www -R
  8. เซ็ต permission ดังนี้
    chown www-data:www-data /var/www/ezradius-comm -R
  9. ทำการสร้างฐานข้อมูลชื่อว่า radius ดังนี้



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

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



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



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


จบครับ