วันพุธที่ 19 ธันวาคม พ.ศ. 2555

Start apache2 ไม่ได้

      หลังจากที่ผมติดตั้ง Server ในขั้นต้นเสร็จ และได้ทำการปรับแต่ง Freeradius Server เสร็จ ตามด้วยการติดตั้ง Coova และตามด้วย ssl แต่เมื่อทำการ Restart apache2 ปรากฏว่า ปรากฏข้อความดังด้านล่าง

root@epst:~# /etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting (98)Address already in use: make_sock: could not bind to address [::]:443
.
root@epst:~#


       นั่นคือ มันไม่สามารถที่จะ  เริ่มการทำงาน web server ได้ ผมตรวจสอบ และแก้ไขหลายๆจุด รวมถึงการค้นใน InterNet ก็ไม่สามารถที่จะแก้ไขให้มันกลับ มาทำงานได้ ร่ำๆ จะทำการถอน apache2 แล้วทำการติดตั้งใหม่ แต่... จากประสบการณ์ที่ผมได้ใช้งาน ระบบปฏิบัติการลินุกซ์ สิ่งที่ทำให้เกิดปัญหามักมาจากการ config ที่ผิดพลาด
      มีกฏข้อในการเขียนโปรแกรมข้อหนึ่งก็คือ ถ้าคุณล้าจากการเขียนโค๊ด จงหยุด แล้วพักผ่อนให้เพียงพอ เมื่อรู้สึกว่าสมองปลอดโปร่งแล้ว ให้กลับมาทบทวนโค๊ดที่เป็นปัญหา แล้วคุณจะมองเห็นปัญหาที่เกิดขึ้น ซึ่งผมก็หยุดการแก้ไข Config ไปพักใหญ่ จนมาถึงวันนี้ ผมได้ลองทบทวนและเปรียบเทียบ กับ Config ที่ใช้งานได้ ในที่สุดผมก็พบว่า ผมเจอปัญหาของผม ซึ่ง มันก็เป็นความผิดพลาดของผมเองที่ลืมใส่เครื่องหมาย # เพื่อยกเลิกการใช้งาน ทั้งหมดทั้งสิ้นมันอยู่ที่

Listen *:80
Listen *:443
< IfModule mod_ssl.c >
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443

< /IfModule >

< IfModule mod_gnutls.c >
    Listen 443
< /IfModule >

โดยแก้ไขใหม่เป็น

Listen *:80
Listen *:443
# < IfModule mod_ssl.c >
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
#    Listen 443
#
< /IfModule >


< IfModule mod_gnutls.c >
    Listen 443

< /IfModule >

หรืออาจจะลบทั้งหมดที่เป็นตัวเอน ไปเลยก็ได้
หลังจากนั้นให้ทำการ restart apache2 ก็จะได้ผลดังด้านล่าง

root@epst:~# /etc/init.d/apache2 restart
Restarting web server: apache2.
root@epst:~#

เรียบร้อยแล้วครับ

ซึ่งแฟ้มนี้คือ /etc/apache2/ports.conf นั่นเองครับ

ไม่มีความคิดเห็น: