Mất tập tin httpd.conf nằm ở apache [đã đóng]


510

Làm thế nào tôi có thể tìm thấy nơi httpd.conftập tin của tôi được đặt?

Tôi đang chạy một máy chủ Ubuntu Linux từ Amazon Web Services EC2 (Điện toán đám mây đàn hồi) và tôi không thể tìm thấy cấu hình Apache của mình.


2
Bạn đang sử dụng hệ điều hành nào? Bạn đã cài đặt Apache như thế nào? Phiên bản nào của Apache bạn đang chạy? Đây là tất cả những điều mà bạn nên bao gồm khi điều này được di chuyển đúng nơi (có thể là SeverFault).
gpojd

63
Không nên chuyển nó sang superuser.com thay vì đóng cửa?
trejder

34
Đây là một cách nhanh chóng:find / -name httpd.conf
prograhammer

15
Đối với mũ đỏ, thường là: /etc/httpd/conf/httpd.conf access.redhat.com/documentation/en-US/Red_Hat_ Entryprise_Linux / giả
danwild

2
Đây là một cách nhanh chóng khác:locate httpd.conf
Sudip Bhandari

Câu trả lời:


649

Nhận đường chạy Apache

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

Nối -Vđối số vào đường dẫn

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

Tham khảo:
http://commanigy.com/blog/2011/6/8/finding-apache-configuration-file-httpd-conf-location


196
Trong một số hệ điều hành, bạn sẽ nhận được đường dẫn tương đối của tệp conf: -D ​​SERVER_CONFIG_FILE = "apache2.conf" Bạn có thể chạy "/ usr / sbin / apache2 -V | grep HTTPD_ROOT" để tìm root. Đầu ra: "-D HTTPD_ROOT =" / etc / apache2 / apache2.conf "Đường dẫn tuyệt đối sẽ là:" /etc/apache2/apache2.conf "
Mayank Jaiswal

6
Không hoạt động trên máy chủ được chia sẻ của tôi vì ps chỉ hiển thị các tác vụ đang chạy như tôi. Tôi đã phải thử chạy "httpd -V" và "apache2ctl -V" như Rich Bower gợi ý.
John Pankowicz

6
Tôi đang sử dụng Ubuntu 14.04 với Apache2 và sudo /usr/sbin/apache2 -V | grep SERVER_CONFIG_FILEđưa ra một số lỗi cảnh báo Invalid Mutex directoryvì vậy lệnh đúng tôi đã sử dụng làsudo apachectl -V | grep SERVER_CONFIG_FILE
NineCattoRules

4
Không hoạt động với tôi trên Ubuntu 16.04. Nó chỉ trả về PID của grep.
posfan12

210

Xem http://wiki.apache.org/httpd/DistrosDefaultLayout để thảo luận về nơi bạn có thể tìm thấy các tệp cấu hình Apache httpd trên các nền tảng khác nhau, vì điều này có thể thay đổi từ phát hành đến phát hành và nền tảng cho nền tảng. Tuy nhiên, câu trả lời phổ biến nhất là / etc / apache / conf hoặc / etc / httpd / conf

Nhìn chung, bạn có thể xác định câu trả lời bằng cách chạy lệnh:

httpd -V

(Đó là một thủ đô V). Hoặc, trên các hệ thống mà httpd được đổi tên, có lẽapache2ctl -V

Điều này sẽ trả về các chi tiết khác nhau về cách httpd được xây dựng và định cấu hình, bao gồm cả vị trí mặc định của tệp cấu hình chính.

Một trong những dòng đầu ra sẽ giống như:

-D SERVER_CONFIG_FILE = "conf / httpd.conf"

trong đó, kết hợp với dòng:

-D HTTPD_ROOT = "/ etc / httpd"

sẽ cung cấp cho bạn đường dẫn đầy đủ đến vị trí mặc định của tệp cấu hình


14
Đối với tôi, những gì làm việc là apache2ctl -Vlệnh và tìm kiếm đường dẫn trong những gì được liệt kê sau.
jamescampbell

1
vâng, apache2ctlkhông được đổi tên phiên bản httpd, đó là tên gọi khác nhau của cùng một aplication trên Debian- và hệ điều hành RedHat dựa trên tương ứng
vladkras

5
Tôi nhận the command httpdđược không được tìm thấy.
Đen

1
Hãy thử "apachectl -V" nếu "httpd -V" không hoạt động
Somnath Pawar

2
Trên Ubuntu, bạn có thể có tệp apache2.conf chứ không phải tệp httpd.conf. Bạn có thể tìm thấy tệp được liệt kê trong thư mục / etc / apache2
prasoon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.