Вы находитесь на странице: 1из 6

1

วิธีการติดตั้ง Asterisk 1.6.2 บน CentOS 5.4 ตอนที่ 1

วิธีการคอมไพล์ Asterisk 1.6.2.0 บน Linux CentOS 5.4 ให้รองรับฟีเจอร์ DAHDI, SNMP, Radius, H.323, MySQL, T.38 Fax

Note!
1 คาสั่งที่ต้องพิมพ์อยู่ในกรอบสี่เหลี่ยม "สีเหลือง” นะครับ
2 บางทีต้องมีการแก้ไขไฟล์ก็ใช้โปรแกรม Text Editor บน CentOS เช่น vi ทานะครับ

ก่อนอื่นทางที่ดีควรปิดเซอร์วิสนี้บน CentOS ก่อนนะครับนั่นคือเซอร์วิสที่ชื่อ yum-updatesd พิมพ์คาสั่งนี้


chkconfig --level 2345 yum-updatesd off

เพื่อไม่ให้ CentOS อัพเดทตัวเองโดยที่เราไม่รู้เนื้อรู้ตัว อัพเดทโปรแกรมอื่นคงไม่เป็นไร แต่ถ้าอัพเดท Kernel หล่ะยุ่งแน่ครับ ถึงกับต้อง


คอมไพล์ DAHDI ใหม่เชียวนะครับ

อีกอย่างหนึ่งที่ควรปิดคือ SeLinux ครับ เพราะมันสร้างปัญหามากมายต่อการติดตั้งโปรแกรม


vi /etc/selinux/config

เช็คบรรทัดนี้นะครับ ถ้าไม่เป็น disabled ก็แก้ให้เป็น disabled


SELINUX=disabled
เซฟไฟล์แล้วออกจากโปรแกรม

การติดตั้งโปรแกรมบน Linux บางทีเราก็ติดตั้งจากแพ็กเก็ตที่มีคนทาไว้ให้เราเรียบร้อยแล้ว ง่ายแต่บางทีก็ไม่ยืดหยุ่น บางทีเราก็ต้องคอมไพล์


โปรแกรมด้วยตัวเอง แต่ก็ไม่ใช่ว่านึกจะคอมไพล์ก็ทาได้เลยนะครับเพราะบางทีก็ต้องติดตั้งโปรแกรมอื่นๆที่มันต้องการก่อน ไม่อย่างนั้นจะ
ติดตั้งไม่ได้คอมไพล์ไม่ผ่าน นี้คือธรรมดชาติและเสน่ห์ของ Linux (มั้ง) ครับ

ก่อนติดตั้ง (คอมไพล์) Asterisk เราควรติดตั้งโปรแกรมต่อไปนี้ก่อนครับ วิธีการติดตั้งผมจะใช้แบบผสมคือใช้แพ็กเก็ตสาเร็จรูปและคอมไพล์


เองด้วย ดังต่อไปนี้

1. ติดตั้ง C/C++ คอมไพล์เลอร์ เพื่อให้คอมไพล์ Asterisk และโปรแกรมอื่นๆได้


2. ติดตั้ง kernel-devel, kernel-header เพื่อให้ติดตั้ง DAHDI ได้
3. ติดตั้ง radiusclient-ng เพื่อให้ Asterisk ทางานเป็น Radius Client ได้
4. ติดตั้ง MySQL และ MySQL-Devel เพื่อให้ Asterisk ทางานร่วมกับดาต้าเบส MySQL ได้
5. ติดตั้ง spandsp และ libtiff เพื่อให้ Asterisk รับส่ง T.38 แฟ็กซ์ได้
6. ติดตั้ง pwlib, openh323 เพื่อให้ Asterisk รองรับโปรโตคอล H.323

ก่อนติดตั้ง Asteisk ควรอัพเดท CentOS ก่อนดีกว่าครับ ใช้คาสั่ง


บทความโดย “คุณหนุ่ย” แห่งเว็บ voip4share.com
2

yum -y update

1 ติดตั้ง C/C++ complier


ติดตั้งด้วยคาสั่ง yum ดังนี้ครับ
yum -y install gcc.x86_64 gcc-c++.x86_64 bison.x86_64 flex.x86_64 patch.x86_64 make.x86_64 ncurses.x86_64 ncurses-
devel.x86_64 autoconf automake

แบบ 32 บิต ใช้คาสั่ง


