Quel est le moyen le plus élégant de vérifier quels modules Apache sont activés?
linux
ubuntu
apache-http-server
tu fais
la source
la source
apache2: bad user name ${APACHE_RUN_USER}
sudo apache2ctl -M | sort
apache2ctl
mais elles ne sont répertoriées ni dans la page de manuel ni dansapache2ctl --help
. C'est parce qu'ils sont remis àhttpd
. Ils sont listés dans la documentation httpd uniquement.httpd -M
vous dira quels modules sont intégrés ou partagés.la source
httpd
exécutable.apache2
et nonhttpd
, raison pour laquelle il n'est pas trouvé.Aucune des réponses ci-dessus ne fonctionne si vous ne pouvez pas exécuter de commandes sur un serveur distant. Si vous n'avez que des privilèges «utilisateur» ou aucun, essayez de créer un
test.php
script:Bien que cela ne fonctionne que si PHP est installé en tant que
mod_php
.la source
Peut - être que cela vous aidera pour certaines personnes sur des hôtes partagés sans accès à
httpd
,apachectl
ou processus:Modules activés:
ls /etc/apache2/mods-enabled/
Modules disponibles:
ls /etc/apache2/mods-available/
la source
Vous pouvez également utiliser apachectl
la source
Je pense qu'il y a en fait trois questions ici. Je ne suis pas sûr de ce que vous demandez.
Ce serait (généralement) dans le répertoire modules de votre distribution Apache, généralement / etc / httpd / modules /
Cela peut être vérifié avec / usr / sbin / httpd -M, au moins pour le système de base apache. Si vous voulez vérifier un fichier de configuration spécifique / usr / sbin / httpd -M -f / chemin / vers / config / fichier
Pour obtenir beaucoup d'informations, vous pouvez le voir avec http: // nom_ordinateur / info-serveur / Ce n'est pas configuré par défaut, vous devez le configurer . C'est un peu une fuite d'informations, alors configurez-le de sorte que seules les populations locales peuvent le voir.
Si vous êtes sur la machine et que vous avez accès à l'utilisateur en cours d'exécution, vous pouvez également voir ce qui est chargé en vérifiant le processus. Vous pouvez trouver le processus parent avec:
Alors check out
la source
Si vous êtes sur Redhat / CentOS,
httpd
est utilisé à la place deapache2ctl
.Cela signifie que vous devez utiliser le
Cependant, ce
httpd
n’est presque jamais dans le chemin que vous attendez.Je peux confirmer sur CentOS 5.8 le chemin réel
/usr/sbin/httpd
.Mais si ce n'est pas le chemin, vous pouvez le découvrir. Voici comment j'ai pu le faire.
D'abord, j'ai vérifié le démon utilisé pour le contrôler.
Autour de la ligne 40
Ce qui m'a dit exactement où le trouver. J'espère que cela t'aides.
la source
Lister tous les modules activés
la source
Sur mon gentoo, je peux exécuter
apache2ctl modules
et voir les modules listés.la source
Vérification depuis un script php (pour mod_xsendfile):
La vérification de PHP_SAPI est à exclure lorsque php s'exécute en tant que CGI, car apache_get_modules () ne fonctionne pas dans ce contexte. De plus, si cela est exécuté sur php <5.0.0, seul le
apache2handler
contexte produira le résultat attendu.la source
J'ai créé un petit script python pour vous aider. Veuillez consulter https://github.com/zioalex/unused_apache_modules
Voici ce que vous pouvez en attendre:
la source