
1. ติดตั้งด้วยคำสั่ง sudo apt-get install freeradius freeradius-utils freeradius-mysql
2. ทดสอบการทำงานของ radius สามารถทำงานได้หรือไม่ โดยแก้ไขไฟล์ /etc/freeradius/users และเพิ่มท้ายไฟล์ดังนี้
"testradius" Cleartext-Password:="hello"
Reply-Message="Hello,%{User-Name}"
3. สั่งให้ freeradius ทำงานใหม่ด้วยคำสั่ง service freeradius restart
4. ทดสอบการทำงานด้วยคำสั่ง radtest testradius hello 127.0.0.1 0 testing123 จะได้ข้อความประมาณนี้
Sending Access-Request of id 31 to 127.0.0.1 port 1812
User-Name = "testradius"
User-Password = "hello"
NAS-IP-Address = 172.16.166.3
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=31, length=39
Reply-Message = "Hello, testradius"
5. ขั้นตอนการทำงานของ configuration ของ freeradius
แฟ้ม /etc/freeradius/radiusd.conf เป็นที่ปรับค่าของระบบต่างๆ
6. ติดตั้ง MySQL Server สำหรับเป็นฐานข้อมูล ด้วยคำสั่ง sudo apt-get install mysql-server
- ขณะติดตั้งระบบจจะถามข้อมูลเกี่ยวกับรหัสผ่านของ Mysql แนะนำให้ใส่เหมือนกันทุกครั้ง
7. ติดตั้ง phpMyAdmin สำหรับเป็นเครื่องมือเข้าจัดการฐานข้อมูล จำเป็นต้องติดตั้ง Apache2 และ PHP5
- ติดตั้งด้วยคำสั่ง sudo apt-get install apache2 php5 php5-common php5-gd php-pear php-db libapache2-mod-php5 php5-mysql
- แก้ปัญหาการแสดง error เตือน ServerName ดูบทความ ติดตั้ง Apache2 บน Ubuntu14.04 LTS
8. ติดตั้ง phpMyAdmin ด้วยคำสั่ง sudo apt-get install phpmyadmin
- เลือกสนับสนุนการทำงานบน apache2 โดยกด space bar ให้ขึ้นเครื่องหมาย * และเลือก OK
- ขณะติดตั้งระบบจะถามข้อมูลเกี่ยวกับรหัสผ่านของการใช้งานโปรแกรมและ MySql แนะนำให้ป้อนเหมือนกับรหัสผ่านของ Mysql Server
- ทดสอบเข้าใช้งาน phpMyAdmin ได้โดยเข้าไปที่ http://ip address/phpmyadmin
9. เพิ่มฐานข้อมูล radius เข้าไปยัง MySql Server
- ใช้คำสั่ง mysql -u root -p ระบบจะถามรหัสผ่าน Mysql ให้ใส่ลงไปตามที่ตั้งค่าไว้
- สร้างฐานข้อมูลโดยใช้คำสั่ง CREATE DATABASE radius;
- ใช้คำสั่ง quit; เพื่อออกจากฐานข้อมูล
10. เพิ่มตารางลงในฐานข้อมูล radius โดยใช้คำสั่ง
- mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql -p
- mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql
11. ปรับแต่ง freeradius เพื่อใช้เชื่อมต่อฐานข้อมูล Mysql แก้ไขไฟล์ /etc/freeradius/sql.conf
(แนะนำให้สร้าง user จัดการฐานข้อมูล radius โดยเฉพาะ)
server = "localhost"
login = "radius"
password = "xxxxxxxx"
radius_db = "radius"
และเอา # หน้า readclients = yes ออก
12. แก้ไขไฟล์ /etc/freeradius/radiusd.conf หาข้อความตามบรรทัดด้านล่าง และเอาเครื่องหมาย # ด้านหน้าออก
modules {
...
...
$INCLUDE sql.conf
$INCLUDE sql/mysql/counter.conf
...
}
13. แก้ไชไฟล์ /etc/freeradius/sites-available/default หาข้อความตามบรรทัดด้านล่าง และเอาเครื่องหมาย # ด้านหน้า sql ออก
authorize {
#files
sql
dailycounter
monthlycounter
noresetcounter
}
accounting {
sql
}
session {
#radutmp ปิดการเช็ค session จากระบบ ให้เช็คจาก sql เท่านั้น
sql
}
แก้ไขไฟล์ /etc/freeradius/sql/mysql/dialup.conf โดยเปิดการทำงานของ simultaneous ดังนี้
#######################################################################
# Simultaneous Use Checking Queries
#######################################################################
simul_count_query = "SELECT COUNT(*) \
FROM ${acct_table1} \
WHERE username = '%{SQL-User-Name}' \
AND acctstoptime IS NULL"
14. สั่ง freeradius ให้เริ่มทำงานใหม่ด้วยคำสั่ง service freeradius restart
15. ทดสอบสร้าง user ผ่านทาง phpMyAdmin ดังตัวอย่าง

