เรื่องมีอยู่ว่า...
พอดีผมกำลังแก้ปัญหาการเซ็ตอัพ Email ใน Elastix อยู่ครับ ปัญหาของผมก็คือเวลาเข้าหน้า Email -> Accounts ตรงคอลัมน์ "Used Space" มีข้อวาม "Could not query used space" ตามรูปเลยครับ
อีกทั้งตอนเข้าหน้านี้ก็รู้สึกว่ามันจะช้าๆไปหน่อยกว่าจะแสดงข้อมูล ไม่รู้ไปแก้อะไรตรงไหนมันเลยกลายเป็นแบบนี้ครับ
ผมเช็ค Log ในไฟล์ /var/log/maillog ก็พบข้อมูลสำคัญ
Jun 21 19:17:24 localhost imap[4364]: accepted connection
Jun 21 19:17:24 localhost imap[4364]: badlogin: localhost [127.0.0.1] plaintext cyrus SASL(-13): authentication failure: checkpass failed
ฟ้องว่า SASL authentication fail พาสเวอร์ดผิด
หลังจากนึกๆอยู่สักพักผมเคยสังเกตตอนติดตั้ง Elastix ว่าในขั้นตอนสุดท้ายของการติดตั้ง เราต้องตั้งค่า Password ของ MySQL, SASL, FreePBX รวมทั้งโปรแกรมอื่นๆด้วย ผมจึงหาวิธีตั้งค่าพาสเวอร์ด SASL ใหม่ ครับ เพราะพาสเวอร์ดที่มันเก็บในไฟล์ /etc/sasldb2 นั้นมันมีอักษรไบนารี่ด้วย มันไม่ใช่ Text จึงแก้ด้วยโปรแกรม Text Editor ไม่ได้อย่างแน่นอน
บังเอิญไปเจอคำสั่งนี้ครับ
elastix-admin-passwords
** ที่จริงคำสั่งนี้เป็น Script ครับ ชื่อไฟล์ชื่อเดียวกันอยู่ในโฟลเดอร์ /usr/bin ครับ **
** ถ้าแกะ Script นี้ดู (มันเป็น Text File เขียนด้วยภาษา PHP) ก็จะมีคำสั่งที่ซ่อนอยู่เบื้องหลัง Script นี้ ทำให้เราลัดขั้นตอนได้เลยไม่ต้องรัน Script ก็ได้ **
คำสั่งนี้มีออปชั่นอยู่ 2 แบบคือ --init เอาไว้เช็คว่าตั้งพาสเวอร์ดไว้ครบทุกโปรแกรมหรือยัง และ --change เอาไว้เปลี่ยนพาสเวอร์ด ผมคงต้องใช้ --change หล่ะครับ
- โค้ด: เลือกทั้งหมด
elastix-admin-passwords --change
ก็จะเห็นหน้าจอที่คุ้นมากเลย แบบนี้ครับ
ใส่พาสเวอร์ดของ MySQL ใส่ค่าเดิมนั่นแหล่ะครับ แล้วใส่ซ้ำอีกครั้ง
ก็จะเห็นข้อความแบบนี้
The password for mysql and cyrus admin were successfully changed!
แสดงว่าเปลี่ยนพาสเวอร์ด SASL (Cyrus) เรียบร้อยแล้ว
ขั้นตอนต่อไปเป็นการเปลี่ยนพาสเวอร์ดหน้าเว็บ Elastix, FreePBx, vTiger, A2Billing ครับ ไม่ต้องการเปลี่ยนก็ Cancel ไปครับ
ต่อไปก็เช็คหน้าเว็บ Email -> Account ดูผลงานครับ ก็จะเห็นว่าตอนนี้คอลัมน์ Used Space แสดงแล้ว
มีเท่านี้ครับ
บทความที่เกี่ยวข้อง
บทความเก่า - เทคนิคการเปลี่ยนพาสเวอร์ดเข้าเว็บ Elastix ด้วย Command Line