- Sau đó cài đặt các Add-on của Asterisk cần thiết vào mysql
- Mình sẽ hướng dẫn cách add các table theo chuẩn của Asterisk vào Mysql
Đầu tiên các bạn install mysql server, các bạn tham khảo link dưới:
http://forums.fedoraforum.org/showthread.php?t=255254
Các bạn dùng lệnh trong sql để tạo user đăng nhập cũng như database tên Asterisk sẵn. Cách tạo đều có trong link trên.
Các bạn dùng lệnh trong sql để tạo user đăng nhập cũng như database tên Asterisk sẵn. Cách tạo đều có trong link trên.
Sau đó, down source asterisk ở trên, và dùng lệnh sau để giải nén file vừa tải về
# tar -zxvf asterisk 1.8.2.1.tar.gz
Di chuyển vào thư mục vừa giải nén, và thực hiện lần lượt các lệnh sau:
#cd asterisk1.8.2.1
#./configure
#make menuselect
Sau đó chọn các add-on của Asterisk bằng cách Enter vào Add-ons như sau:
**************************************************
Asterisk Module and Build Option Selection
**************************************************
Press 'h' for help.
---->Add-ons (Check vào 3 ô: [*]app_mysql , [*]cdr_mysql , [*]res_config_mysql]
ApplicationsSau đó tiếp 2 lệnh sau
Bridging Modules
Call Detail Recording
Channel Event Logging
Channel Drivers
Codec Translators
Format Interpreters
Dialplan Functions
PBX Modules
Resource Modules
Test Modules
Compiler Flags
Voicemail Build Options
Utilities
AGI Samples
----> Module Embedding (Check vào ô [*]ADDONS)
Core Sound Packages
Music On Hold File Packages
Extras Sound Packages
#make
#make install
Tiếp tục cài đặt httpd, php, phpmyadmin nếu như các bạn chưa cài (mục đích để quản lý SQL của Asterisk thông qua giao diện web phpmyadmin):
# yum install httpd
# chkconfig --levels 235 httpd on
# /etc/init.d/httpd start
Chúng ta sử dụng câu lệnh sau để cài đặt PHP5 và các module hỗ trợ
# yum install php
# /etc/init.d/httpd restart
Tiếp theo, chúng ta sẽ tạo 1 file php nhỏ(info.php) và tiến hành gọi file đó bằng trình duyệt. File này sẽ
hiển thị tất cảcác chi tiết trong trong quá trình cài đặt PHP:
# vi /var/www/html/info.php
<?php
phpinfo();
?>
Để gọi file info.php, gõ địa chỉ sau vào trình duyệt (ở bài viết này là http://127.0.0.1/info.php)
Thiết lập đê PHP hỗ trợ MYSQL
Để làm việc này, chúng ta phải cài đặt gói php-mysql. Các bạn nên tìm kiếm gói
này bằng câu lệnh sau:
# yum search php
# yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy
# /etc/init.d/httpd restart
Truy cập lại địa chỉ http://127.0.0.1/info.php, và bạn sẽ thấy sự khác biệt với nhiều module mới, có bao gồm MySQL
Cài đặt Phpmyadmin
phpMyAdmin là bảng điều khiển cơ sở dữ liệu MySQL với giao diện web. Các bạn có thê cài đặt phpMyAdmin bằng cách:
# yum install phpmyadmin
Tiếp theo, chúng ta phải điều chỉnh phpMyAdmin để phpMyAdmin cho phép những kết nối khác nhau không chỉ từ localhost:
# vi /etc/httpd/conf.d/phpMyAdmin.conf
Xóa nội dung cũ và copy nội dung bên dưới vào file
# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
#<Directory /usr/share/phpMyAdmin/>
# order deny,allow
# deny from all
# allow from 127.0.0.1
# allow from ::1
#</Directory>
# This directory does not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
<Directory /usr/share/phpMyAdmin/libraries>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc. This may break your mod_security implementation.
#
#<IfModule mod_security.c>
# <Directory /usr/share/phpMyAdmin>
# SecRuleInheritance Off
# </Directory>
#</IfModule>
Sau đó khởi động lại Apache:
# /etc/init.d/httpd restart
Khi hoàn thành, chúng ta có thể truy cập phpMyAdmin qua địa chỉ http://127.0.0.1/phpmyadmin/
Tiếp theo, sau khi mọi thứ hoàn tất, tại web http://127.0.0.1/phpmyadmin/ , chúng ta vào database tên, Asterisk để thêm các table theo chuẩn asterisk vào:
Bên trái là ta đã chọn database tên Asterisk do lúc đầu mình tạo, bên phải chỗ Import là nơi để add các file có sẵn trong thư mục asterisk 1.8.2.1 mà các bạn đã down và giải nén khi nãy.
Chọn Browse trõ tới các file đó
Ở trên là đường dẫn nơi thư mục asterisk 1.8.2.1 đã được giải nén, tùy nơi mà các bạn giải nén mà trỏ tới. Bên dưới là các file, ta add lần lượt các file đó vào.
Tuy nhiên lưu ý: 2 file queue_log.sql và sipfriends.sql sẽ bị sai vào chỗ, các bạn nên sửa file đó theo nội dung bên dưới
Với file sipfriends.sql, nội dung file là:
#
# Table structure for table `sipfriends`
#
CREATE TABLE `sipfriends` (
`name` varchar(40) NOT NULL default '',
`type` varchar(10) NOT NULL default '',
`username` varchar(40),
`fromuser` varchar(40),
`fromdomain` varchar(40),
`secret` varchar(40),
`md5secret` varchar(40),
`auth` varchar(10),
`mailbox` varchar(20),
`subscribemwi` varchar(10), -- yes/no
`vmexten` varchar(20),
`callerid` varchar(40),
`cid_number` varchar(40),
`callingpres` varchar(20),
`usereqphone` varchar(10),
`language` varchar(10),
`incominglimit` varchar(10),
`context` varchar(40) NOT NULL default '',
`subscribecontext` varchar(40),
`amaflags` varchar(20),
`accountcode` varchar(20),
`musicclass` varchar(20),
`mohsuggest` varchar(20),
`allowtransfer` varchar(20),
`callgroup` varchar(20),
`pickupgroup` varchar(20),
`autoframing` varchar(10), -- yes/no
`disallow` varchar(20) default 'all',
`allow` varchar(20),
`maxcallbitrate` varchar(15),
`host` varchar(40) default 'dynamic',
`outboundproxy` varchar(40),
`ipaddr` varchar(40) NOT NULL default '',
`defaultip` varchar(20),
`port` int(6) NOT NULL default '0',
`fullcontact` varchar(40),
`insecure` varchar(20),
`qualify` varchar(15),
`regseconds` int(11) NOT NULL default '0',
`regexten` varchar(20),
`regserver` varchar(20),
`rtptimeout` varchar(15),
`rtpholdtimeout` varchar(15),
`rtpkeepalive` varchar(15),
`lastms` int(11) NOT NULL default '-1',
`setvar` varchar(200),
PRIMARY KEY (`name`),
INDEX host (host, port),
INDEX ipaddr (ipaddr, port)
) ENGINE=MyISAM;
Với file queue_log.sql sẽ là:
CREATE TABLE queue_log (
-- Event date and time
time datetime,
-- "REALTIME", "NONE", or channel uniqueid
callid char(50),
-- Name of the queue affected
queuename char(50),
-- Interface name of the queue member
agent char(50),
-- One of ADDMEMBER, REMOVEMEMBER, RINGNOANSWER, EXITEMPTY, TRANSFER,
-- AGENTDUMP, ABANDON, SYSCOMPAT, CONNECT, COMPLETECALLER, COMPLETEAGENT,
-- PAUSEALL, UNPAUSEALL, PAUSE, UNPAUSE, PENALTY, ENTERQUEUE,
-- EXITWITHTIMEOUT, EXITEMPTY, EXITWITHKEY, or another defined by the user.
event char(20),
-- data1 through data5 are possible arguments to the event, the definitions
-- of which are dependent upon the type of event.
data1 char(50),
data2 char(50),
data3 char(50),
data4 char(50),
data5 char(50),
index bydate (time),
index qname (queuename,time)
)
Cuối cùng là thành quả, sau khi đã add thành công các table
Tiếp tục cài đặt httpd, php, phpmyadmin nếu như các bạn chưa cài (mục đích để quản lý SQL của Asterisk thông qua giao diện web phpmyadmin):
# yum install httpd
# chkconfig --levels 235 httpd on
# /etc/init.d/httpd start
Chúng ta sử dụng câu lệnh sau để cài đặt PHP5 và các module hỗ trợ
# yum install php
# /etc/init.d/httpd restart
Tiếp theo, chúng ta sẽ tạo 1 file php nhỏ(info.php) và tiến hành gọi file đó bằng trình duyệt. File này sẽ
hiển thị tất cảcác chi tiết trong trong quá trình cài đặt PHP:
# vi /var/www/html/info.php
<?php
phpinfo();
?>
Để gọi file info.php, gõ địa chỉ sau vào trình duyệt (ở bài viết này là http://127.0.0.1/info.php)
Thiết lập đê PHP hỗ trợ MYSQL
Để làm việc này, chúng ta phải cài đặt gói php-mysql. Các bạn nên tìm kiếm gói
này bằng câu lệnh sau:
# yum search php
# yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy
# /etc/init.d/httpd restart
Truy cập lại địa chỉ http://127.0.0.1/info.php, và bạn sẽ thấy sự khác biệt với nhiều module mới, có bao gồm MySQL
Cài đặt Phpmyadmin
phpMyAdmin là bảng điều khiển cơ sở dữ liệu MySQL với giao diện web. Các bạn có thê cài đặt phpMyAdmin bằng cách:
# yum install phpmyadmin
Tiếp theo, chúng ta phải điều chỉnh phpMyAdmin để phpMyAdmin cho phép những kết nối khác nhau không chỉ từ localhost:
# vi /etc/httpd/conf.d/phpMyAdmin.conf
Xóa nội dung cũ và copy nội dung bên dưới vào file
# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
#<Directory /usr/share/phpMyAdmin/>
# order deny,allow
# deny from all
# allow from 127.0.0.1
# allow from ::1
#</Directory>
# This directory does not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
<Directory /usr/share/phpMyAdmin/libraries>
Order Deny,Allow
Deny from All
Allow from None
</Directory>
# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc. This may break your mod_security implementation.
#
#<IfModule mod_security.c>
# <Directory /usr/share/phpMyAdmin>
# SecRuleInheritance Off
# </Directory>
#</IfModule>
Sau đó khởi động lại Apache:
# /etc/init.d/httpd restart
Khi hoàn thành, chúng ta có thể truy cập phpMyAdmin qua địa chỉ http://127.0.0.1/phpmyadmin/
Tiếp theo, sau khi mọi thứ hoàn tất, tại web http://127.0.0.1/phpmyadmin/ , chúng ta vào database tên, Asterisk để thêm các table theo chuẩn asterisk vào:
Bên trái là ta đã chọn database tên Asterisk do lúc đầu mình tạo, bên phải chỗ Import là nơi để add các file có sẵn trong thư mục asterisk 1.8.2.1 mà các bạn đã down và giải nén khi nãy.
Chọn Browse trõ tới các file đó
Ở trên là đường dẫn nơi thư mục asterisk 1.8.2.1 đã được giải nén, tùy nơi mà các bạn giải nén mà trỏ tới. Bên dưới là các file, ta add lần lượt các file đó vào.
Tuy nhiên lưu ý: 2 file queue_log.sql và sipfriends.sql sẽ bị sai vào chỗ, các bạn nên sửa file đó theo nội dung bên dưới
Với file sipfriends.sql, nội dung file là:
#
# Table structure for table `sipfriends`
#
CREATE TABLE `sipfriends` (
`name` varchar(40) NOT NULL default '',
`type` varchar(10) NOT NULL default '',
`username` varchar(40),
`fromuser` varchar(40),
`fromdomain` varchar(40),
`secret` varchar(40),
`md5secret` varchar(40),
`auth` varchar(10),
`mailbox` varchar(20),
`subscribemwi` varchar(10), -- yes/no
`vmexten` varchar(20),
`callerid` varchar(40),
`cid_number` varchar(40),
`callingpres` varchar(20),
`usereqphone` varchar(10),
`language` varchar(10),
`incominglimit` varchar(10),
`context` varchar(40) NOT NULL default '',
`subscribecontext` varchar(40),
`amaflags` varchar(20),
`accountcode` varchar(20),
`musicclass` varchar(20),
`mohsuggest` varchar(20),
`allowtransfer` varchar(20),
`callgroup` varchar(20),
`pickupgroup` varchar(20),
`autoframing` varchar(10), -- yes/no
`disallow` varchar(20) default 'all',
`allow` varchar(20),
`maxcallbitrate` varchar(15),
`host` varchar(40) default 'dynamic',
`outboundproxy` varchar(40),
`ipaddr` varchar(40) NOT NULL default '',
`defaultip` varchar(20),
`port` int(6) NOT NULL default '0',
`fullcontact` varchar(40),
`insecure` varchar(20),
`qualify` varchar(15),
`regseconds` int(11) NOT NULL default '0',
`regexten` varchar(20),
`regserver` varchar(20),
`rtptimeout` varchar(15),
`rtpholdtimeout` varchar(15),
`rtpkeepalive` varchar(15),
`lastms` int(11) NOT NULL default '-1',
`setvar` varchar(200),
PRIMARY KEY (`name`),
INDEX host (host, port),
INDEX ipaddr (ipaddr, port)
) ENGINE=MyISAM;
Với file queue_log.sql sẽ là:
CREATE TABLE queue_log (
-- Event date and time
time datetime,
-- "REALTIME", "NONE", or channel uniqueid
callid char(50),
-- Name of the queue affected
queuename char(50),
-- Interface name of the queue member
agent char(50),
-- One of ADDMEMBER, REMOVEMEMBER, RINGNOANSWER, EXITEMPTY, TRANSFER,
-- AGENTDUMP, ABANDON, SYSCOMPAT, CONNECT, COMPLETECALLER, COMPLETEAGENT,
-- PAUSEALL, UNPAUSEALL, PAUSE, UNPAUSE, PENALTY, ENTERQUEUE,
-- EXITWITHTIMEOUT, EXITEMPTY, EXITWITHKEY, or another defined by the user.
event char(20),
-- data1 through data5 are possible arguments to the event, the definitions
-- of which are dependent upon the type of event.
data1 char(50),
data2 char(50),
data3 char(50),
data4 char(50),
data5 char(50),
index bydate (time),
index qname (queuename,time)
)
Cuối cùng là thành quả, sau khi đã add thành công các table
Không có nhận xét nào:
Đăng nhận xét