Câu trả lời:
Httpd.conf được thiết kế cho cấu hình người dùng. Bạn thực sự không nên chỉnh sửa apache2.conf vì nó có thể được cập nhật bởi các bản nâng cấp trong tương lai.
Một tùy chọn bổ sung là chỉ cần đặt cấu hình tùy chỉnh của bạn vào /etc/apache2/conf.d, tất cả các tệp trong thư mục này cũng được bao gồm.
Đây không phải là lựa chọn duy nhất của bạn. Trên Ubuntu / Debian, Apache cũng xử lý tất cả các tệp trong /etc/apache2/sites-enabled/
( phải là liên kết tượng trưng đến các tệp trong sites-available/
thư mục, được quản lý bởi a2ensite
và a2dissite
các chương trình)
Bạn dự định sử dụng các thư mục này cho VirtualHost
s.
apache2.conf bao gồm httpd.conf:
a@test$:/etc/apache2$ cat apache2.conf | grep httpd.conf
Include /etc/apache2/httpd.conf
Tôi nghĩ rằng httpd.conf không được dùng nữa, nhưng chỉ để lại cho những người bảo thủ để họ tìm thấy chúng ...
BIÊN TẬP:
Sau khi đọc câu trả lời của Rob, tôi đã làm một grep tốt hơn:
a@test:/etc/apache2$ grep -C 1 httpd.conf apache2.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
Cấu hình người dùng là ...
Quỹ phần mềm Apache xuất bản nhiều bit phần mềm, một trong số đó là máy chủ web có tên httpd
. Các nguồn dự án httpd bao gồm trong số những thứ khác một httpd.conf
tệp cấu hình mẫu, được cài đặt theo mặc định trong /usr/local/etc/httpd
hoặc /etc/httpd
. Bạn sẽ tìm thấy httpd được đặt tên như vậy trên hầu hết các hệ thống.
Tuy nhiên, từ rất lâu rồi, một người nào đó trong bản phân phối Debian GNU / Linux đã quyết định thay đổi tên của phần mềm trong bản phân phối đó từ httpd
thành apache2
. Do đó, trên hệ thống Debian, bạn sẽ tìm thấy một tệp cấu hình có tên apache2.conf
trong một thư mục có tên /etc/apache2
. Tôi không biết ai đã làm điều này hoặc tại sao, nhưng đó là một sự nhầm lẫn lâu năm ngang bằng với việc gọi Windows là "Microsoft" hoặc ESXi "VMware". Các bản phân phối dựa trên Debian, chẳng hạn như Ubuntu, thừa hưởng sự kỳ lạ này. Thậm chí xa lạ, sau đó chúng bao gồm một tệp /etc/apache2/httpd.conf
mà Include
từ apache2.conf
đó người dùng có thể đặt cấu hình tùy chỉnh.
Vì vậy, câu trả lời là, nếu bạn đang sử dụng hệ thống dựa trên Debian, bạn sẽ điều khiển bộ não của mình thực hiện mọi thứ theo cách mà Debian muốn bạn làm. Nếu không, bạn thường làm mọi thứ theo cách thông thường như dự án httpd ngược dòng thực hiện.
Apache 2.4
Sử dụng:
Đặt bất kỳ cấu hình tùy chỉnh trong /etc/apache2/conf-available/{name}.conf
Bật / Tắt cấu hình của bạn bằng cách sử dụng sudo a2enconf {name}
hoặc sudo a2disconf {name}
.
(Sau đó khởi động lại dịch vụ apache2.)
Đừng sử dụng:
httpd.conf
không được dùng nữa và bạn KHÔNG nên nhìn thấy nó nữa - nếu bạn làm thế, hãy để trống như đã cài đặt.
apache2.conf
vẫn được cài đặt, nhưng hãy để nó một mình nếu bạn muốn nâng cấp sạch / dễ dàng Apache.
-
Bất cứ điều gì bạn có thể thấy trong cấu hình Apache 'toàn cầu' đều có thể được thêm / ghi đè theo cấu hình tùy chỉnh của bạn như trên.
Nếu apache2.conf
không trống và httpd.conf
trống, có lẽ bạn nên sử dụng apache2.conf
;-)
Nhưng tôi cho rằng cái này bao gồm cái kia (và cái kia được giữ hoàn toàn vì lý do tương thích ngược) - vì vậy, nó không nên thay đổi nhiều.
Tuy nhiên, nếu bạn muốn thêm một cái gì đó, như một cái mới VirtualHost
: không có thư mục con nào khác, trong đó bạn có thể đặt tệp của mình và có bao gồm nó không?
Nó có thể là một giải pháp tốt hơn: bạn sẽ không sửa đổi tệp mặc định - điều này sẽ đơn giản hóa các bản cập nhật.
chỉ cần mở apache2.conf và xem nội dung:
Include /etc/apache2/mod-enabled/*.conf
Include /etc/apache2/httpd.conf
Vì vậy, nếu bạn muốn bao gồm cấu hình của riêng bạn, hãy thêm nó vào httpd.conf và apache2.conf sẽ tự động lấy nó.
Như những người khác nói, apache2.conf có thể tạo ra máy và tốt hơn hết là đừng chạm vào nó.
Để biết thêm thông tin, nói chung Ubuntu sử dụng apache2.conf và Centos sử dụng httpd.conf. Vì vậy, tất cả các tệp này phụ thuộc vào hệ điều hành bạn có.
Để tìm tên và vị trí của tệp cấu hình, bạn sẽ phải:
1) Tìm kiếm khi quá trình được gọi, trong trường hợp này làm việc với người dùng apache:
ps -ef | grep apache
(trong ví dụ này, trả về httpd
:)
2) Hiển thị các biến được sử dụng bởi nhị phân:
httpd -V | grep 'HTTPD_ROOT' && httpd -V | grep 'SERVER_CONFIG_FILE'
Trích xuất và ảnh chụp màn hình tại: http://www.sysadmit.com/2016/12/linux-apache-donde-esta-httpdconf-apache2conf.html