Comment vérifier quels modules sont actifs sur mon serveur?


8

En essayant de résoudre un problème sur mon site Web, une recommandation concernant mon fichier .htaccess que j'ai reçu a été

Tout d'abord, veuillez vérifier sur le serveur tous les différents modules s'ils sont activés, et une fois qu'ils le sont, supprimez le

<IfModule
 ...></IfModule>

blocs. Ils mettent une pression inutile sur votre serveur.

Je ne sais pas où dois-je chercher pour voir si les modules sont actifs - est-ce dans le CMS? dans le fichier httpd.conf? dans les fichiers sur mon serveur? dois-je faire une légère modification dans le .htaccess comme test? Mais plus que cela, la recommandation elle-même ne serait-elle pas appropriée? Merci.

Voici le fichier .htaccess pour lequel la recommandation a été faite:

Options +FollowSymLinks -MultiViews
RewriteEngine on
AddHandler x-httpd-php .html .htm

<ifModule mod_gzip.c>
  mod_gzip_on Yes
  mod_gzip_dechunk Yes
  mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
  mod_gzip_item_include handler ^cgi-script$
  mod_gzip_item_include mime ^text/.*
  mod_gzip_item_include mime ^application/x-javascript.*
  mod_gzip_item_exclude mime ^image/.*
  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 1 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 2592000 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifModule>

<ifModule mod_headers.c>
  <filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=2592000, public"
  </filesMatch>

  <filesMatch "\\.(css)$">
    Header set Cache-Control "max-age=2592000, public"
  </filesMatch>

  <filesMatch "\\.(js)$">
    Header set Cache-Control "max-age=216000, private"
  </filesMatch>

  <filesMatch "\\.(xml|txt)$">
    Header set Cache-Control "max-age=216000, public, must-revalidate"
  </filesMatch>

  <filesMatch "\\.(html|htm|php)$">
    Header set Cache-Control "max-age=1, private, must-revalidate"
  </filesMatch>
</ifModule>

<ifModule mod_headers.c>
  Header unset ETag
</ifModule>

FileETag None

<ifModule mod_headers.c>
  Header unset Last-Modified
</ifModule>

RewriteCond %{HTTP_HOST} !^(www\.)?foo\.com$
RewriteRule .? http://foo.com%{REQUEST_URI} [R=301,L]

#BEGIN WordPress
<IfModule mod_rewrite.c>

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php

</IfModule>
# END WordPress

Je pense que vous avez besoin de plus d'informations de la personne qui a dit cela. Quels modules? Modules Apache? Qu'entendent-ils par «blocs»?
paulmorriss

Désolé, vous avez raison, j'ai ajouté le fichier .htaccess sur la base duquel la personne a fait la recommandation. Je ne comprends pas vraiment ce qu'ils signifient et je n'ai pas pu obtenir plus de détails à ce sujet, c'est pourquoi je demande ici, pensais que les gens avec plus de connaissances que moi pourraient comprendre cela plus facilement. Juste une seconde, je vois seulement maintenant que la question a été modifiée avant d'être publiée - j'aurais dû utiliser des balises de code dans la balise de citation. Éditera tout de suite!
keiki

1
J'ai corrigé la question, maintenant la recommandation contient toutes les informations originales.
keiki

La façon de trouver ce qui est actif dépend de votre serveur. Certains seront dans le fichier http.conf, mais d'autres peuvent être chargés dynamiquement. Avez-vous une sorte de panneau de contrôle ou avez-vous accès au serveur lui-même?
paulmorriss

C'est un site Web Wordpress - donc je suppose que c'est un serveur Apache. J'ai un accès FTP aux fichiers du site, des détails d'accès au CMS LunarPages et l'accès à l'interface Wordpress.
keiki

Réponses:


4

Si PHP est exécuté en tant que module apache, vous pouvez utiliser la phpinfo()fonction. Recherchez la section Apache (généralement apache2handler) et recherchez la ligne avec "Modules chargés":

section apache2handler de phpinfo ()


2
Non répertorié sur mon hébergement partagé, malheureusement.
Django Reinhardt

2
@DjangoReinhardt Il est possible que votre hébergement partagé n'utilise pas Apache + mod_php, mais plutôt nginx / Apache / ... avec php-fpm ou même php-cgi. Recherchez la ligne API du serveur en haut de la page (la mienne dit FPM / FastCGI pour php-fpm).
Lekensteyn

3

En supposant que vous voulez dire les modules apache, vous pouvez exécuter ce qui suit pour répertorier les modules que vous avez chargés:

apachectl -t -D DUMP_MODULES

1
-bash: apachectl: command not foundsob :(
Django Reinhardt

Vous pouvez essayer:find / apachectl | grep apachectl
pâte

1
ModSecurity: Failed to open debug log file: /var/log/apache2/modsec_debug.logpuis cat: /var/log/apache2/modsec_debug.log: Permission deniedsanglot :(
JosiahYoder-deactive sauf ..

2

Si vous n'avez pas ces modules chargés, il ne semble rien casser sur votre site, il n'aura tout simplement pas les meilleurs paramètres de contrôle du cache. Laissez donc de côté les modules if car vous ne pouvez même pas les charger s'ils ne sont pas chargés. Le site Web Apache dit

En fonctionnement normal, les directives n'ont pas besoin d'être placées dans des sections.

http://httpd.apache.org/docs/2.0/mod/core.html#ifmodule


1

Tout d'abord, veuillez vérifier sur le serveur tous les différents modules s'ils sont activés, et une fois qu'ils le sont, supprimez le <IfModule ...> </IfModule>

À propos de votre requête: vous devez vérifier si ces modules sont activés sur le serveur, et s'ils le sont, vous pouvez supprimer la condition if de htaccess:

Par exemple, si le module mod_expires.c est activé, vous pouvez supprimer le <IfModule mod_expires.c></IfModule>et vous ne conserverez que cette partie:

ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"

donc vous ne vérifiez plus pour voir si ce module est activé parce que vous l'avez déjà fait.


0

1) il suffit d'ajouter à .htaccess

<ifModule mod_expires.c>
deny from YOUR.IP 


</ifModule>

2) rafraîchissez votre site Web
3) si vous êtes hors jeu maintenant, mod_expiresest actif
4) supprimez deny from YOUR.IPde ifModule mod_expires.c

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.