Tuesday, June 19, 2012

การติดตั้ง FreeRadius และ phpmyprepaid บน ubuntu 8.10

การติดตั้ง FreeRadius และ phpmyprepaid บน ubuntu 8.10



ขั้นตอน
  1. หากยังไม่ติดตั้ง apache และ php ให้ติดตั้งด้วยคำสั่ง
    apt-get install apache2 php5 php5-mysql
  2. สั่งให้ apache ทำงานด้วยคำสั่ง
    /etc/init.d/apache2 restart
  3. หากยังไม่ติดตั้ง mysql ให้ติดตั้งด้วยคำสั่ง
    apt-get install mysql-server
  4. หากยังไม่ติดตั้ง FreeRadius ให้ติดตั้งด้วยคำสั่ง
    apt-get install freeradius freeradius-mysql
  5. สั่งให้ FreeRadius ทำงานด้วยคำสั่ง
    /etc/init.d/freeradius start
  6. เข้าสู่โปรแกรม mysql ด้วย username คือ root และ password ที่ได้กำหนดไว้ด้วยคำสั่ง
    mysql –u root –p
    แล้วป้อนรหัสผ่าน
    ของ root
  7. ทำการสร้าง Database ชื่อ phpmyprepaid เพื่อใช้ในการเก็บบัญชีผู้ใช้งาน (สามารถจะใช้ชื่อฐานข้อมูลอื่นก็ได้) ด้วยคำสั่งดังนี้
    CREATE DATABASE phpmyprepaid;
  8. กำหนดสิทธิให้กับบัญชีผู้ใช้งานบน mysql ที่ชื่อว่า phpmyprepaid พร้อม password คือ radpass (user และ password สามารถเปลี่ยนแปลงได้ตามความเหมาะสม) ด้วยคำสั่ง
    GRANT ALL PRIVILEGES ON phpmyprepaid.* to 'phpmyprepaid'@'localhost' IDENTIFIED BY 'radpass';
    FLUSH PRIVILEGES;
  9. ออกจาก mysql ด้วยคำสั่ง quit
  10. แก้ไขไฟล์ /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"
  11. ทำการกำหนด password ให้กับเครื่อง Client ที่จะเข้าใช้งาน FreeRadius ที่ไฟล์ /etc/freeradius/cliens.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
    }
  12. แก้ไขไฟล์ /etc/freeradius/sql.conf กำหนดให้ค่า readclients = yes เพื่อที่จะทำให้ radius client อ่านค่าจาก database
  13. แก้ไขไฟล์ /etc/freeradius/site-enabled/default ดังนี้ (ถ้าเป็น freeradius บน ubuntu เวอร์ชันก่อนหน้านี้เป็นไฟล์ /etc/freeradius/radiusd.conf)
    • ในส่วนของ  accounting {……} ให้เอาเครื่องหมาย  # หน้าคำว่า sql ออก เพื่อเรียกใช้ข้อมูลจาก database ในการตรวจสอบ username , password ในการทำ accounting
    • ในส่วน session {……} ให้เอาเครื่องหมาย # หน้าคำว่า sql ออก เพื่อเรียกใช้ข้อมูลจาก database ในการตรวจสอบ username, password ในการทำ session
    • ในส่วนของ authorize {……} ให้เอาเครื่องหมาย # ไว้หน้าคำว่า files  และเอาเครื่องหมาย # ออกจากคำว่า sql
  14. ทำการ restart FreeRadius ด้วยคำสั่ง
    /etc/init.d/freeradius restart
  15. ตอนนี้ ทั้ง freeradius และ mysql พร้อม database phpmyprepaid ว่าง ๆ พร้อมแล้ว
    ต่อไปจะทำการติดตั้งโปรแกรม phpmyprepaid แล้วรันโปรแกรมผ่านเว็บบราวเซอร์
    จากนั้นจะเซ็ตค่าต่าง ๆ บนหน้าเว็บ ทำให้ได้ table ต่าง ๆ ที่จำเป็นใช้งานเกิดขึ้น
  16. ย้ายเข้าไปในไดเรกทอรี /var/www/ ด้วยคำสั่ง
    cd /var/www
  17. ดาวน์โหลดโปรแกรม phpmyprepaid เวอร์ชั่น 0.4 RC2 ด้วยคำสั่ง wget ดังนี้
    wget http://downloads.sourceforge.net/phpmyprepaid/phpmyprepaid04RC2.tgz
  18. คลายแฟ้มออกมาจะได้ไดเรกทอรี phpmyprepaid
    tar zxvf phpmyprepaid04RC2.tgz
  19. ติดตั้งโปรแกรม  rrdtool ด้วยคำสั่ง
    apt-get install rrdtool
  20. เปิด browser และเรียกไปที่ http://host/phpmyprepaid/www   แล้วระบบจะเปิดไฟล์ setup.php ดังรูป



  21. ขั้นที่ 2 เป็นเรื่องของ License ให้คลิ๊กช่อง I Accept แล้วคลิ๊กปุ่ม Next



  22. ขั้นตอนที่ 3 ถ้าเจอปัญหาดังรูป



    ให้ใช้คำสั่ง
    chmod 777 /var/www/phpmyprepaid/www
    แล้วจะได้ผลลัพท์ดังรูป



  23. ขั้นตอนที่ 4 จะเป็นดังรูป ให้ป้อนค่าให้ถูกต้องโดยเฉพาะค่า Phpmyprepaid path อาจจะต้องเปลี่ยนให้ตรงความเป็นจริง



  24. ขั้นตอนเป็นการคอนฟิก Radius ก็ให้ป้อนข้อมูลให้ตรงตามรูป



  25. ขั้นที่ 6 เป็นการจัดการเรื่อง User Interface ก็ให้ป้อนข้อมูลตามต้องการ แต่อย่าลืม user และ password ที่ได้กำหนดไว้ด้วย



  26. ขั้นตอนที่ 7 เป็นการคอนฟิกฐานข้อมูล ให้ป้อนข้อมูลตรงกับที่ได้กำหนดไว้ดังรูป



  27. เมื่อป้อนข้อมูลในขั้นตอนที่ 7 ถูกต้อง ก็จะได้ผลลัพท์ดังขั้นตอนที่ 8



  28. ขั้นตอนที่ 9 เป็นการป้อนข้อมูล Location ดังรูป



  29. ขั้นตอนที่ 11 เป็นการคอนฟิกข้อมูลทั่วไป ดังรูป



  30. ขั้นตอนที่ 11 เป็นขั้นตอนสุดท้าย ให้อ่านข้อความด้วยนะครับเพราะมีคำแนะนำบางอย่างที่ต้องทำตามด้วย



  31. จากนั้นเมื่อเราเรียกใช้งาน http://host/phpmyprepaid/www/ ก็จะได้หน้าตาดังรูป



  32. เมื่อ Login เข้าสู่ระบบได้แล้ว จะได้ผลลัพท์ดังรูป



  33. รูปข้างล่างเป็นตัวอย่างการเพิ่ม Account ที่สามารถกำหนดความเร็วในการ upload และ download ได้



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

0 comments:

Post a Comment

 
Design by GURU