Cách định cấu hình Apache (trang web khả dụng so với httpd.conf)


27

Tôi đã cố gắng làm theo một vài hướng dẫn cơ bản giải thích cách khởi động và chạy Apache (trên ubfox, chạy trên Amazon). Tôi hầu như trở nên trống rỗng, bởi vì tất cả các hướng dẫn đều bảo tôi định cấu hình httpd.conf (để thêm DocumentRoot, v.v.).

Bây giờ tôi đã tình cờ tìm thấy một hướng dẫn nói với tôi rằng hãy thêm cấu hình trang web vào thư mục có sẵn của trang web (bên dưới / etc / apache), sau đó liên kết với nó từ trang web được kích hoạt. Cấu hình theo cách này dường như làm việc.

Nhưng bây giờ tôi đang bối rối - tôi phải cấu hình Apache như thế nào? Hầu hết các hướng dẫn dường như vẫn nói rằng tôi nên sử dụng httpd.conf. Tôi nên sử dụng cái nào? Có gì khác biệt? Tại sao tất cả các hướng dẫn "sai" (nếu có)?

Câu trả lời:


35

Các sites-availablephương pháp thường được coi là "Debian Way":

  • cấu hình "chính" trong /etc/apache2/apache2.conf
  • "người dùng" cấu hình trong /etc/apache2/httpd.conf
  • vhosts trong /etc/apache2/sites-availablecác tệp (thường là một cho mỗi tệp)
    • bạn có thể muốn đánh số chúng, ví dụ 00-domain.com, 01-otherdomain.com
  • cổng ( Listenchỉ thị) trong/etc/apache2/ports.conf
  • mod trong /etc/apache2/mods-available

Bạn có thể thao tác chúng bằng symlink hoặc bằng a2chuỗi lệnh:

a2ensite/a2dissite <site_config_filename>
a2enmod/a2dismod <module_name>

Tùy thuộc vào sở thích cá nhân, bạn có thể khởi động lại Apache sử dụng apachectl, /etc/init.d/apache2 (start|stop|reload|restart)hoặcservice apache2 (start|stop|reload|restart)

Ví dụ, nơi bạn sẽ sử dụng httpd.confthay vì mục vhost sẽ dành cho quy tắc chuyển hướng hoặc viết lại toàn cầu, chẳng hạn. Các mẩu tin khác - nói chung, bạn nên để apache2.confyên và đảm bảo rằng bạn thiết lập một sơ đồ đặt tên nhất quán cho các vhost trong sites-availablethư mục.


Tóm tắt tuyệt vời! Rõ ràng và súc tích hơn nhiều so với cái tôi đang làm việc. +1.
Steven Thứ Hai

2
Các trang web có sẵn cung cấp mô-đun tốt của cấu hình. Nó cho phép bạn tập trung vào cấu hình của một trang web một cách dễ dàng. Nó cũng làm cho việc so sánh các trang web trên máy chủ dễ dàng hơn hoặc di chuyển hoặc sao chép một trang web giữa các máy chủ.
BillThor

+1. Khi bạn cần duy trì các cấu hình này, hãy chuyển đến 'kích hoạt trang web' thay vì 'trang web khả dụng' và truy cập chúng trực tiếp từ đó. Bằng cách này, bạn sẽ luôn có thể xác định và truy cập các cấu hình trang web hiện đang sử dụng.
Ross

9

Vị trí và tổ chức của các tệp cấu hình có thể định cấu hình và có thể thay đổi giữa các bản phát hành chính hoặc giữa các bản phân phối.

Apache Wiki có một hướng dẫn hữu ích về tên và vị trí của các tệp cấu hình.

Vì các tệp cấu hình có thể chứa các includechỉ thị, các phần của cấu hình có thể được tách ra thành các tệp nhỏ hơn. Do một tệp cấu hình Apache tiêu chuẩn chứa nhiều bình luận và nhiều mục tiêu chuẩn, nên có ý nghĩa để tách ra các phần mà bạn có khả năng thay đổi nhất.

Tên của tệp cấu hình chính có thể được thay đổi tại thời điểm biên dịch và trong các bản phát hành gần đây, nó đã thay đổi từ httpd.confthànhapache2.conf

Trong những năm qua, đã có một số sự tiến hóa trong việc tổ chức các tệp cấu hình đi kèm.

Ví dụ: tôi đã cài đặt Apache2 trên hệ thống dựa trên Ubuntu bằng cách sử dụng apt-get install apache2- đây là các tệp được bao gồm

/etc/apache2$ ls
apache2.conf  envvars     mods-available  ports.conf       sites-enabled
conf.d        httpd.conf  mods-enabled    sites-available

/etc/apache2$ grep ^Include apache2.conf
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Include /etc/apache2/httpd.conf
Include /etc/apache2/ports.conf
Include /etc/apache2/conf.d/
Include /etc/apache2/sites-enabled/ 

/etc/apache2$ ls -l sites-enabled
total 0
lrwxrwxrwx 1 root root 26 Dec 26 12:30 000-default -> ../sites-available/default

Vì vậy, một vài cài đặt cấu hình mà bạn có khả năng sẽ quan tâm nhất hiện nay /etc/apache2/sites-available/default.

Tôi có thể thấy rằng điều này phù hợp với tài liệu Ubuntu cho Apache mà tôi khuyên bạn nên đọc trước. Nếu bạn có tài liệu khác cho các phiên bản cũ hơn của Apache (hoặc các bản phân phối khác), bạn có thể điều chỉnh thông tin đó cho phù hợp với cách mọi thứ được tổ chức trong Ubuntu.


-2

Apache trong linux có thể được cài đặt theo hai loại. một là bởi apt-get và các tệp tar tải xuống khác và giải nén .... Do đó, trong các trang web quy trình apt-get được cung cấp từ thư mục hỗ trợ / etc / apache2 / site vì mỗi trang web phục vụ thế giới bên ngoài được định cấu hình trong các thư mục này bởi ví dụ tập tin .conf 000-default.conf là một trang mặc định được kích hoạt để hiển thị công việc apache.

do đó bằng cách tạo bất kỳ tệp .conf nào trong trang web được kích hoạt và hướng nó đến vị trí của nội dung .. trang web này được cung cấp.

Vì vậy, để thêm một trang web tĩnh mới, một tệp .conf mới phải được tạo trong thư mục hỗ trợ trang web với ví dụ như ví dụ về ví dụ. và phải thêm các dòng dưới đây vào nó

Quản trị trang web ServerAdmin @ localhost DocumentRoot / var / www / html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log kết hợp

Trong đó, *: 80 biểu thị "mở ra thế giới thông qua cổng 80" DocumentRoot / var / www / html chỉ ra "đường dẫn của nội dung trang web"


Điều này sai và sai. Bạn tạo các tệp của mình trong các trang có sẵn để các công cụ (được khuyến nghị) như a2ensite có thể hoạt động. Thông thường, bạn liên kết các tệp conf này bằng cách sử dụng a2ensite vào các trang web được kích hoạt. apt-get không có gì để làm với việc định cấu hình trang web của bạn.
HörmannHH
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.