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?
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.
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.
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.conf
et commenter Ligne de chargement avec signe de hachage (#
)
"Activer" les modules est différent de "LoadModules" et installer
service enable httpd
yum install -y <mod_name>
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, commeLoadModule ldap_module modules/mod_ldap.so
Pour vérifier, si chargé correctement et prêt à l'emploi, apachectl -M