Apache-2.2

如何從 RedHat 的命令行啟用 apache 模組?

  • March 1, 2020

如何從 RedHat 的命令行啟用 apache 模組?

在 Debian/Ubuntu 系統上,我使用 a2enmod 從命令行啟用模組。

RedHat/CentOS 類型系統是否有等價物?

沒有等價物。

Debian/Ubuntu 將 apache 配置打包成大量文件,其中啟用的 mods 和站點目錄與其他配置文件片段進行符號連結。a2enmod/a2ensite 腳本只是操縱這些符號連結。

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

在 redhat 系統上,apache 配置預設保存在一個文件 /etc/httpd/conf/httpd.conf 中。所有模組都從此文件載入,並且可以通過註釋掉適當的 LoadModule 語句來禁用。

...
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
...

RedHat/CentOS 正在做的是給你一個漂亮的 apache 設置,而 debian 正在添加他們自己的“改進”。您當然可以使用 debian 拆分配置系統作為模板來製作自己的模板,然後複製腳本。但是,debian 設置的主要參數是讓 apache 模組包可以安裝自己的配置文件,因此沒有它的用處會大大降低


**編輯:**如果您正在尋找一種等效的腳本編寫方式,那麼我建議您使用 /etc/httpd/conf.d 目錄,此處將包含任何配置文件。根據腳本的複雜程度,直接將一行文件寫入 conf.d 或使用符號連結獲取更複雜的位可能是有意義的。

引用自:https://serverfault.com/questions/56394