sviluppo-web-qa.it

Come abilito i moduli Apache dalla riga di comando in RedHat?

Come abilito i moduli Apache dalla riga di comando in RedHat?

Sui sistemi Debian/Ubuntu uso a2enmod per abilitare i moduli dalla riga di comando.

Esiste un equivalente per i sistemi di tipo RedHat/CentOS?

30
MarshallY

Non c'è equivalente.

Debian/Ubuntu macella la configurazione di Apache in un gran numero di file, dove le directory di mod e siti abilitati sono collegate ad altri frammenti di file di configurazione. Gli script a2enmod/a2ensite manipolano semplicemente questi collegamenti simbolici.

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

Sui sistemi redhat la configurazione di Apache è di default contenuta in un file /etc/httpd/conf/httpd.conf. Tutti i moduli vengono caricati da questo file e possono essere disabilitati commentando l'istruzione LoadModule appropriata.

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

Quello che RedHat/CentOS sta facendo è darti una configurazione Apache piuttosto originale, mentre debian sta aggiungendo i propri "miglioramenti". Ovviamente potresti usare il sistema di configurazione split debian come modello per crearne uno tuo e copiare gli script. Tuttavia, l'argomento principale per l'installazione di debian è che i pacchetti del modulo Apache possano installare i propri file di configurazione, quindi senza che ciò sia significativamente meno utile


Modifica: Se stai cercando un modo equivalente di creare script, ti suggerisco di usare la directory /etc/httpd/conf.d, tutti i file di configurazione qui inclusi saranno inclusi. A seconda di quanto sia complicato lo script, potrebbe avere senso scrivere direttamente i file di una riga in conf.d, oppure usare i collegamenti simbolici per bit più complicati.

27
theotherreceive

In genere, su un sistema Redhat, troverai una linea simile a questa all'interno di /etc/httpd/conf/httpd.conf:

Includi conf.d/*. Conf

Quando copi un file di configurazione in /etc/httpd/conf.d e ha un .conf estensione del file, quindi verrà prelevato ed elaborato all'avvio di Apache. In genere troverai file di configurazione per estensioni come mod_php e mod_svn e applicazioni integrate con il server web come trac, all'interno di questa cartella.

Nota a margine: per i moduli Apache come mod_php o mod_auth_mysql su altri sistemi che utilizzano RPM, come OpenSuSE, potrebbero esserci altri file di configurazione (come /etc/sysconfig/Apache2) che devono essere modificati per consentire ad Apache di raccogliere un nuovo modulo. Parte di ciò dipende dallo strumento di gestione del sistema in uso, ovvero yast2. Alcuni dipendono da prodotti aftermarket che possono essere installati, come plesk/cpanel. Tuttavia, la cartella sopra è il posto migliore per iniziare.

3
Karl Katzke
yum list mod\*

installa i moduli che desideri

per esempio mod_Perl

rpm -ql mod_Perl.x86_64 | grep /etc/

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

modificare /etc/httpd/conf.d/Perl.conf per abilitarlo

Per impostazione predefinita, tutte le mod vengono caricate quando vengono installate, se non si desidera caricare qualcuno

modifica file in /etc/httpd/conf.modules.d/02-Perl.confe commenta Carica linea con segno hash (#)

1
Sérgio

I moduli 'Abilita' sono diversi da "LoadModules" e Installa

  • Se già installato ed è offline, root l'utente può service enable httpd
  • Se i moduli e i loro file conf non sono disponibili, root l'utente può yum install -y <mod_name>
  • verifica la disponibilità con yum list mod\*
  • Se già abilitato e installato, per caricarli per utilizzare i file draft it httpd.conf o *. Conf, come
    LoadModule ldap_module modules/mod_ldap.so

  • Per verificare, se caricato correttamente e pronto per l'uso, apachectl -M

0
Raghav Tallam