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


29

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?

Risposte:


27

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 solo 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 bella configurazione di stock apache, 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.


Quindi cosa devo fare nei miei nuovi script di build del server? follia pazzo / sed? Creare i miei file di configurazione e copiarli in posizione? Nessuna di queste opzioni sembra allettante.
MarshallY,

1
Non sono sicuro del motivo per cui tutti stanno danneggiando la tua risposta; descrive correttamente perché non si possono trovare gli script a2enmod in Red Hat-simili. Personalmente, il mio piano è usare un pupazzo per gestire un layout simile sulle mie scatole RHEL.
Chad Huneycutt,

1
@womble - Penso che debian abbia portato troppo lontano le cose dei piccoli file, avendo un intero file solo per impostare su quali porte Apache dovrebbe ascoltare ad esempio, e penso che gli script di shell solo per creare un collegamento simbolico siano anche un passo troppo avanti - per il punto in cui confondono gli utenti che non comprendono come funzionano effettivamente i loro file di configurazione. Non lo definirei così amaro.
theotherreceive

Dieci anni dopo, su RHEL / CentOS 7, devi fare il check-in/etc/httpd/conf.modules.d
cdmo

3

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

Includi conf.d / *. Conf

Quando copi un file di configurazione /etc/httpd/conf.de ha .confun'estensione di file, verrà raccolto ed elaborato all'avvio di apache. Potrai trovare in genere i file di configurazione per le estensioni, come mod_phpe mod_svn, e le applicazioni che sono integrati con il server web come trac, all'interno di questa cartella.

Nota a margine : per moduli Apache come mod_phpo mod_auth_mysqlsu 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. Alcuni di questi dipendono dallo strumento di gestione del sistema utilizzato, ovvero yast2. Alcuni dipendono da prodotti aftermarket che possono essere installati, come plesk / cpanel. Tuttavia, la cartella sopra è il posto migliore per iniziare.


Per chiunque lavori con Fedora 21 (e forse altre versioni o altre distribuzioni della famiglia RH) il caricamento del modulo è stato spostato in una nuova directory chiamata /etc/httpd/conf.modules.d/. In questo caso vedrai la seguente riga nel tuo httpd.conf Include conf.modules.d/*.conf.
Nottambulo

1
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

modifica /etc/httpd/conf.d/perl.confper abilitarlo

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

modifica il file /etc/httpd/conf.modules.d/02-perl.confe commenta Carica riga con segno hash ( #)


Questa è la risposta perfetta alla domanda. 'Abilita' è diverso da 'LoadModule'.
Raghav Tallam,

0

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

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

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.