web-dev-qa-db-fra.com

Comment activer les modules Apache à partir de la ligne de commande dans RedHat?

Comment activer les modules Apache à partir de la ligne de commande dans RedHat?

Sur les systèmes Debian/Ubuntu, j'utilise a2enmod pour activer les modules à partir de la ligne de commande.

Existe-t-il un équivalent pour les systèmes de type RedHat/CentOS?

30
MarshallY

Il n'y a pas d'équivalent.

Debian/Ubuntu découpe la configuration Apache dans un grand nombre de fichiers, où les répertoires des mods et des sites activés sont liés à d'autres extraits de fichiers de configuration. Les scripts a2enmod/a2ensite manipulent simplement ces liens symboliques.

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

Sur les systèmes redhat, la configuration Apache est par défaut conservée dans un fichier /etc/httpd/conf/httpd.conf. Tous les modules sont chargés à partir de ce fichier et peuvent être désactivés en mettant en commentaire l'instruction appropriée 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
...

Ce que RedHat/CentOS font est de vous donner une configuration Apache assez courante, tandis que Debian ajoute ses propres "améliorations". Vous pouvez bien sûr utiliser le système de configuration partagée Debian comme modèle pour créer le vôtre et copier les scripts. Cependant, l'argument principal pour l'installation de Debian est que les paquets du module Apache puissent installer leurs propres fichiers de configuration, donc sans cela, c'est beaucoup moins utile


Edit: Si vous cherchez une manière équivalente d'écrire ceci alors je vous suggère d'utiliser le répertoire /etc/httpd/conf.d, tous les fichiers de configuration ici seront inclus. Selon la complexité du script, il peut être judicieux d'écrire directement des fichiers d'une ligne dans conf.d ou d'utiliser des liens symboliques pour des bits plus compliqués.

27
theotherreceive

Généralement, sur un système Redhat, vous trouverez une ligne qui ressemble à ceci à l'intérieur /etc/httpd/conf/httpd.conf:

Inclure conf.d/*. Conf

Lorsque vous copiez un fichier de configuration dans /etc/httpd/conf.d, et il a un .conf extension de fichier, puis il sera récupéré et traité au démarrage d'Apache. Vous trouverez généralement des fichiers de configuration pour des extensions telles que mod_php et mod_svn, et les applications intégrées au serveur Web comme trac, dans ce dossier.

Note latérale: pour les modules Apache comme mod_php ou mod_auth_mysql sur d'autres systèmes utilisant RPM, comme OpenSuSE, il peut y avoir d'autres fichiers de configuration (comme /etc/sysconfig/Apache2) qui doivent être modifiés pour qu'Apache puisse récupérer un nouveau module. Cela dépend en partie de l'outil de gestion du système utilisé, c'est-à-dire yast2. Certains dépendent des produits du marché secondaire qui peuvent être installés, comme plesk/cpanel. Cependant, le dossier ci-dessus est le meilleur endroit pour commencer.

3
Karl Katzke
yum list mod\*

installer les modules que vous souhaitez

par exemple mod_Perl

rpm -ql mod_Perl.x86_64 | grep /etc/

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

éditer /etc/httpd/conf.d/Perl.conf pour l'activer

Par défaut, tous les mods sont chargés lorsqu'ils sont installés, si vous ne voulez pas charger quelqu'un

modifier le fichier dans /etc/httpd/conf.modules.d/02-Perl.confet commenter Ligne de chargement avec signe de hachage (#)

1
Sérgio

"Activer" les modules est différent de "LoadModules" et installer

  • Si déjà installé et hors ligne, root l'utilisateur peut service enable httpd
  • Si les modules et leurs fichiers de conf ne sont pas disponibles, alors root l'utilisateur peut yum install -y <mod_name>
  • vérifier la disponibilité avec yum list mod\*
  • S'ils sont déjà activés et installés, pour les charger pour utiliser le brouillon httpd.conf ou *. Conf fichiers, comme
    LoadModule ldap_module modules/mod_ldap.so

  • Pour vérifier, si chargé correctement et prêt à l'emploi, apachectl -M

0
Raghav Tallam