หลายๆท่านยังไม่ทราบนะครับว่า ถ้าเราจะสั่งปิดเปิด asterisk บน Elastix/FreePBX นั้น เราควรใช้คำสั่ง amportal stop หรือ amportal start หรือ amportal restart จะดีกว่านะครับ ไม่ควรใช้คำสั่ง service asterisk ... เพราะคำสั่ง amportal มันทำมากกว่าแค่ปิดเปิด asterisk ครับ
ซึ่งหนึ่งในกระบวนการทำงานของคำสั่ง amportal คือ เช็คว่า MySQL ทำงานอยู่มั๊ย ถ้าไม่เห็นว่าทำงานอยู่ก็จะสตาร์ทไม่ได้ครับ มันเช็คว่ามีไฟล์ /var/lib/mysql/mysql.sock หรือไม่
ข้อความที่เจอเมื่อรัน amportal start บนเครื่องลูกค้าท่านนี้ครับ
- โค้ด: เลือกทั้งหมด
Please wait...
/usr/local/sbin/amportal: line 46: [FATAL]: command not found
/var/lib/asterisk/bin/freepbx_engine: line 98: [FATAL]: command not found
**** WARNING: ERROR IN CONFIGURATION ****
astrundir in '/etc/asterisk' is set to but the directory
does not exists. Attempting to create it with: 'mkdir -p '
mkdir: missing operand
Try `mkdir --help' for more information.
**** ERROR: COULD NOT CREATE ****
Attempt to execute 'mkdir -p ' failed with an exit code of 1
You must create this directory and the try again.
ผมพบว่าสาเหตุนี้เกิดจาก MySQL มันไม่รัน หรือรันแต่ไม่มีไฟล์ mysql.sock อยู่ในโฟลเดอร์ /var/lib/mysql ครับ เมื่อแก้ปัญหา MySQL ได้ก็รัน amportal start ได้ตามปกติ
ข้อความเมื่อรัน amportal start บนเครื่องที่ปกติครับ
- โค้ด: เลือกทั้งหมด
Please wait...
SETTING FILE PERMISSIONS
chattr: Operation not supported while reading flags on /var/www/html/assets
Permissions OK
Removing any dangling symlinks
Dangling symlinks removed
STARTING ASTERISK
Asterisk Started
STARTING FOP SERVER
FOP Server Started
เห็นมั๊ยครับว่าขัอความของทั้งสองกรณีต่างกันเยอะเลย
ป.ล.
แต่บรรทัด chattr: Operation not supported while reading flags on /var/www/html/assets นี่ผมยังหาทางแก้ไขไม่ได้ครับ แต่ยืนยันว่าไม่มีผลต่อการใช้งานครับ