ลูกค้าปลุกมากลางดึก :026: นอนไม่หลับเลยเอามาเล่าสู่กันฟังครับ
ลูกค้าโทรมาแจ้งว่าหน้าเว็บทั้งหมดบนเครื่อง ไม่สามารถเข้าใช้งานได้
เข้าไปเช็คดู พอสั่ง start httpd จะขึ้น error ว่า
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
สาเหตุน่าจะเกิดจากมีการใช้งาน port 80 อยู่แล้ว จึงไม่สามารถ start httpd ซึ่งใช้งาน port เดียวกันได้
วิธีแก้ไข
- netstat -ln | grep :80 ดูพบว่ามี perl script รันบน port80 อยู่
- kill -9 [pid ของ pl]
- find -name *.pl ไล่เช็คว่ามี perl อะไรแปลกๆอยู่บ้าง
- rm -rf [perlนั้นๆ]
- /etc/init.d/httpd start ดูสามารถใช้งานได้เรียบร้อย
เดาว่าน่าจะโดนมาจาก FTP เข้ามาวางไฟล์ -> สั่งรัน .pl -> ลบไฟล์ออก หรือไม่ก็อาจเป็นช่องโหว่ของ DA เพราะลูกค้าไม่ได้ update version มานานมาก
สุดท้ายเลยเปลี่ยน pass FTP + Update DA ไปเรียบร้อยครับ
จบแล้ว ฝันดีทุกท่าน :5c745924: