คำสั่งเพื่อตรวจสอบความถูกต้องของไฟล์กำหนดค่าเซิร์ฟเวอร์ Apache


152

ฉันกำลังมองหาคำสั่งที่ตรวจสอบความถูกต้องของไฟล์กำหนดค่าในเซิร์ฟเวอร์ apache ทั้ง distros Debian และ RHEL ฉันต้องทำก่อนที่จะรีสตาร์ทจึงจะไม่มีการหยุดทำงาน

คำตอบ:


223

ตรวจสอบ: http://httpd.apache.org/docs/2.2/programs/apachectl.html

apachectl configtest

ฉันได้รับข้อความนี้เรียกใช้คำสั่งดังกล่าวAH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
— Ciasto piekarz

เพิ่มบรรทัด "ServerName whateveryoulike" ในการกำหนดค่า apache ของคุณ แทนที่ whateveryoulike ด้วยสิ่งที่คุณต้องการตั้งชื่อเซิร์ฟเวอร์ของคุณ
— หลุม

1
อาจต้องใช้ sudo?
— Miguel

36

httpd -tอีกวิธีหนึ่งคือ ดังนั้นจึงมีอยู่ใน Apache รุ่น Windows ตรวจสอบhttp://httpd.apache.org/docs/2.4/programs/httpd.html


ผิดปกติบน Ubuntu เมื่อฉันเรียกใช้apachectl configtestฉันได้รับSyntax OKแต่เมื่อฉันเรียกใช้apache2 -tฉันได้รับAH00526: Syntax error on line 74 of /etc/apache2/apache2.conf(ท่ามกลางข้อผิดพลาดอื่น ๆ )
— Buttle Butkus

6

apachectl configtestเป็นคำตอบที่ถูกต้อง น่าเสียดายที่ฉันมีการติดตั้ง windows ซึ่ง apachectl หายไป ที่นี่โทรhttpdยังช่วย


1

การทดสอบการกำหนดค่า Apache ( apachectl configtestหรือเทียบเท่า) ทดสอบเฉพาะไฟล์กำหนดค่า (และไฟล์ที่รวมไว้ซ้ำ ๆ ) สำหรับไวยากรณ์ที่ถูกต้อง อย่างไรก็ตามคำถามเดิมขอให้ป้องกันการหยุดทำงาน แม้ว่าเมื่อapachectl configtestไม่ได้ส่งคืนข้อผิดพลาดการเริ่มต้นใหม่อาจยังคงล้มเหลวทำให้หยุดทำงาน

สาเหตุทั่วไปสำหรับความล้มเหลวดังกล่าวรวมถึงใบรับรอง SSL ที่หายไปหรือไม่สามารถเข้าถึงไดเรกทอรีที่ขาดหายไปสำหรับไฟล์บันทึกหรือไดเรกทอรีรากของเว็บไซต์ที่ขาดหายไป บ่อยครั้งที่ข้อผิดพลาดดังกล่าวเกิดจากการลบไดเรกทอรีของ vhost โดยไม่ลบไฟล์ vhost Apache config ขอแนะนำอย่างยิ่งให้ใช้เครื่องมือเช่นหุ่นเชิดหรือสัตว์ที่ไม่สามารถป้องกันได้เพื่อป้องกันความไม่สอดคล้องดังกล่าว

เมื่อเห็นว่าคำถามนี้เป็นที่นิยมอันดับหนึ่งเมื่อ googling "apache config lint" ฉันคิดว่าฉันจะพูดถึงรายละเอียดเล็ก ๆ น้อย ๆ นี้ ...

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.