Bạn có thể xác định mô-đun Apache nào đã được sử dụng và có thể được gỡ bỏ không?


18

Tôi, giống như nhiều người, có một bản cài đặt Apache tương đối độc đáo với rất nhiều dòng "LoadModule" mặc định.

Ngay từ đầu, tôi đã cài đặt rất nhiều phần mềm và thành thật mà nói, tôi không biết phần mềm nào đang sử dụng mô-đun nào.

Tôi muốn giảm dung lượng bộ nhớ của các cá thể Apache của tôi và để làm điều đó, tôi muốn xóa các mô-đun khỏi sử dụng. Cách duy nhất mà tôi biết để xác định xem một mô-đun đang sử dụng là loại bỏ nó khỏi cấu hình và xem có gì bị hỏng không. Điều này là xấu theo nhiều cách hơn tôi có thời gian để mô tả.

Tôi muốn biết liệu có ai biết cách để Apache báo cáo mô-đun nào đã được sử dụng không , hoặc nếu có một cách khác để lập trình xác định liệu mô-đun có an toàn để hủy cấu hình hay không .

Câu trả lời:


7

Cách tôi đã làm là xây dựng một máy chủ thử nghiệm, đọc tài liệu và bắt đầu từ một trang trống.

Các mô-đun sau là bắt buộc:

  • cốt lõi
  • mod_authz_host
  • mod_auth_basic
  • mod_authn_file
  • mod_dir
  • mod_log_config
  • mod_mime

Sau đó, tôi nhận xét tất cả các mô-đun còn lại và khởi động lại Apache. Nó sẽ phát ra âm thanh nếu một cái gì đó phá vỡ, ví dụ:

Starting httpd: Syntax error on line 10 of /etc/httpd/conf.d/squid.conf:
Invalid command 'order', perhaps misspelled or defined by a module not included in the server configuration

Làm tương tự với các mô-đun khác. Bằng cách sử dụng phương pháp này, đây là một số mô-đun thường không cần thiết:

  • mod_authn_alias
  • mod_authn_anon
  • mod_authn_dbm
  • mod_authn_default

  • mod_authz_user
  • mod_authz_owner
  • mod_authz_groupfile
  • mod_authz_dbm
  • mod_authz_default

  • mod_incolee
  • mod_logio
  • mod_ext_filter
  • mod_usertrack
  • mod_dav
  • mod_info
  • mod_dav_fs
  • sửa đổi
  • mod_suexec
  • mod_cgi

Nếu bạn không sử dụng LDAP để xác thực, điều này có thể bị tắt:

  • mod_ldap
  • mod_authnz_ldap

Các mô-đun dưới đây nên được xem xét khi kích hoạt:

  • mod_proxy
  • mod_proxy_balancer
  • mod_proxy_ftp
  • mod_proxy_http
  • mod_proxy_connect

  • mod_cache
  • mod_disk_cache
  • mod_file_cache
  • mod_mem_cache

3
Làm thế nào mà trả lời câu hỏi đã được hỏi?
John Gardeniers

Ý anh là gì?
lượng tử

4
Mặc dù tôi thích câu trả lời của bạn, OP đang tìm kiếm một số công cụ, đối số dòng lệnh hoặc trình xử lý sẽ cho bạn biết các mô-đun nào an toàn để xóa, có lẽ là khi chạy chống lại hoặc trong khi kiểm tra các tệp cấu hình của máy chủ trực tiếp.
mahnsc

4

Một bài viết trước đó đề nghị vô hiệu hóa các mô-đun cho đến khi một cái gì đó phá vỡ. Mặc dù điều đó chắc chắn là điên rồ trong một hệ thống sản xuất, nhưng người đó là con đường đúng đắn, vì dù sao bạn cũng sẽ cần phải thực hiện kiểm tra hồi quy.

Vì vậy, trong trường hợp này:

  1. Xây dựng một máy chủ thử nghiệm giống hệt với máy chủ bạn đang chạy, ngay đến cấu hình trang web
  2. Vô hiệu hóa một mô-đun.
  3. Thực hiện kiểm tra hồi quy trên các trang web.
  4. Lặp lại bước 2 và 3 cho đến khi một cái gì đó bị hỏng hoặc bạn đã hoàn thành tất cả các mô-đun.
  5. Kích hoạt lại mô-đun.
  6. Lặp lại bước 2 và 3.
  7. Với apache mới được cập nhật, thực hiện cắt flash cấu hình trên cấu hình và khởi động lại dịch vụ apache.
  8. Nếu thất bại, hoàn nguyên bồn tắm cấu hình, kéo nhật ký, phân tích và bắt đầu từ bước 2 (hoặc bước 1 nếu cần).

Đó có lẽ là cách dễ nhất để hợp lý hóa cấu hình Apache. Nếu không, bạn sẽ phải xem từng mô-đun, xác định chức năng của nó và tìm kiếm thông qua các trang web để xem cái nào sử dụng chức năng đó. Điều đó sẽ mất nhiều thời gian hơn.

Ngoài ra, điều này có thể cung cấp cho bạn một cơ hội tốt để chuyển sang một cái gì đó nhẹ hơn :


0

Tôi không có câu trả lời trực tiếp cho câu hỏi của bạn, nhưng có rất nhiều gói AMP 'nhỏ' trên internet mà theo như tôi biết, không bao gồm hầu hết các mô-đun được cài đặt sẵn. Vì vậy, tôi sẽ bắt đầu với việc xem chúng như một tài liệu tham khảo.

2 liên kết này có thể giúp bạn bắt đầu:

  1. http://en.wikipedia.org/wiki/List_of_Apache%E2%80%93MyQuery%E2%80%93PHP_packages
  2. http://en.wikipedia.org/wiki/Comparison_of_WAMPs

0

Tôi biết bạn đang hỏi về Apache, nhưng với các hạn chế về bộ nhớ trên hệ thống của bạn, bạn có thể được phục vụ tốt hơn nhiều bằng cách hoán đổi Apache cho Nginx, Lighthttpd hoặc các máy chủ web có dấu chân thấp khác. Apache rất tốt cho hỗ trợ mô-đun nhưng rất ngốn bộ nhớ so với các máy chủ web trẻ hơn như Nginx, Lighthttpd, Cherokee, G-WAN, v.v.

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.