ติดตั้ง Asterisk 1.6.2.0 บน CentOS 5.4 ตอนที่ 3

Asterisk Opensource IP Pbx

ติดตั้ง Asterisk 1.6.2.0 บน CentOS 5.4 ตอนที่ 3

โพสต์โดย voip4share » 30 ม.ค. 2010 10:07

9 รัน Asterisk ด้วย User/Group อื่นที่ไม่ใช่ Root

ถ้าเราสั่งรัน Asterisk ตอนนี้มันจะรันด้วย User=root และ Group=root ซึ่งไม่ใช่ความคิดที่ดีสักเท่าไหร่นะครับ ผมจะให้มันรันด้วย User=asterisk และ Group=asterisk นะครับ ซึ่งขั้นตอนก็ง่ายๆครับ ดังต่อไปนี้

9.1 เปิดไฟล์ /etc/passwd
โค้ด: เลือกทั้งหมด
vi /etc/passwd

เพิ่มบรรทัดนี้เข้าไป
asterisk:x:62:62:Asterisk User:/etc/asterisk:/sbin/nologin
เช็คก่อนนะครับว่าตัวเลข 62 มีอยู่ในบรรทัดอื่นแล้วหรือยัง ถ้ามีแล้วก็เปลี่ยนไปเป็นค่าอื่น (แนะนำว่าไม่ควรเกิน 100 นะครับ)

9.2 เปิดไฟล์ /etc/group
โค้ด: เลือกทั้งหมด
vi /etc/group

เพิ่มบรรทัดนี้เข้าไป
asterisk:x:62:
ตัวเลขต้องเหมือนกับในข้อ 9.1 นะครับ

9.3 ก๊อปไฟล์ Init Script ของ Asterisk
ลองเช็คในไดเร็คตอรี่ /etc/init.d ก่อนนะครับว่ามีไฟล์ asterisk หรือยัง ถ้ามีแล้วก็ไม่ต้องทำขั้นตอนนี้
โค้ด: เลือกทั้งหมด
cp /usr/src/asterisk-1.6.2.0/contrib/init.d/rc.redhat.asterisk /etc/rc.d/init.d/asterisk
chmod 755 /etc/rc.d/init.d/asterisk


9.4 เปิดไฟล์ /etc/init.d/asterisk
โค้ด: เลือกทั้งหมด
vi /etc/init.d/asterisk

แก้ 2 บรรทัดนี้ (เอาเครื่องหมาย # ออก)
เดิม
#AST_USER="asterisk"
#AST_GROUP="asterisk"

ใหม่
AST_USER="asterisk"
AST_GROUP="asterisk"

ซึ่ง AST_USER คือยูสเซอร์ที่จะใช้รัน Asterisk นะครับ ต้องชื่อเดียวกับข้อ 9.1 ส่วน AST_GROUP คือกรุ๊ปที่จะใช้รัน Asterisk ต้องชื่อเดียวกับข้อ 9.2 ครับ

9.5 เปลี่ยน Owner ไดเร็คตอรี่เหล่านี้
จาก root เป็น asterisk เพื่อให้ Asterisk เขียนข้อมูลในไดเร็คตอรี่เหล่านั้นได้
โค้ด: เลือกทั้งหมด
chown -R asterisk:asterisk /etc/asterisk
chown -R asterisk:asterisk /usr/lib/asterisk
chown -R asterisk:asterisk /var/lib/asterisk
chown -R asterisk:asterisk /var/spool/asterisk
chown -R asterisk:asterisk /var/run/asterisk
chown -R asterisk:asterisk /var/log/asterisk


ซึ่ง asterisk ตัวหน้าคือยูสเซอร์และตัวหลังคือกรุ๊ป

10. ขั้นตอนนี้ไม่ต้องทำก็ได้นะครับ มันแค่เก็บ CDR ไว้ใน Radius ซึ่งก็ต้องติดตั้ง Radius Server อีก
แก้ไขไฟล์ /etc/asterisk/cdr.conf ให้ Asterisk รู้จักที่เก็บไฟล์คอนฟิกของ radiusclient-ng (ถ้าติดตั้ง)


โค้ด: เลือกทั้งหมด
vi /etc/asterisk/cdr.conf

แก้ไขข้อมูลในไฟล์ดังต่อไปนี้

[general]
enable=yes
unanswered=yes

[csv]
usegmtime=yes
loguniqueid=yes
loguserfield=yes

[radius]
usegmtime=yes
loguniqueid=yes
loguserfield=yes
radiuscfg => /etc/radiusclient-ng/radiusclient.conf

บันทึกไฟล์

11. ทำให้ Asterisk รันแบบเป็นเซอร์วิสหนึ่งใน CentOS
โค้ด: เลือกทั้งหมด
chkconfig --level 35 asterisk on


12. การ Start/Stop/Restart Asterisk

โค้ด: เลือกทั้งหมด
service asterisk start

ข้อความที่ปรากฏ
Starting asterisk: [ OK ]

โค้ด: เลือกทั้งหมด
service asterisk stop

ข้อความที่ปรากฏ
Stopping safe_asterisk: [ OK ]
Shutting down asterisk: [ OK ]

โค้ด: เลือกทั้งหมด
service asterisk restart

ข้อความที่ปรากฏ
Stopping safe_asterisk: [ OK ]
Shutting down asterisk: [ OK ]
Starting asterisk: [ OK ]

โค้ด: เลือกทั้งหมด
service asterisk status

ข้อความที่ปรากฏ
asterisk (pid 549) is running...
หมายความว่าตอนนี้ Asterisk กำลังทำงานอยู่ และมีค่า Process ID คือ 549

13. ดูโพรเซสของ Asterisk ขณะที่ทำงาน
โค้ด: เลือกทั้งหมด
ps -ef

asterisk-process.png
Asterisk Process ID
asterisk-process.png (3.1 KiB) เปิดดู 4391 ครั้ง


14. ลองเข้า Asterisk Console ดู
ที่ Linux Prompt พิมพ์คำสั่งว่า asterisk -r แล้วกด Enter จะเห็น Asterisk Prompt ดังรูปครับ
โค้ด: เลือกทั้งหมด
asterisk -r

asterisk-1620-console.png
Asterisk Console
asterisk-1620-console.png (10.54 KiB) เปิดดู 4391 ครั้ง

เป็นการยืนยันอีกแรงครับว่าเราติดตั้ง Asterisk ได้สำเร็จ

ติดตั้ง Asterisk + CentOS ตอนที่ 2
ติดตั้ง Asterisk + CentOS ตอนที่ 4
voip4share
Administrator
 
โพสต์: 656
ลงทะเบียนเมื่อ: 18 พ.ย. 2009 11:26
ที่อยู่: รามคำแหง กรุงเทพฯ

ย้อนกลับไปยัง Asterisk SIP Server

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

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