yum -y install gcc gcc-c++ bison flex patch make ncurses ncurses-devel autoconf automake

2 อัพเดท CentOS และติดตั้ง kernel-devel, kernel-header


ใช้คาสั่ง yum ดังนี้ครับ
yum -y update

แบบ 64 บิต ใช้คาสั่ง


yum -y install kernel-devel.x86_64 kernel-header.x86_64

แบบ 32 บิต ใช้คาสั่ง


yum -y install kernel-devel kernel-header

เสร็จแล้วรีสตาร์ท CentOS
reboot

3 ติดตั้ง radiusclient-ng

Note!
1 Asterisk ใช้ Radius แค่เก็บ CDR (Call Detail Record) เท่านั้นนะครับ ดังนั้นถ้าไม่ต้องการเก็บ CDR ไว้ใน Radius Server ก็ไม่
จาเป็นต้องติดตั้ง radiusclient-ng ก็ได้นะครับ
2 ต้องมี Radius Server ด้วยนะครับ เพราะว่า radiusclient-ng มันเป็น Client มันต้องติดต่อกับ Radius Server โปรแกรมที่นิยมนามาทา
เป็น Radius Server ก็ได้แก่ FreeRadius (http://www.freeradius.org)

cd /tmp
wget http://download.berlios.de/radiusclient-ng/radiusclient-ng-0.5.6.tar.gz
tar xzvf radiusclient-ng-0.5.6.tar.gz -C /usr/src/
cd /usr/src/radiusclient-ng-0.5.6
บทความโดย “คุณหนุ่ย” แห่งเว็บ voip4share.com
3

./configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var


make && make install
หมายเหตุ
1 เว็บไซต์ของโปรแกรม radiusclient-ng คือ http://developer.berlios.de/project/sho ... up_id=1208 เผื่อมีเวอร์ชั่นใหม่กว่านี้ก็ใช้เวอร์ชั่น
ใหม่แทนครับ
2 ตอนแตกไฟล์ซอร์สโค๊ดก่อนคอมไพล์ผมชอบเอาไปไว้ที่ /usr/src ครับ ตอนแตกไฟล์ radiusclient-ng-0.5.6.tar.gz ผมก็เลยระบุ -C /usr/src
เข้าไปด้วย
3 ตอน ./configure ผมใส่ออปชั่น --sysconfdir=/etc เพราะผมชอบติดตั้งไฟล์คอนฟิกไว้ใน /etc ครับ
4 ไฟล์คอนฟิกของ radiusclient-ng จะอยู่ที่โฟลเดอร์ /etc/radiusclient-ng นะครับ ไฟล์คอนฟิกจะมีชื่อว่า radiusclient-ng.conf

ในโฟลเดอร์ /etc/radiusclient-ng มีไฟล์ดังต่อไปนี้


dictionary เป็นไฟล์ดิกชันนารีของ radiusclient-ng
dictionary.ascend เป็นไฟล์ดิกชันนารีของอุปกรณ์ยี่ห้อ ascend
dictionary.compat เป็นไฟล์ดิชันนารีของอุปกรณ์ยี่ห้อ compat
dictionary.merit เป็นไฟล์ดิกชันนารีของอุปกรณ์ยี่ห้อ merit
dictionary.sip เป็นไฟล์ดิกชันนารีของโปรโตคอล SIP
issue
port-id-map เป็นไฟล์แม๊บพอร์ต /dev/tty* ในเครื่อง
radiusclient.conf เป็นไฟล์คอนฟิกของ radiusclient-ng
server เป็นไฟล์ที่เก็บรายชื่อ Radius Server ที่จะติดต่อด้วย

ภายในไฟล์ radiusclient-ng.conf มีข้อมูลดังนี้


# General settings

auth_order radius,local
login_tries 4
login_timeout 60
nologin /etc/nologin
issue /etc/radiusclient-ng/issue
authserver localhost
acctserver localhost
servers /etc/radiusclient-ng/servers
dictionary /etc/radiusclient-ng/dictionary
login_radius /usr/sbin/login.radius
seqfile /var/run/radius.seq
mapfile /etc/radiusclient-ng/port-id-map
default_realm
บทความโดย “คุณหนุ่ย” แห่งเว็บ voip4share.com
4

radius_timeout 10
radius_retries 3
bindaddr *
login_local /bin/login

ภายในไฟล์ server มีข้อมูลดังนี้


#Server Name or Client/Server pair Key
#---------------- ---------------
localhost secret_key

สาหรับการติดตั้ง Radius Server เช่น FreeRadius

4 ติดตั้ง mysql และ mysql-devel


แบบ 64 บิตใช้คาสั่ง
yum -y install mysql.x86_64 mysql-devel.x86_64 mysql-server.x86_64

แบบ 32 บิตใช้คาสั่ง
yum -y install mysql mysql-devel mysql-server

5. ติดตั้ง libtiff และ spandsp

5.1 ติดตั้ง libtiff, libtiff-devel


ใช้สร้างไฟล์เอกสารจากแฟ็กซ์ที่รบั เข้ามา ติดตั้ง libtiff, libtiff-devel โดยใช้คาสั่ง yum
แบบ 64 บิต
yum -y install libtiff.x86_64 libtiff-devel.x86_64

แบบ 32 บิต
yum -y install libtiff libtiff-devel

5.2 ติดตั้ง spandsp

cd /tmp
wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6pre16.tgz
tar xzvf spandsp-0.0.6pre16.tgz -C /usr/src
cd /usr/src/spandsp-0.0.6
./configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var
make clean

บทความโดย “คุณหนุ่ย” แห่งเว็บ voip4share.com


5

make
make install

จะมีไฟล์ติดตั้งไว้ในโฟลเดอร์ /usr/include/spandsp และ /usr/lib


เว็บไซต์ของโปรแกรมคือ http://www.soft-switch.org/downloads/spandsp/ เผื่อมีเวอร์ชั่นใหม่

6. ติดตั้ง pwlib และ openh323

6.1 สร้างไฟล์ complier.h

vi /usr/include/linux/compiler.h

แล้วใส่บรรทัดนี้เข้าไป

#ifndef __LINUX_COMPILER_H
#define __LINUX_COMPILER_H
#define likely(x) __builtin_expect((x),1)
#define unlikely(x) __builtin_expect((x),0)
#endif /* __LINUX_COMPILER_H */

บันทึกไฟล์

6.2 ติดตั้ง pwlib


pwlib-v1_10_3-src-tar.gz

cd /tmp
wget http://www.voxgratia.org/releases/pwlib-v1_10_3-src-tar.gz
tar xvf pwlib-v1_10_3-src-tar.gz -C /usr/src
cd /usr/src/pwlib_v1_10_3
./configure --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc
make clean
make optshared
make install

ก๊อปไฟล์ไลบรารี่ของ PwLIB ไปไว้ที่ไดเร็คตอรี่ /usr/lib


cp /usr/src/pwlib_v1_10_3/lib/libpt_linux_x86_r.so.1.10.3 /usr/lib
บทความโดย “คุณหนุ่ย” แห่งเว็บ voip4share.com
6

6.3 ติดตั้ง openh323


openh323-v1_18_0-src-tar.gz

cd /tmp
wget http://www.voxgratia.org/releases/openh323-v1_18_0-src-tar.gz
tar xzvf openh323-v1_18_0-src-tar.gz -C /usr/src
cd /usr/src/openh323_v1_18_0

export PWLIBDIR=/usr/src/pwlib_v1_10_3
export OPENH323DIR=/usr/src/openh323_v1_18_0
export LD_LIBRARY_PATH=$PWLIBDIR/lib:$OPENH323DIR/lib

./configure --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc


make clean
make optshared
make install

ก๊อปปี้ไฟล์ไลบรารี่ของ OpenH323 ไปไว้ที่ไดเร็คตอรี่ /usr/lib


cp /usr/src/openh323_v1_18_0/lib/libh323_linux_x86_r.so.1.18.0 /usr/lib

7. ติดตั้ง net-snmp

แบบ 64 บิตใช้คาสั่ง
yum -y install net-snmp.x86_64 net-snmp-libs.x86_64 net-snmp-devel.x86_64 net-snmp-utils.x86_64 net-snmp-perl.x86_64

แบบ 32 บิตใช้คาสั่ง
yum -y install net-snmp net-snmp-libs net-snmp-devel net-snmp-utils net-snmp-perl

ติดตั้ง Asterisk + CentOS ตอนที่ 2

บทความโดย “คุณหนุ่ย” แห่งเว็บ voip4share.com

Вам также может понравиться