2013-03-17 15 views
17

Tôi cố gắng để làm theo một số hướng dẫn về việc bắt đầu lên apache2.2Sự khác nhau giữa httpd.conf, máy chủ ảo trong apache2, tại sao không có trong ubuntu sử dụng sudo-apt-get install

Tôi ubuntu 12.10

Tệp httpd.conf là gì và nó có giống như tệp vhost không? Nó nằm ở đâu? Tôi đã làm một 'tìm' bằng cách sử dụng dòng lệnh và nó không được tìm thấy. Điều này có nghĩa là tôi phải tạo ra nó? Hoặc điều này đã không được chấp nhận trong apache 2.2? Tôi không có Apache 2.4. Các liên kết mà tôi đã nhìn thấy tất cả dường như đề cập đến tập tin này.

http://httpd.apache.org/docs/2.2/invoking.html

Cho thấy rằng apache tọa lạc tại usr/local/apache2, nhưng khi tôi cài đặt bằng cách sử dụng công cụ apt-get, nó không được cài đặt ở đó. Đó là trong/etc/apache2, và loại đó đang ném tôi đi. Tôi có đúng thư mục không?

Tôi cũng không có httpd.conf, cũng không có thư mục conf, nhưng tôi có một conf.d, nhưng tôi chỉ gặp khó khăn khi tự định hướng. Tôi cũng tiếp tục nhìn thấy một cái gì đó như "làm cho một trang web mới" trong hướng dẫn, nhưng tôi sẽ yêu cầu nền tảng hơn kể từ khi tôi không có ý tưởng làm thế nào để làm điều đó. Là nó với một vhost? Tôi không thể tìm thấy cấu hình vhost của mình.

Cảm ơn bạn!

tốt, như một bản cập nhật, tôi đã tìm thấy một nguồn thông tin tốt: https://help.ubuntu.com/12.10/serverguide/httpd.html

tôi sẽ xóa câu hỏi của tôi, nhưng đối với bất cứ ai khác:

tập tin máy chủ ảo của bạn, trên ubuntu 12.10, nếu bạn được cài đặt bằng cách sử dụng sudo apt-get install apache2/etc/apache2/sites-available/default

Nó không được gọi là máy chủ ảo và cũng không có phần mở rộng tệp.

Guys, điều này rất khó hiểu đối với người mới. Vì vậy, nhiều tài liệu yêu cầu bạn tìm một tệp httpd.conf, nhưng thực hiện tìm// .conf đơn giản từ dòng lệnh sẽ không cung cấp cho bạn nếu bạn sử dụng sudo-apt-get install để cài đặt apache2. Nhưng nếu bạn đã tải xuống tệp .zip từ trang Apache, đột nhiên bạn nhận được mọi thứ hướng dẫn nhất. Điều này cần được giải thích rõ ràng. Có tệp httpd.conf tương đương được liệt kê trong/etc/apache2 không? Tôi nghĩ rằng nó thực sự được gọi là "mặc định"?

Dưới đây là một số liên kết rất hữu ích; Tôi sẽ giới thiệu họ qua các tài liệu chính thức cho người mới. Nó có thể giúp định hướng bạn (như nó đã làm cho tôi), và sau đó các tài liệu có thể có ý nghĩa hơn.

http://articles.slicehost.com/2010/5/19/installing-apache-on-ubuntu

http://articles.slicehost.com/2010/5/19/apache-configuration-files-on-ubuntu

+0

Nó phải nằm trong thư mục bin/conf/extra – apomene

+0

Tôi không có thư mục trong đường dẫn/bin/conf/cũng không có thư mục trong/etc/apache2/bin/ – user798719

+0

\ apache2.2.22 \ conf – apomene

Trả lời

34

Dưới đây là một số nền tảng khác, trong trường hợp nó rất hữu ích. (Điều này được bao gồm trong tài liệu bạn liên kết đến, nhưng nó kết hợp mô tả, lý do và một loạt các thông tin khác về cấu hình mặc định.)

Hệ thống cấu hình Apache trong cả Debian và Ubuntu cố gắng thiết lập mọi thứ để bạn không phải chỉnh sửa httpd.conf cơ sở. Nó đặt một loạt các giá trị mặc định mà bạn hy vọng không cần phải chạm vào. Thay vào đó, cấu hình bổ sung được chia thành nhiều thư mục tệp, tất cả đều được bao gồm từ httpd.conf.

Rất nhiều (có thể hầu hết) cấu hình Apache có máy chủ ảo, thường nhiều hơn một.Sẽ hữu ích khi có tất cả cấu hình cho một máy chủ ảo cụ thể (mọi thứ trong một khối cấu hình <VirtualHost> cụ thể) trong một tệp riêng biệt chỉ dành cho máy chủ ảo đó. Cấu hình Debian/Ubuntu lưu trữ các tệp đó trong thư mục /etc/apache2/sites-available. Lý do cho phần "có sẵn" là có một hệ thống dễ dàng kích hoạt và vô hiệu hóa các máy ảo bằng cách sử dụng các lệnh a2ensitea2dissite, tạo và loại bỏ các liên kết tượng trưng trong một thư mục /etc/apache2/sites-enabled song song mà cấu hình Apache thực sự bao gồm. Bạn không bao giờ nên chạm vào các tệp trong thư mục sites-enabled bình thường; thay vào đó, hãy chỉnh sửa hoặc tạo chúng trong sites-available và sau đó sử dụng a2ensitea2dissite để bật và tắt các máy chủ ảo cụ thể.

Để giữ cấu hình của bạn sạch sẽ và bảo trì, thường mỗi tệp cấu hình trong /etc/apache2/sites-enabled chỉ được chứa một khối <VirtualHost> (hoặc hai nếu có cổng 80 và cấu hình cổng 443 cho cùng một máy chủ). Bất kỳ cài đặt chung nào nằm ngoài bất kỳ máy chủ ảo cụ thể nào không được đi vào thư mục đó và thay vào đó, hãy chuyển thành các tệp riêng biệt trong /etc/apache2/conf.d. Bạn có thể bắt đầu bằng cách chỉnh sửa máy chủ ảo default nhưng khi bạn đi xa hơn đường dẫn của cấu hình Apache, tôi khuyên bạn nên tạo tệp mới trong sites-available được đặt tên cho máy chủ ảo thực mà bạn đang định cấu hình và chỉ sử dụng default làm mô hình (và sau đó tắt máy chủ ảo mặc định với a2dissite default).

+0

Đã hữu ích hơn nhiều so với tài liệu! – user798719

+1

#rra Tôi đã bỏ phiếu nhiều lần cho phản hồi này. Tôi đang chạy Apache/2.4.7. Và "thực hành tốt" của bạn thực sự đã giúp tôi hiểu rất nhiều. Bây giờ 2 xu của tôi. Ngoài a2ensite/a2dissite, a2enmod/a2dismod Apache đã kết hợp a2enconf/a2disconf để cho phép/vô hiệu hóa các cấu hình nằm trong thư mục được bạn đề xuất: /etc/apache2/conf.d Di chuyển tốt Apache! #rra, một lần nữa, THANKS !!! –