ไฟล์ httpd.conf หายไปตำแหน่ง apache [ปิด]


510

ฉันจะหาhttpd.confไฟล์ของฉันได้ที่ไหน?

ฉันใช้เซิร์ฟเวอร์ Ubuntu Linux จาก Amazon Web Services EC2 (Elastic Compute Cloud) และฉันไม่พบ Apache config ของฉัน


2
คุณใช้ระบบปฏิบัติการใดอยู่ คุณติดตั้ง Apache ได้อย่างไร Apache รุ่นใดที่คุณใช้อยู่ สิ่งเหล่านี้คือทุกสิ่งที่คุณควรรวมไว้เมื่อสิ่งนี้ถูกย้ายไปในตำแหน่งที่ถูกต้อง (อาจเป็น SeverFault)
gpojd

63
ไม่ควรย้ายข้อมูลนี้ไปยัง superuser.com แทนที่จะปิดหรือไม่
trejder

34
นี่เป็นวิธีที่รวดเร็ว:find / -name httpd.conf
prograhammer

15
สำหรับหมวกสีแดงโดยปกติแล้ว: /etc/httpd/conf/httpd.conf access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…
danwild

2
นี่เป็นอีกวิธีที่รวดเร็ว:locate httpd.conf
Sudip Bhandari

คำตอบ:


649

รับเส้นทางการใช้งาน Apache

$ ps -ef | grep apache
apache   12846 14590  0 Oct20 ?        00:00:00 /usr/sbin/apache2

ผนวก-Vอาร์กิวเมนต์เข้ากับพา ธ

$ /usr/sbin/apache2 -V | grep SERVER_CONFIG_FILE
-D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"

ข้อมูลอ้างอิง:
http://commanigy.com/blog/2011/6/8/finding-apache-configuration-file-httpd-conf-location


196
ในระบบปฏิบัติการบางระบบคุณจะได้รับเส้นทางสัมพัทธ์ของไฟล์ conf: -D ​​SERVER_CONFIG_FILE = "apache2.conf" คุณสามารถเรียกใช้ "/ usr / sbin / apache2 -V | grep HTTPD_ROOT" เพื่อค้นหาราก เอาท์พุท: "-D HTTPD_ROOT =" / etc / apache2 / apache2.conf "เส้นทางที่แน่นอนจะเป็นแล้ว:" /etc/apache2/apache2.conf "
Mayank Jaiswal

6
ไม่ทำงานบนโฮสต์ที่ใช้ร่วมกันของฉันเนื่องจาก ps แสดงเฉพาะงานที่ทำงานเป็นฉันเท่านั้น ฉันต้องลองใช้ "httpd -V" และ "apache2ctl -V" ตามที่ Rich Bower แนะนำ
John Pankowicz

6
ฉันใช้ Ubuntu 14.04 กับ Apache2 และsudo /usr/sbin/apache2 -V | grep SERVER_CONFIG_FILEแจ้งข้อผิดพลาดให้ฉันInvalid Mutex directoryดังนั้นคำสั่งที่ถูกต้องที่ฉันใช้คือsudo apachectl -V | grep SERVER_CONFIG_FILE
NineCattoRules

4
ไม่ได้ผลสำหรับฉันบน Ubuntu 16.04 มันแค่คืนค่า PID ของ grep
posfan12

210

ดูhttp://wiki.apache.org/httpd/DistrosDefaultLayoutสำหรับการสนทนาที่คุณอาจพบ Apache httpd ไฟล์การกำหนดค่าบนแพลตฟอร์มต่างๆเนื่องจากอาจแตกต่างจากรุ่นสู่รุ่นและแพลตฟอร์มไปยังแพลตฟอร์ม อย่างไรก็ตามคำตอบที่พบบ่อยที่สุดคือ / etc / apache / conf หรือ / etc / httpd / conf

โดยทั่วไปคุณสามารถกำหนดคำตอบได้ด้วยการรันคำสั่ง:

httpd -V

(นั่นคือทุน V) หรือบนระบบที่ httpd ถูกเปลี่ยนชื่อบางทีapache2ctl -V

สิ่งนี้จะส่งกลับรายละเอียดต่าง ๆ เกี่ยวกับวิธีสร้างและกำหนดค่า httpd รวมถึงตำแหน่งเริ่มต้นของไฟล์กำหนดค่าหลัก

หนึ่งในบรรทัดของเอาต์พุตควรมีลักษณะดังนี้:

-D SERVER_CONFIG_FILE = "conf / httpd.conf"

ซึ่งรวมกับบรรทัด:

-D HTTPD_ROOT = "/ etc / httpd"

จะให้เส้นทางแบบเต็มไปยังตำแหน่งเริ่มต้นของไฟล์กำหนดค่า


14
สำหรับฉันสิ่งที่ทำงานคือapache2ctl -Vคำสั่งและมองหาเส้นทางในสิ่งที่ระบุไว้หลังจาก
jamescampbell

1
ใช่apache2ctlไม่ได้เปลี่ยนชื่อรุ่นhttpdมันเป็นชื่อที่แตกต่างกันของ aplication เดียวกันบนDebian- และ RedHat-based OSตามลำดับ
vladkras

5
ฉันthe command httpdไม่พบ
Black

1
ลองใช้ "apachectl -V" ถ้า "httpd -V" ไม่ทำงาน
Somnath Pawar

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