Como eu habilito os módulos do Apache a partir da linha de comando no RedHat?

27

Como faço para ativar módulos do apache a partir da linha de comando no RedHat?

Nos sistemas Debian / Ubuntu eu uso o a2enmod para habilitar os módulos a partir da linha de comando.

Existe um equivalente para sistemas do tipo RedHat / CentOS?

    
por MarshallY 20.08.2009 / 02:14

3 respostas

23

Não há equivalente.

Debian / Ubuntu butcher a configuração do apache em um grande número de arquivos, onde diretórios de mods e sites ativados são ligados simbolicamente a outros trechos de arquivos de configuração. Os scripts a2enmod / a2ensite apenas manipulam esses links simbólicos.

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

Em sistemas redhat, a configuração do apache é, por padrão, mantida em um arquivo /etc/httpd/conf/httpd.conf. Todos os módulos são carregados a partir desse arquivo e podem ser desativados comentando a instrução LoadModule apropriada.

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

O que o RedHat / CentOS está fazendo é dar a você uma configuração bem simples, enquanto o Debian está adicionando suas próprias "melhorias". Você poderia, é claro, usar o sistema de configuração split da Debian como modelo para criar o seu próprio e copiar os scripts. No entanto, o argumento principal para a configuração do Debian é para que os pacotes do módulo apache possam instalar seus próprios arquivos de configuração, então sem isso é muito menos útil

Edit: Se você está procurando por uma maneira equivalente de criar scripts, sugiro que use o diretório /etc/httpd/conf.d, todos os arquivos de configuração aqui incluídos serão incluídos. Dependendo de quão complicado o script é, pode fazer sentido escrever diretamente arquivos de linha em conf.d, ou usar links simbólicos para bits mais complicados.

    
por 20.08.2009 / 03:02
3

Normalmente, em um sistema Redhat, você encontrará uma linha com essa aparência dentro de /etc/httpd/conf/httpd.conf :

Include conf.d/*.conf

Quando você copia um arquivo de configuração para /etc/httpd/conf.d e tem uma extensão de arquivo .conf , ele é selecionado e processado quando o apache é iniciado. Você normalmente encontrará arquivos de configuração para extensões como mod_php e mod_svn e aplicativos integrados ao servidor da Web como trac , dentro dessa pasta.

Nota: para módulos do apache como mod_php ou mod_auth_mysql em outros sistemas que usam RPM, como o OpenSuSE, pode haver outros arquivos de configuração (como /etc/sysconfig/apache2 ) que precisam ser editados para que o apache escolha um novo módulo. Parte disso depende da ferramenta de gerenciamento do sistema que está sendo usada, ou seja, yast2. Alguns deles dependem de produtos de pós-venda que podem ser instalados, como o plesk / cpanel. No entanto, a pasta acima é o melhor lugar para começar.

    
por 20.08.2009 / 03:49
0
yum list mod\*

instale módulos que você deseja

por exemplo, mod_perl

rpm -ql mod_perl.x86_64 | grep /etc/

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

edite /etc/httpd/conf.d/perl.conf para ativá-lo

Por padrão, todos os mods são carregados quando são instalados, se você não quer carregar alguém

edite o arquivo em /etc/httpd/conf.modules.d/02-perl.conf e o comentário Carregue a linha com o sinal de hash ( # )

    
por 14.06.2013 / 07:28