เขียนโดย วิบูลย์ วราสิทธิชัยwiboon.w (at) psu.ac.th
ต้นฉบับจากhttp://sourceforge.net/projects/phpmyprepaid/
เวอร์ชันที่ใช้คือ phpmyprepaid 0.3.3
ประวัติการปรับปรุง
ครั้งที่ 1 31-01-2550 โดย: วิบูลย์ วราสิทธิชัย
ขั้นตอน
เข้าสู่โปรแกรม mysql ด้วย username คือ root และ password คือ abcd1234
mysql -uroot -pabcd1234
สร้าง
ฐานข้อมูลชื่อ prepaid (ส่วนมากจะมีการทดลองสร้างฐานข้อมูลชื่อ radius
ไปบ้างแล้วจึงเปลี่ยนชื่อเป็น prepaid
เพื่อให้รู้ว่าต้องทำตั้งแต่เริ่มต้นใหม่ ห้ามใช้ฐานข้อมูลเดิมที่มีอยู่)
CREATE DATABASE prepaid;
กำหนดสิทธิให้กับบัญชีผู้ใช้งานบน mysql คือ radius พร้อม password คือ abcd1234
GRANT ALL PRIVILEGES ON prepaid.* to 'radius'@'localhost' IDENTIFIED BY 'abcd1234';
FLUSH PRIVILEGES;
เพิ่มเติม procedure TimeToFinish ลงในฐานข้อมูลprepaid ด้วยคำสั่ง source (\.)
\. /var/www/html/phpmyprepaid0.3.3/TimeToFinish.sql
ออกจากคำสั่ง mysql
quit
แก้ไขแฟ้ม/etc/raddb/sql.conf เพื่อให้เรียกใช้ฐานข้อมูล prepaid ด้วยสิทธิเป็นผู้ใช้ radius ซึ่งมี password เป็น abcd1234
# Connect info
server = "localhost"
login = "radius"
password = "abcd1234"
# Database table configuration
radius_db = "prepaid"
แก้ไขแฟ้มเดียวกันนี้ให้ใส่คอมเมนต์หน้าคำสั่ง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}')"
แก้ไขแฟ้ม /var/www/phpmyprepaid/dbconnect.php
$my_user="radius";
$my_pass="abcd1234";
$my_dbase="prepaid";
แก้ไขแฟ้ม /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 /
เปลี่ยนเจ้าของแฟ้มดังกล่าวเป็น apache
chown apache:apache config* cards.* list.*
chown -R apache:apache /var/www/phpmyprepaid/
ติดตั้งโปรแกรม php และ php-mysqlเพิ่ม
yum install php
yum install php-mysql
ในครั้งแรกจะเห็นว่ามีการสร้างตารางลงไปในฐานข้อมูล 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
หน้าจอจะให้ตั้งชื่อและรหัสผ่านสำหรับ admin
username: wuncaadmin
password: abcd1234
หากพบว่ามี 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;
ขั้นตอนในการสร้าง 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
แก้ไขแฟ้ม /etc/raddb/dictionary
โดยเพิ่มบรรทัด
ATTRIBUTE Max-All-Session 3000 integer
แก้ไขแฟ้ม /etc/raddb/users
โดยเพิ่มบรรทัดก่อนนี้ไว้ก่อนบรรทัดDEFAULT Auth-Type = ทุกอัน
DEFAULT Auth-Type = Local
ทดสอบด้วยคำสั่ง radtest
radtest pegtap13 tuntores localhost 0 mytestkey
จะได้ผลลัพธ์ว่า Access-Accept
ทดสอบกับโน้ตบุ๊ค
คัดลอกมาจาก http://mamboeasy.psu.ac.th/~wiboon.w/content/view/48/40/