16. ทดสอบการทำงานของ radius บนฐานข้อมูล MySql ด้วยคำสั่ง
- radtest user1 password 127.0.0.1 0 testing123
Sending Access-Request of id 142 to 127.0.0.1 port 1812
User-Name = "user1"
User-Password = "password"
NAS-IP-Address = 172.16.166.3
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=142, length=20
https://www.dropbox.com/s/7xy6xfc3uzhtlkj/default
https://www.dropbox.com/s/8trgv8ir7gcqf2s/dialup.conf
https://www.dropbox.com/s/7sxkb1fg6nvqxds/sql.conf
https://www.dropbox.com/s/aupbn7vrrq7cevq/radiusd.conf
ที่มา http://www.phuketadmin.org/index.php?topic=7211.0
2. ทดสอบการทำงานของ radius สามารถทำงานได้หรือไม่ โดยแก้ไขไฟล์ /etc/freeradius/users และเพิ่มท้ายไฟล์ดังนี้
"testradius" Cleartext-Password:="hello"
Reply-Message="Hello,%{User-Name}"
3. สั่งให้ freeradius ทำงานใหม่ด้วยคำสั่ง service freeradius restart
4. ทดสอบการทำงานด้วยคำสั่ง radtest testradius hello 127.0.0.1 0 testing123 จะได้ข้อความประมาณนี้
Sending Access-Request of id 31 to 127.0.0.1 port 1812
User-Name = "testradius"
User-Password = "hello"
NAS-IP-Address = 172.16.166.3
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=31, length=39
Reply-Message = "Hello, testradius"
5. ขั้นตอนการทำงานของ configuration ของ freeradius
แฟ้ม /etc/freeradius/radiusd.conf เป็นที่ปรับค่าของระบบต่างๆ
6. ติดตั้ง MySQL Server สำหรับเป็นฐานข้อมูล ด้วยคำสั่ง sudo apt-get install mysql-server
- ขณะติดตั้งระบบจจะถามข้อมูลเกี่ยวกับรหัสผ่านของ Mysql แนะนำให้ใส่เหมือนกันทุกครั้ง
7. ติดตั้ง phpMyAdmin สำหรับเป็นเครื่องมือเข้าจัดการฐานข้อมูล จำเป็นต้องติดตั้ง Apache2 และ PHP5
- ติดตั้งด้วยคำสั่ง sudo apt-get install apache2 php5 php5-common php5-gd php-pear php-db libapache2-mod-php5 php5-mysql
- แก้ปัญหาการแสดง error เตือน ServerName ดูบทความ ติดตั้ง Apache2 บน Ubuntu14.04 LTS
8. ติดตั้ง phpMyAdmin ด้วยคำสั่ง sudo apt-get install phpmyadmin
- เลือกสนับสนุนการทำงานบน apache2 โดยกด space bar ให้ขึ้นเครื่องหมาย * และเลือก OK
- ขณะติดตั้งระบบจะถามข้อมูลเกี่ยวกับรหัสผ่านของการใช้งานโปรแกรมและ MySql แนะนำให้ป้อนเหมือนกับรหัสผ่านของ Mysql Server
- ทดสอบเข้าใช้งาน phpMyAdmin ได้โดยเข้าไปที่ http://ip address/phpmyadmin
9. เพิ่มฐานข้อมูล radius เข้าไปยัง MySql Server
- ใช้คำสั่ง mysql -u root -p ระบบจะถามรหัสผ่าน Mysql ให้ใส่ลงไปตามที่ตั้งค่าไว้
- สร้างฐานข้อมูลโดยใช้คำสั่ง CREATE DATABASE radius;
- ใช้คำสั่ง quit; เพื่อออกจากฐานข้อมูล
10. เพิ่มตารางลงในฐานข้อมูล radius โดยใช้คำสั่ง
- mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql -p
- mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql
11. ปรับแต่ง freeradius เพื่อใช้เชื่อมต่อฐานข้อมูล Mysql แก้ไขไฟล์ /etc/freeradius/sql.conf
(แนะนำให้สร้าง user จัดการฐานข้อมูล radius โดยเฉพาะ)
server = "localhost"
login = "radius"
password = "xxxxxxxx"
radius_db = "radius"
และเอา # หน้า readclients = yes ออก
12. แก้ไขไฟล์ /etc/freeradius/radiusd.conf หาข้อความตามบรรทัดด้านล่าง และเอาเครื่องหมาย # ด้านหน้าออก
modules {
...
...
$INCLUDE sql.conf
$INCLUDE sql/mysql/counter.conf
...
}
13. แก้ไชไฟล์ /etc/freeradius/sites-available/default หาข้อความตามบรรทัดด้านล่าง และเอาเครื่องหมาย # ด้านหน้า sql ออก
authorize {
#files
sql
dailycounter
monthlycounter
noresetcounter
}
accounting {
sql
}
session {
#radutmp ปิดการเช็ค session จากระบบ ให้เช็คจาก sql เท่านั้น
sql
}
แก้ไขไฟล์ /etc/freeradius/sql/mysql/dialup.conf โดยเปิดการทำงานของ simultaneous ดังนี้
#######################################################################
# Simultaneous Use Checking Queries
#######################################################################
simul_count_query = "SELECT COUNT(*) \
FROM ${acct_table1} \
WHERE username = '%{SQL-User-Name}' \
AND acctstoptime IS NULL"
14. สั่ง freeradius ให้เริ่มทำงานใหม่ด้วยคำสั่ง service freeradius restart
15. ทดสอบสร้าง user ผ่านทาง phpMyAdmin ดังตัวอย่าง

16. ทดสอบการทำงานของ radius บนฐานข้อมูล MySql ด้วยคำสั่ง
- radtest user1 password 127.0.0.1 0 testing123
Sending Access-Request of id 142 to 127.0.0.1 port 1812
User-Name = "user1"
User-Password = "password"
NAS-IP-Address = 172.16.166.3
NAS-Port = 0
Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=142, length=20
https://www.dropbox.com/s/7xy6xfc3uzhtlkj/default
https://www.dropbox.com/s/8trgv8ir7gcqf2s/dialup.conf
https://www.dropbox.com/s/7sxkb1fg6nvqxds/sql.conf
https://www.dropbox.com/s/aupbn7vrrq7cevq/radiusd.conf
ที่มา http://www.phuketadmin.org/index.php?topic=7211.0