DirectAdmin (CentOS 7) + munin dynamic zoom

ปกติเวลา setup เครื่อง ผมจะปิดการใช้งาน cgi ของ apache อยู่แล้ว เพื่อความสบายใจว่าไม่ต้องกังวลกับช่องโหว่ของ cgi บลาๆ. แต่ล่าสุดมีเครื่องนึงที่อยากจะซูมดูกราฟของ munin แต่มันติดว่าทำไม่ได้ :'( ก็เลยลองพยายามที่จะปรับให้มันใช้ได้ดู.

ตอนแรกเจอกับ error นี้ก่อน

[Thu Aug 18 01:53:26.499378 2016] [cgi:error] [pid 27035] [client 11.22.33.44:62264] AH01215: suexec policy violation: see suexec log for more details: /var/www/cgi-bin/munin-cgi-graph
[Thu Aug 18 01:53:26.499420 2016] [cgi:error] [pid 27035] [client 11.22.33.44:62264] End of script output before headers: munin-cgi-graph

ลอง google ดูไม่ค่อยเจอวิธีแก้ปัญหาที่ตรงๆ แต่มี keyword นึงที่บอกว่าให้ลองเช็คใน log ไฟล์นี้

/var/log/httpd/suexec_log

ก็จะพบกับ log ประมาณนี้

[2016-08-18 01:52:07]: uid: (1000/webapps) gid: (1000/webapps) cmd: munin-cgi-graph
[2016-08-18 01:52:07]: target uid/gid (1000/1000) mismatch with directory (0/0) or program (0/989)

Bingo! พอเดาได้ว่าเกี่ยวกับ uid:gid ไม่ตรงเนี่ยแหละ. ก็เลยลองเปลี่ยน uid:gid ของพาท /var/www/cgi-bin และ /var/www/cgi-bin/munin* จึงเข้าใจความหมายของบรรทัดที่ 2 ว่า มันต้องการให้ uid:gid ของ directory และ ตัว program (ในที่นี้คือ munin) เป็น 1000:1000 (id 1000 ในเครื่องเซิร์ฟเวอร์ผม คือ webapps) ก็เลยเปลี่ยนเป็น 1000:1000 ดู

chown webapps:webapps /var/www/cgi-bin
chown webapps:webapps /var/www/cgi-bin/munin*

และแล้วกราฟ Dynamic zoom ก็แสดงผลตามปกติละ !

ลองไปไล่ config ของ apache ดูว่ามีตรงไหนที่เกี่ยวกับ webapps บ้าง เจอ block นี้ที่น่าจะคือสาเหตุ เพราะว่าเครื่องเซิร์ฟเวอร์ผมไม่ได้ติดตั้ง mod_ruid2 ไว้

 <IfModule !mod_ruid2.c>
 SuexecUserGroup webapps webapps
 </IfModule>

 

Leave a Reply

Your email address will not be published. Required fields are marked *