หลังจากติดตั้ง SSL เรียบร้อยพอถึงเที่ยงคืน Apache หยุดการทำงานดื้อๆ ซะงั้น Restart ใหม่ก็ใช้ได้ แต่ทำไมถึงหยุดการทำงานเองได้?
สาเหตุ
เจ้า DirectAdmin จะทำการ restart Apache ตอนประมาณเที่ยงคืน 10 นาที ทุกวัน เพื่อคำนวณ bandwidth ของแต่ละเว็บ ปัญหาคือตอน generate key SSL ใช้ -des3 จึงสร้าง passphrase ตั้งรหัสผ่านด้วย ทำให้เมื่อ DirectAdmin restart Apache แล้วมันต้องการ passphrase แต่ไม่มีใครกรอกให้ Apache จึงไม่สามารถ start ขึ้นมาได้
วิธีแก้ไข
มี 2 วิธี:
- ใส่ passphrase เข้าไปใน config httpd (วิธีนี้)
- สร้าง key/csr ใหม่แบบไม่ใส่
-des3แล้วเอาไป reissue certificate ใหม่
วิธีที่ 1 (แนะนำ: ทำได้เลยไม่ต้องรอ certificate ใหม่)
แก้ไขไฟล์ /etc/httpd/conf/extra/httpd-ssl.conf หาบรรทัด SSLPassPhraseDialog แล้วแก้ดังนี้:
#SSLPassPhraseDialog builtin
SSLPassPhraseDialog exec:/usr/bin/passphrase-file
จากนั้นสร้างไฟล์ /usr/bin/passphrase-file พร้อม chmod ให้รันได้:
#!/bin/sh
echo "รหัสผ่าน passphrase ของคุณ"
แล้ว restart Apache:
service httpd restart
ทีนี้ต่อไปเมื่อ DirectAdmin ทำการ restart Apache อัตโนมัติ ก็จะไม่เกิดปัญหา Apache หยุดการทำงานแล้วครับ