AstBill - วิธีติดตั้งโปรแกรม

AstBill - Free Billing, Routing and Management Software for Asterisk and VoIP

AstBill - วิธีติดตั้งโปรแกรม

โพสต์โดย voip4share » 28 ม.ค. 2010 10:20

ติดตั้ง AstBill

โปรแกรมที่ต้องติดตั้งก่อนมีดังต่อไปนี้
1. Asterisk
2. MySQL Database Server
3. Apache Web Server + PHP

4. perl-DBI, DBD-mysql
โค้ด: เลือกทั้งหมด
yum -y install perl-DBI perl-DBD-MySQL
yum -y install libdbi-dbd-mysql


AstBill ใช้ Drupal เป็นหน้ากากเว็บ แต่ไม่ต้องติดตั้ง Drupal นะครับ เพราะมีมาให้อยู่แล้ว เป็นเวอร์ชั่น 4.x เก่าหน่อย

ติดตั้ง AstBill

1. ดาวน์โหลด
เว็บไซต์ดาวน์โหลด http://sourceforge.net/projects/astbill/files/
โค้ด: เลือกทั้งหมด
cd /tmp
wget http://downloads.sourceforge.net/project/astbill/AstBill-Billing-Routing-Mgm/AstBill-0.9.22/astbill-0.9.22.tar.bz2?use_mirror=nchc

ไดเร็คตอรี่ที่จะติดตั้งมีอยู่ 2 ไดเร็คตอรี่คือ ไดเร็คตอรี่สำหรับโปรแกรม AstBill และไดเร็คตอรี่สำหรับเรียกใช้เว็บอินเตอร์เฟสของโปรแกรม AstBill ผมติดตั้งโปรแกรม AstBill ไว้ที่ไดเร็คตอรี่ /opt/astbill และทำ Symbolic มายัง /var/www/html/astbill ด้วย เพื่อให้เวลาเรียกใช้งานเว็บ จะได้เรียก http://x.x.x.x/astbill
โค้ด: เลือกทั้งหมด
tar xvf astbill-0.9.22.tar.bz2 -C /opt
cd /var/www/html
ln -s /opt/astbill/wwwroot /var/www/html/astbill


2. สร้างดาต้าเบส AstBill
โค้ด: เลือกทั้งหมด
mysql -uroot -ppassword

ที่พร้อมท์ mysql> พิมพ์คำสั่งเพื่อสร้างดาต้าเบสและยูสเซอร์ ดังนี้
(ให้สร้าง user=astbilluser และ password=astbill419 ก่อนนะครับเพื่อให้อิมพอร์ตดาต้าเบสได้ แล้วค่อยเปลี่ยนภายหลัง)

โค้ด: เลือกทั้งหมด
CREATE DATABASE `astbill` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

