Archive for พฤศจิกายน, 2008

Nov-16-08

การติดตั้ง phpMyPrepaid

posted by อดิศร ขาวสังข์
Nov-16-08

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

posted by อดิศร ขาวสังข์

 

โดย อดิศร ขาวสังข์
จัดทำเมื่อ 15/11/2008
ติดตั้งบน 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
    {

  12. แก้ไขไฟล์ /etc/freeradius/sql.conf กำหนดให้ค่า readclients = yes เพื่อที่จะทำให้ radius client อ่านค่าจาก database

  13. แก้ไขไฟล์ /etc/freeradius/site-available/default ดังนี้

    • ในส่วนของ  accounting {……} ให้เอาเครื่องหมาย  # หน้าคำว่า sql ออก เพื่อเรียกใช้ข้อมูลจาก database ในการตรวจสอบ username , password ในการทำ accounting

    • ในส่วน session {……} ให้เอาเครื่องหมาย # หน้าคำว่า sql ออก เพื่อเรียกใช้ข้อมูลจาก database ในการตรวจสอบ username, password ในการทำ session

    • ในส่วนของ authorize {……} ให้เอาเครื่องหมาย # ไว้หน้าคำว่า file  และเพิ่มคำว่า 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

จบครับ