如何从RedHat的命令行启用Apache模块?

如何从RedHat的命令行启用Apache模块?

在Debian / Ubuntu系统上,我使用a2enmod从命令行启用模块。

RedHat / CentOStypes系统是否有相同的function?

没有相同的东西。

Debian / Ubuntu将apacheconfiguration切入大量文件中,其中启用的mods和站点的目录符号链接到其他configuration文件片段。 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系统上,apacheconfiguration默认保存在/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 split config系统作为你自己的模板,并复制脚本。 然而,debian设置的主要参数是这样apache模块包可以安装自己的configuration文件,所以没有那么有用


编辑:如果你正在寻找一个相当的脚本编写方式,那么我build议你使用/etc/httpd/conf.d目录,这里的任何configuration文件都会包含在内。 根据脚本的复杂程度,可以直接将一行文件写入conf.d,或者使用符号链接来处理更复杂的位。

通常,在Redhat系统上,你会在/etc/httpd/conf/httpd.conf里面find这样的一行:

 包括conf.d / *。conf 

当你将一个configuration文件复制到/etc/httpd/conf.d文件中,并且它有一个.conf文件扩展名时,它会被启动并处理。 您通常会在此文件夹中find像mod_phpmod_svn这样的扩展的configuration文件,以及与web服务器(如trac集成的应用程序。

注意:对于类似mod_phpmod_auth_mysql的其他使用RPM的系统,比如OpenSuSE,可能还有其他configuration文件(如/etc/sysconfig/apache2 )需要编辑才能让apache获取新的模块。 其中一些依赖于正在使用的系统pipe理工具,即yast2。 其中一些依赖于可以安装的售后产品,如plesk / cpanel。 但是,上面的文件夹是最好的开始。

 yum list mod\* 

安装你想要的模块

例如mod_perl

 rpm -ql mod_perl.x86_64 | grep /etc/ /etc/httpd/conf.d/perl.conf /etc/httpd/conf.modules.d/02-perl.conf 

编辑/etc/httpd/conf.d/perl.conf启用它

默认情况下,所有mod都在安装时加载,如果你不想加载某人

编辑/etc/httpd/conf.modules.d/02-perl.conf文件和注释使用散列符号加载行( #