INSERT INTO `mysql`.`user` (`Host`, `User`, `Password`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Show_db_priv`, `Super_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Execute_priv`, `Repl_slave_priv`, `Repl_client_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Create_user_priv`, `ssl_type`, `max_questions`, `max_updates`, `max_connections`, `max_user_connections`) VALUES ('localhost', 'astbilluser', PASSWORD('astbill419'), 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', '', '0', '0', '0', '0');

INSERT INTO `mysql`.`db` (`Host`, `Db`, `User`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Execute_priv`) VALUES ('localhost', 'astbill', 'astbilluser', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');

flush privileges;
exit


3. อิมพอร์ตข้อมูลเข้าไปไว้ในดาต้าเบส astbill
โค้ด: เลือกทั้งหมด
cd /opt/astbill/database
mysql -uroot -ppassword astbill < astbill.sql
mysql -uroot -ppassword astbill < astbill_proc.sql


4. เซ็ต permission ให้ apache เข้าไดเร็คตอรี่ของ MySQL ได้ด้วย
โค้ด: เลือกทั้งหมด
chmod 777 -R /var/run/mysqld
chmod 777 -R /var/lib/mysql


5. เซ็ต permission ไดเร็คตอรี่ /var/spool/asterisk ให้ apache เข้าได้ด้วย
โค้ด: เลือกทั้งหมด
chmod 777 -R /var/spool/asterisk/tmp
chmod 777 -R /var/spool/asterisk/outgoing


6. สร้างไดเร็คตอรี่เพิ่มเติมใน /opt/astbill
โค้ด: เลือกทั้งหมด
mkdir /opt/astbill/logs
mkdir /opt/astbill/backup


7. ก๊อบปี้ไฟล์คอนฟิก astbill ไปไว้ที่ /etc/asterisk
โค้ด: เลือกทั้งหมด
cd /opt/astbill/etc
cp -r asterisk-1.2.6.sample/* /etc/asterisk
cp -r asterisk/* /etc/asterisk
chmod 777 /etc/asterisk/*


8. สร้างไดเร็คตอรี่และ permission เพิ่ม
โค้ด: เลือกทั้งหมด
cd /opt/astbill
chmod -R 777 wwwroot/files/
chmod +x scripts/backupastbill.sh
cp -rf sounds/* /var/lib/asterisk/sounds
cp -rf agi-bin/* /var/lib/asterisk/agi-bin
chmod -R +x /var/lib/asterisk/agi-bin/*


9. แก้ไขไฟล์ wwwroot/sites/default/settings.php
ค้นหา $db_url และ $db_prefix แล้วใส่ host, username, passsword ที่จะคอนเน็คเข้าดาต้าเบส
$db_url = 'mysql://astbill:astbill@localhost/astbill';
$db_prefix = 'pbx_';


10. แก้ไขไฟล์ /etc/asterisk/res_mysql.conf
[general]
dbhost = 127.0.0.1
dbname = astbill
dbuser = astbilluser
dbpass = astbill419
dbport = 3306
dbsock = /var/lib/mysql/mysql.sock
;requirements=warn


11. เซ็ต permission
โค้ด: เลือกทั้งหมด
chown -R apache:apache /opt/astbill


12. เข้าเว็บ astbill
http://x.x.x.x/astbill
เป็นหน้าเว็บล๊อกอินของ AstBill
astbill-first-login-s.png
Astbill Login
astbill-first-login-s.png (111.4 KiB) เปิดดู 14393 ครั้ง

user=astbill
pass=demoastbill
หน้าหลักของ AstBill ครับ
astbill-main-page-s.png
AstBill Main Page
astbill-main-page-s.png (140.12 KiB) เปิดดู 14393 ครั้ง


13. การใช้งานโปรแกรม
ดูวิธีการใช้งาน AstBill ที่เว็บไซต์ http://astbill.com/wiki/index.php/Main_Page ครับ

การแก้ปัญหาหากคลิ๊กเข้าเมนูแล้วโปรแกรมฟ้องว่า "Access Denied You are not authorized to access this page"
ปัญหานี้เกิดจากการรัน Drupal 4.7.2 (มีมาพร้อมกับ AstBill) กับ PHP 5.2 วิธีแก้ ทำที่ 2 ไฟล์
1. ไฟล์ /var/www/html/astbill/wwwroot/include/database.mysql.inc

function db_connect($url) {
$url = parse_url($url);

// Allow for non-standard MySQL port.
if (isset($url['port'])) {
$url['host'] = $url['host'] .':'. $url['port'];
}

$connection = mysql_connect($url['host'], $url['user'], $url['pass'], TRUE) or die(mysql_error());
mysql_select_db(substr($url['path'], 1)) or die('unable to select database');

//เพิ่มบรรทัดนี้
register_shutdown_function('session_write_close');
//

return $connection;

2. ไฟล์ /var/www/html/wwwroot/includes/session.inc

function sess_read($key) {
global $user;

$result = db_query_range("SELECT u.*, s.* FROM {users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.sid = '%s' AND u.status < 3", $key, 0, 1);

if (!db_num_rows($result)) {
db_query("INSERT INTO {sessions} (sid, uid, hostname, timestamp) VALUES ('%s', 0, '%s', %d)", $key, $_SERVER["REMOTE_ADDR"], time());
$result = db_query("SELECT u.* FROM {users} u WHERE u.uid = 0");
}

$user = db_fetch_object($result);
$user = drupal_unpack($user);
$user->roles = array();

// เพิ่มบรรทัดนี้
register_shutdown_function('session_write_close');
//

$result = db_query("SELECT r.rid, r.name FROM {role} r INNER JOIN {users_roles} ur ON ur.rid = r.rid WHERE ur.uid = %d", $user->uid);

while ($role = db_fetch_object($result)) {
$user->roles[$role->rid] = $role->name;
}

return !empty($user->session) ? $user->session : '';
}

13. ในดาต้าเบส astbill เทเบิล pbx_users มี uid=0 ว่างๆ ห้ามลบออกโดยเด็ดขาด
voip4share
Administrator
 
โพสต์: 656
ลงทะเบียนเมื่อ: 18 พ.ย. 2009 11:26
ที่อยู่: รามคำแหง กรุงเทพฯ

Re: AstBill - วิธีติดตั้งโปรแกรม

โพสต์โดย peeturn » 04 มี.ค. 2011 12:50

ลองทำตามแล้วครับของผมติดแบบนี้ครับ
Forbidden

You don't have permission to access /astbill/ on this server.
peeturn
Gold Member
 
โพสต์: 122
ลงทะเบียนเมื่อ: 21 ธ.ค. 2009 09:29

Re: AstBill - วิธีติดตั้งโปรแกรม

โพสต์โดย nuiz » 04 มี.ค. 2011 13:44

เป็นปัญหาที่ permission ของโฟลเดอร์ /var/www/html/astbill ครับ

chown -R apache:apache /var/www/html/astbill
chmod +x /var/www/html/astbill

ถ้ายังไม่ได้อีก ให้ลอง

chown -R apache:apache /opt/astbill/wwwroot
chmod +x /opt/astbill/wwwroot
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6993
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: AstBill - วิธีติดตั้งโปรแกรม

โพสต์โดย neogate » 20 มิ.ย. 2011 15:23

i follow all step, till can access login page.
but no matter I enter default user name and password, it redirect to login page only.
which step i miss ?
ps* I install on elastix 2.0
neogate
Bronz Member
 
โพสต์: 17
ลงทะเบียนเมื่อ: 27 ม.ค. 2011 21:23

Re: AstBill - วิธีติดตั้งโปรแกรม

โพสต์โดย sitt01 » 27 ก.ย. 2011 10:49

ผมพอทำเสร็จแล้วขึ้น ตัวนี้ต้องแก้ไขอย่างไรครับ

Unsupported database type
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 316
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19

Re: AstBill - วิธีติดตั้งโปรแกรม

โพสต์โดย nuiz » 27 ก.ย. 2011 12:14

ผมว่าลอง a2billing (www.asterisk2billing.org) ดีกว่านะครับ มีพัฒนาเวอร์ชั่นใหม่มาเรื่อยๆ ส่วน astbill นี้คาดว่าไม่เติบโตแล้ว
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6993
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: AstBill - วิธีติดตั้งโปรแกรม

โพสต์โดย sitt01 » 27 ก.ย. 2011 15:17

nuiz เขียน:ผมว่าลอง a2billing (http://www.asterisk2billing.org) ดีกว่านะครับ มีพัฒนาเวอร์ชั่นใหม่มาเรื่อยๆ ส่วน astbill นี้คาดว่าไม่เติบโตแล้ว

แล้วไม่ทราบว่าจะหาวิธีลงได้จากที่ไหนครับ
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 316
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19


ย้อนกลับไปยัง AstBill - Billing, Routing and Management for Asterisk and VoIP

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 0 ท่าน