3 votes

Comment puis-je savoir quels modules Apache sont à ma disposition ?

Je lis actuellement le "Definitive Guide to Apache mod_rewrite" et tout au long du livre, il est fait mention d'autres modules Apache qui constituent de meilleures alternatives dans certains scénarios.

Cela m'a amené à me demander ce qui est installé sur mon site. Je n'ai pas d'accès SSH au serveur, et je n'ai accès à aucun des fichiers de configuration (afaik).

Existe-t-il un moyen pour moi de déterminer ce qui est installé, ou dois-je le demander directement à mon hébergeur ? Je suppose que certaines commandes pourraient être exécutées à l'intérieur de PHP (c'est-à-dire en utilisant des backticks), mais je ne suis pas sûr de connaître les limites de cette méthode.

1voto

Jim Points 53

Il existe une méthode externe, mais il faut savoir si elle est activée et si elle est installée.

Les phpinfo() peut vous donner quelques informations sur Apache, mais il s'agit surtout de PHP. Si vous pouvez exécuter des commandes à travers le serveur web, alors l'exécution de

httpd -t -D DUMP_MODULES

peut fonctionner, mais je n'y compterais pas.

En outre, certains modules peuvent inclure des données dans les réponses du serveur même s'ils ne sont pas utilisés actuellement. Voir aussi http://www.netcraft.com/whats pour un exemple de ce genre de chose. Mon serveur affiche actuellement :

Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.9-dev DAV/2 PHP/5.2.11 Phusion_Passenger/2.2.9

ce qui semble être exact, ce qui me rappelle que je dois supprimer la partie PHP.

1voto

mblsha Points 305

Avez-vous accès à .htaccess ? Je suppose que oui, sinon vous n'avez aucun contrôle sur le serveur web, et vous ne pouvez rien faire avec lui, donc il n'y a pas de raison que vous sachiez quels modules vous avez.

Si c'est le cas, vous pouvez ajouter divers <IfModule> dans les directives .htaccess pour faire quelque chose (par exemple, refuser l'accès à un certain fichier). Vous pouvez ensuite essayer d'accéder au fichier. Si vous pouvez accéder au fichier, le module n'est pas disponible.

1voto

jeffreypriebe Points 1070

Il ne s'agit pas d'une réponse programmatique.

Si vous le pouvez, demandez directement à l'administrateur de l'hôte.

Vous pouvez essayer de demander à l'administrateur d'activer le module apache mod_info et de configurer le fichier serveur principal httpd.conf (et de le faire pointer vers un URI restreint pour des raisons de sécurité) afin que vous puissiez facilement obtenir les informations de configuration complètes à l'aide de votre navigateur web.

Vous pouvez demander à l'administrateur de l'hôte d'exécuter la commande httpd qu'un autre utilisateur a fournie ci-dessus et de vous envoyer le résultat.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X