การติดตั้ง FreeRadius และ phpmyprepaid บน ubuntu 8.04
โดย อดิศร ขาวสังข์
จัดทำเมื่อ 15/11/2008
ติดตั้งบน Ubuntu 8.04
ขั้นตอน
- หากยังไม่ติดตั้ง apache และ php ให้ติดตั้งด้วยคำสั่ง
apt-get install apache2 php5 php5-mysql
- สั่งให้ apache ทำงานด้วยคำสั่ง
/etc/init.d/apache2 restart
- หากยังไม่ติดตั้ง mysql ให้ติดตั้งด้วยคำสั่ง
apt-get install mysql-server
- หากยังไม่ติดตั้ง FreeRadius ให้ติดตั้งด้วยคำสั่ง
apt-get install freeradius freeradius-mysql
- สั่งให้ FreeRadius ทำงานด้วยคำสั่ง
/etc/init.d/freeradius start
- เข้าสู่โปรแกรม mysql ด้วย username คือ root และ password ที่ได้กำหนดไว้ด้วยคำสั่ง
mysql –u root –p
แล้วป้อนรหัสผ่านของ root
- ทำการสร้าง Database ชื่อ phpmyprepaid เพื่อใช้ในการเก็บบัญชีผู้ใช้งาน (สามารถจะใช้ชื่อฐานข้อมูลอื่นก็ได้) ด้วยคำสั่งดังนี้
CREATE DATABASE phpmyprepaid;
- กำหนดสิทธิให้กับบัญชีผู้ใช้งานบน mysql ที่ชื่อว่า phpmyprepaid พร้อม password คือ radpass (user และ password สามารถเปลี่ยนแปลงได้ตามความเหมาะสม) ด้วยคำสั่ง
GRANT ALL PRIVILEGES ON phpmyprepaid.* to 'phpmyprepaid'@'localhost' IDENTIFIED BY 'radpass';
FLUSH PRIVILEGES;
- ออกจาก mysql ด้วยคำสั่ง quit
- แก้ไขไฟล์ /etc/freeradius/sql.conf เพื่อให้เรียกใช้ฐานข้อมูล phpmyprepaid ด้วยสิทธิผู้ใช้เป็น phpmyprepaid ซึ่งมี password เป็น radpass ดังนี้
# Connection info:
server = "localhost"
login = "phpmyprepaid"
password = "radpass"
# Database table configuration for everything except Oracle
radius_db = "phpmyprepaid"
- ทำการกำหนด password ให้กับเครื่อง Client ที่จะเข้าใช้งาน FreeRadius ที่ไฟล์ /etc/freeradius/cliens.conf โดยกำหนดให้ client 127.0.0.1 มีค่า secret = radiussecret
client localhost {
secret = radiussecret
{
ในกรณีที่อนุญาตให้เครื่อง client อื่นเข้ามาใ้้ช้งาน FreeRadius เช่น client ที่มี IP เป็น 172.24.51.16 ก็ให้กำหนดค่าเพิ่มเติมดังนี้
client 172.24.51.16 {
secret = radiussecret
shortname = chilli
}
- ในกรณีที่จะอนุญาตให้เครื่อง Client อื่น ๆ (ที่ไม่ใช่เครื่องตัวเอง หรือ Localhost) เข้ามาใช้งาน FreeRadius ได้นั้นจะต้องทำการเพิ่มข้อมูลในไฟล์ /etc/freeradius/naslist ซึ่งในที่นี้คือเพิ่มบรรทัดสุดท้ายดังต่อไปนี้เข้าไป
# NAS Name Short Name Type
#---------------- ---------- ----
#portmaster1.isp.com pm1.NY livingston
#portmaster2.isp.com pm1.LA livingston
localhost local portslave
chilli chilli other
- แก้ไขไฟล์ /etc/freeradius/sql.conf กำหนดให้ค่า readclients = yes เพื่อที่จะทำให้ radius client อ่านค่าจาก database
- แก้ไขไฟล์ /etc/freeradius/radiusd.conf ดังนี้
- ในส่วนของ accounting {……} ให้เอาเครื่องหมาย # หน้าคำว่า sql ออก เพื่อเรียกใช้ข้อมูลจาก database ในการตรวจสอบ username , password ในการทำ accounting
- ในส่วน session {……} ให้เอาเครื่องหมาย # หน้าคำว่า sql ออก เพื่อเรียกใช้ข้อมูลจาก database ในการตรวจสอบ username, password ในการทำ session
- ในส่วนของ authorize {……} ให้เอาเครื่องหมาย # ไว้หน้าคำว่า file และเอาเครื่องหมาย # ออกจากคำว่า sql
- ทำการ restart FreeRadius ด้วยคำสั่ง
/etc/init.d/freeradius restart
- ตอนนี้ ทั้ง freeradius และ mysql พร้อม database phpmyprepaid ว่าง ๆ พร้อมแล้ว
ต่อไปจะทำการติดตั้งโปรแกรม phpmyprepaid แล้วรันโปรแกรมผ่านเว็บบราวเซอร์
จากนั้นจะเซ็ตค่าต่าง ๆ บนหน้าเว็บ ทำให้ได้ table ต่าง ๆ ที่จำเป็นใช้งานเกิดขึ้น
- ย้ายเข้าไปในไดเรกทอรี /var/www/ ด้วยคำสั่ง
cd /var/www
- ดาวน์โหลดโปรแกรม phpmyprepaid เวอร์ชั่น 0.4 RC2 ด้วยคำสั่ง wget ดังนี้
wget http://downloads.sourceforge.net/phpmyprepaid/phpmyprepaid04RC2.tgz
- คลายแฟ้มออกมาจะได้ไดเรกทอรี phpmyprepaid
tar zxvf phpmyprepaid04RC2.tgz
- ติดตั้งโปรแกรม rrdtool ด้วยคำสั่ง
apt-get install rrdtool
- เปิด browser และเรียกไปที่ http://host/phpmyprepaid/www แล้วระบบจะเปิดไฟล์ setup.php ดังรูป
- ขั้นที่ 2 เป็นเรื่องของ License ให้คลิ๊กช่อง I Accept แล้วคลิ๊กปุ่ม Next
- ขั้นตอนที่ 3 ถ้าเจอปัญหาดังรูป
ให้ใช้คำสั่ง
chmod 777 /var/www/phpmyprepaid/www
แล้วจะได้ผลลัพท์ดังรูป
- ขั้นตอนที่ 4 จะเป็นดังรูป ให้ป้อนค่าให้ถูกต้องโดยเฉพาะค่า Phpmyprepaid path อาจจะต้องเปลี่ยนให้ตรงความเป็นจริง
- ขั้นตอนเป็นการคอนฟิก Radius ก็ให้ป้อนข้อมูลให้ตรงตามรูป
- ขั้นที่ 6 เป็นการจัดการเรื่อง User Interface ก็ให้ป้อนข้อมูลตามต้องการ แต่อย่าลืม user และ password ที่ได้กำหนดไว้ด้วย
- ขั้นตอนที่ 7 เป็นการคอนฟิกฐานข้อมูล ให้ป้อนข้อมูลตรงกับที่ได้กำหนดไว้ดังรูป
- เมื่อป้อนข้อมูลในขั้นตอนที่ 7 ถูกต้อง ก็จะได้ผลลัพท์ดังขั้นตอนที่ 8
- ขั้นตอนที่ 9 เป็นการป้อนข้อมูล Location ดังรูป
- ขั้นตอนที่ 11 เป็นการคอนฟิกข้อมูลทั่วไป ดังรูป
- ขั้นตอนที่ 11 เป็นขั้นตอนสุดท้าย ให้อ่านข้อความด้วยนะครับเพราะมีคำแนะนำบางอย่างที่ต้องทำตามด้วย
- จากนั้นเมื่อเราเรียกใช้งาน http://host/phpmyprepaid/www/ ก็จะได้หน้าตาดังรูป
- เมื่อ Login เข้าสู่ระบบได้แล้ว จะได้ผลลัพท์ดังรูป
- รูปข้างล่างเป็นตัวอย่างการเพิ่ม Account ที่สามารถกำหนดความเร็วในการ upload และ download ได้
- ทดสอบการทำงานของ FreeRadius ด้วยคำสั่ง radtest
radtest username password localhost 0 mysecret
ถ้าเซ็ตอัพถูกต้องและป้อนค่าถูกต้องจะได้ผลลัพธ์ว่า Access-Accept ดังรูป
จบครับ
ที่มา: http://www.itmanage.info/technology/linux/ubuntu/freeradius_phpmyprepaid/install_freeradius_phpmyprepaid_ubutu_8_04.html