Làm cách nào để kích hoạt các mô-đun apache từ dòng lệnh trong RedHat?


29

Làm cách nào để kích hoạt các mô-đun apache từ dòng lệnh trong RedHat?

Trên các hệ thống Debian / Ubuntu, tôi sử dụng a2enmod để kích hoạt các mô-đun từ dòng lệnh.

Có tương đương với các hệ thống loại RedHat / CentOS không?

Câu trả lời:


27

Không có tương đương.

Debian / Ubuntu bán cấu hình apache thành một số lượng lớn tệp, trong đó các thư mục của mod và trang web được bật được liên kết với các đoạn khác của tệp cấu hình. Các tập lệnh a2enmod / a2ensite chỉ thao tác các liên kết tượng trưng này.

debian$ ls /etc/apache2/mods-enabled 
lrwxrwxrwx 1 root root 28 2009-03-12 18:02 alias.conf -> ../mods-available/alias.conf
lrwxrwxrwx 1 root root 28 2009-03-12 18:02 alias.load -> ../mods-available/alias.load
lrwxrwxrwx 1 root root 33 2009-03-12 18:02 auth_basic.load -> ../mods-available/auth_basic.load
lrwxrwxrwx 1 root root 33 2009-03-12 18:02 authn_file.load -> ../mods-available/authn_file.load
lrwxrwxrwx 1 root root 36 2009-03-12 18:02 authz_default.load -> ../mods-available/autoindex.load
lrwxrwxrwx 1 root root 26 2009-03-12 18:02 env.load -> ../mods-available/env.load
lrwxrwxrwx 1 root root 27 2009-03-12 18:02 mime.conf -> ../mods-available/mime.conf
lrwxrwxrwx 1 root root 27 2009-03-12 18:02 mime.load -> ../mods-available/mime.load
lrwxrwxrwx 1 root root 34 2009-03-12 18:02 negotiation.conf -> ../mods-available/negotiation.conf
lrwxrwxrwx 1 root root 34 2009-03-12 18:02 negotiation.load -> ../mods-available/negotiation.load
lrwxrwxrwx 1 root root 27 2009-06-16 21:47 php5.conf -> ../mods-available/php5.conf
lrwxrwxrwx 1 root root 27 2009-06-16 21:47 php5.load -> ../mods-available/php5.load

Trên các hệ thống redhat, cấu hình apache theo mặc định được giữ trong một tệp /etc/httpd/conf/httpd.conf. Tất cả các mô-đun được tải từ tệp này và có thể bị vô hiệu hóa bằng cách nhận xét câu lệnh LoadModule phù hợp.

...
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
...

Những gì RedHat / CentOS đang làm là cung cấp cho bạn một thiết lập apache cổ phiếu đẹp, trong khi debian đang thêm "cải tiến" của riêng họ. Tất nhiên bạn có thể sử dụng hệ thống cấu hình phân chia debian làm mẫu để tạo riêng cho mình và sao chép các tập lệnh. Tuy nhiên, đối số chính cho thiết lập debian là để các gói mô-đun apache có thể cài đặt các tệp cấu hình của riêng chúng, do đó, nó không hữu ích hơn đáng kể


Chỉnh sửa: Nếu bạn đang tìm kiếm một cách tương đương cho kịch bản này thì tôi khuyên bạn nên sử dụng thư mục /etc/httpd/conf.d, mọi tệp cấu hình trong đây sẽ được đưa vào. Tùy thuộc vào mức độ phức tạp của tập lệnh, có thể có ý nghĩa khi ghi trực tiếp một tệp dòng vào conf.d hoặc sử dụng các liên kết tượng trưng cho các bit phức tạp hơn.


Vì vậy, tôi phải làm gì trong các tập lệnh xây dựng máy chủ mới của tôi? awk / sed craziness? Tạo tập tin cấu hình của riêng tôi và sao chép chúng vào vị trí? Không có tùy chọn nào trong số này có vẻ hấp dẫn.
MarshallY

