HotSpot

ตอนแรก งงอยู่พอสมควร ว่า version นี้ มาอีท่าไหน งมไปงมมา ดำน้ำอีกนิด ก็ไม่เจอ เลยลองอ่าน ไฟล์ index.php ใน sub www ของเขาถึงได้ร้องอ๋อ
ที่อ๋อเพราะว่า ใน scrip ที่มีบอกให้ทราบว่า หาก ไม่มีไฟล์ phpmyprepaid.conf.php ก็ไปที่ setup
ดังนั้น เราต้องเปลี่ยนชื่อไฟล์เดิม phpmyprepaid.conf.php เป็น phpmyprepaid.conf.php.bak
จากนั้น ก็เข้าหน้าของ phpmyprepaid อีกทีก็จะเข้าขั้นตอนการติดตั้งใหม่ทันที
สำหรับ parameter ที่ต้องใช้ไวอีกหน่อยจะมาเขียนต่อนะครับ

เขียนโดย วิบูลย์ วราสิทธิชัยwiboon.w (at) psu.ac.th

ต้นฉบับจากhttp://sourceforge.net/projects/phpmyprepaid/

เวอร์ชันที่ใช้คือ phpmyprepaid 0.3.3

ประวัติการปรับปรุง
ครั้งที่ 1 31-01-2550 โดย: วิบูลย์ วราสิทธิชัย 

 

ขั้นตอน

  1. หลังจากติดตั้ง mysql เสร็จแล้ว (หากยังไม่ติดตั้งให้ดูเอกสาร การติดตั้ง mysql ใช้ร่วมกับ freeradius อย่างง่าย.html)
  2. เข้าสู่โปรแกรม mysql ด้วย username คือ root และ password คือ abcd1234
    mysql -uroot -pabcd1234
  3. สร้าง ฐานข้อมูลชื่อ prepaid (ส่วนมากจะมีการทดลองสร้างฐานข้อมูลชื่อ radius ไปบ้างแล้วจึงเปลี่ยนชื่อเป็น prepaid เพื่อให้รู้ว่าต้องทำตั้งแต่เริ่มต้นใหม่ ห้ามใช้ฐานข้อมูลเดิมที่มีอยู่)
    CREATE DATABASE prepaid;
  4. กำหนดสิทธิให้กับบัญชีผู้ใช้งานบน mysql คือ radius พร้อม password คือ abcd1234
    GRANT ALL PRIVILEGES ON prepaid.* to 'radius'@'localhost' IDENTIFIED BY 'abcd1234';
    FLUSH PRIVILEGES;

  5. เพิ่มเติม procedure TimeToFinish ลงในฐานข้อมูลprepaid ด้วยคำสั่ง source (\.)
    \. /var/www/html/phpmyprepaid0.3.3/TimeToFinish.sql
  6. ออกจากคำสั่ง mysql
    quit

  7. แก้ไขแฟ้ม/etc/raddb/sql.conf เพื่อให้เรียกใช้ฐานข้อมูล prepaid ด้วยสิทธิเป็นผู้ใช้ radius ซึ่งมี password เป็น abcd1234
    # Connect info
    server = "localhost"
    login = "radius"
    password = "abcd1234"
    # Database table configuration
    radius_db = "prepaid"
  8. แก้ไขแฟ้มเดียวกันนี้ให้ใส่คอมเมนต์หน้าคำสั่งpostauth_query เดิม
    #######################################################################
    # Authentication Logging Queries
    #######################################################################
    # postauth_query - Insert some info after authentication
    #######################################################################
    #postauth_query = "INSERT into ${postauth_table} (id, user, pass, reply, date) values ('', '%{User-Name}', '%{User-Password:-Chap-Password}', '%{reply:Packet-Type}', NOW())"

    แล้วเพิ่มบรรทัดใหม่เป็น
    postauth_query = "CALL TimeToFinish('%{SQL-User-Name}')"
  9. แก้ไขแฟ้ม /var/www/phpmyprepaid/dbconnect.php
    $my_user="radius";
    $my_pass="abcd1234";
    $my_dbase="prepaid";
  10. แก้ไขแฟ้ม /var/www/html/phpmyprepaid0.3.3/config.inc.php
    include_once('/var/www/phpmyprepaid/dbconnect.php');
    $dbName="prepaid"; // <--the database we are using
    $fpdfdir="/var/www/phpmyprepaid/fpdf"; //location of fpdf directory. no trailing /
  11. เปลี่ยนเจ้าของแฟ้มดังกล่าวเป็น apache
    chown apache:apache config* cards.* list.*
    chown -R apache:apache /var/www/phpmyprepaid/
  12. ติดตั้งโปรแกรม php และ php-mysqlเพิ่ม
    yum install php
    yum install php-mysql
  13. เข้า browser แล้วไปยังเว็บไซต์ http://localhost/phpmyprepaid0.3.3/
  14. ในครั้งแรกจะเห็นว่ามีการสร้างตารางลงไปในฐานข้อมูล prepaid ดังนี้
    Running setup script to install tables
    Table Creation :
    --------------------------------------------------------------------------------
    Table Customers does not exist.
    Creating Customers Table...
    Table admin does not exist.
    Creating admin table...
    ...
    Table AP does not exist.
    Creating table...
    Table userinfo does not exist.
    Creating table...
    Table BillingPlan does not exist.
    Creating table...
    --------------------------------------------------------------------------------
    There are no admin users.
    Please add one admin user so that you can log in and administer the system
  15. หน้าจอจะให้ตั้งชื่อและรหัสผ่านสำหรับ admin
    username: wuncaadmin
    password: abcd1234
  16. หากพบว่ามี error ดังนี้
    If found this error, please go back to drop database and return to webpage.
    Unknown column 'CrDate' in 'where clause'
    ให้ลบฐานข้อมูลชื่อ prepaid ทิ้ง แล้วสร้างใหม่
    drop database prepaid;

  17. ขั้นตอนในการสร้าง account ใหม่ใน phpmyprepaid
    1. สร้าง location
    จะมีข้อมูลให้กรอกคือ
    Location: ใส่เป็น My room
    Domain: ใส่เป็น My

    2. สร้าง billing plan
    billing plan: one-2-call
    time: 60
    price: 20
    type: time

    3. สร้างaccount
    username: pegtap13
    password: tuntores
    billing plan: one-2-call

  18. แก้ไขแฟ้ม /etc/raddb/dictionary
    โดยเพิ่มบรรทัด
    ATTRIBUTE Max-All-Session 3000 integer

  19. แก้ไขแฟ้ม /etc/raddb/users
    โดยเพิ่มบรรทัดก่อนนี้ไว้ก่อนบรรทัดDEFAULT Auth-Type = ทุกอัน
    DEFAULT Auth-Type = Local

  20. ทดสอบด้วยคำสั่ง radtest
    radtest pegtap13 tuntores localhost 0 mytestkey
    จะได้ผลลัพธ์ว่า Access-Accept

  21. ทดสอบกับโน้ตบุ๊ค

คัดลอกมาจาก http://mamboeasy.psu.ac.th/~wiboon.w/content/view/48/40/