1
Tôi không chắc tại sao mọi người lại đọc câu trả lời của bạn; nó mô tả chính xác lý do tại sao người ta sẽ không tìm thấy các tập lệnh a2enmod trong Red Hat-alike. Cá nhân, kế hoạch của tôi là sử dụng con rối để quản lý một bố cục tương tự trên các hộp RHEL của tôi.
Chad Huneycutt

1
@womble - Tôi nghĩ rằng debian đã đưa các công cụ tệp nhỏ đi quá xa, có toàn bộ tệp để chỉ cài đặt những gì apache cổng nên nghe, và tôi nghĩ rằng các kịch bản shell chỉ để tạo một liên kết tượng trưng cũng là một bước quá xa - điểm khiến họ nhầm lẫn những người dùng không hiểu cách thức tập tin cấu hình của họ thực sự hoạt động. Tôi sẽ không gọi đó là cay đắng.
theotherreceive

Mười năm sau bình luận, ít nhất là trên RHEL / CentOS 7, bạn cần đăng ký/etc/httpd/conf.modules.d
cdmo

3

Thông thường, trên hệ thống Redhat, bạn sẽ tìm thấy một dòng trông như thế này bên trong /etc/httpd/conf/httpd.conf:

Bao gồm conf.d / *. Conf

Khi bạn sao chép một tệp cấu hình vào /etc/httpd/conf.dvà nó có .confphần mở rộng tệp, thì nó sẽ được chọn và xử lý khi apache bắt đầu. Thông thường bạn sẽ tìm thấy các tệp cấu hình cho các tiện ích mở rộng như mod_phpmod_svnvà các ứng dụng được tích hợp với máy chủ web như tractrong thư mục này.

Lưu ý bên lề: đối với các mô-đun apache như mod_phphoặc mod_auth_mysqltrên các hệ thống khác sử dụng RPM, như OpenSuSE, có thể có các tệp cấu hình khác (như /etc/sysconfig/apache2) cần được chỉnh sửa để apache chọn mô-đun mới. Một số điều này phụ thuộc vào công cụ quản lý hệ thống đang được sử dụng, tức là yast2. Một số phụ thuộc vào các sản phẩm hậu mãi có thể được cài đặt, như plesk / cpanel. Tuy nhiên, thư mục trên là nơi tốt nhất để bắt đầu.


Đối với bất kỳ ai làm việc với Fedora 21 (và có thể các phiên bản khác hoặc các bản phân phối khác của gia đình RH), việc tải mô-đun đã được chuyển sang một thư mục mới có tên /etc/httpd/conf.modules.d/. Bạn sẽ thấy dòng sau trong httpd.conf của bạn Include conf.modules.d/*.confnếu đó là trường hợp.
Cú đêm

1
yum list mod\*

cài đặt các mô-đun mà bạn muốn

ví dụ mod_perl

rpm -ql mod_perl.x86_64 | grep /etc/

/etc/httpd/conf.d/perl.conf
/etc/httpd/conf.modules.d/02-perl.conf

chỉnh sửa /etc/httpd/conf.d/perl.confđể kích hoạt nó

Theo mặc định, tất cả các mod được tải khi được cài đặt, nếu bạn không muốn tải ai đó

chỉnh sửa tập tin trong /etc/httpd/conf.modules.d/02-perl.confvà nhận xét Tải dòng với dấu băm ( #)


Đây là câu trả lời hoàn hảo cho Câu hỏi. 'Kích hoạt' khác với 'LoadModule'.
Raghav Tallam

0

Các mô-đun 'Kích hoạt' khác với "LoadModules" và Cài đặt

  • Nếu đã được cài đặt và ngoại tuyến, người dùng root có thểservice enable httpd
  • Nếu các mô-đun và tệp conf của chúng không có sẵn thì người dùng root có thểyum install -y <mod_name>
  • kiểm tra phòng trống với yum list mod\*
  • Nếu đã được kích hoạt và cài đặt, để tải chúng để sử dụng các tệp dự thảo httpd.conf hoặc * .conf , như
    LoadModule ldap_module modules/mod_ldap.so

  • Để xác minh, nếu được tải chính xác và sẵn sàng sử dụng, apachectl -M

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.