Come verificare quali moduli sono attivi sul mio server?


8

Durante il tentativo di risolvere un problema sul mio sito Web, una raccomandazione sul mio file .htaccess che ho ricevuto è stata

Prima di tutto, controlla sul server tutti i diversi moduli se sono abilitati e, una volta che lo sono, rimuovi il file

<IfModule
 ...></IfModule>

blocchi. Stanno mettendo a dura prova il tuo server.

Non so dove dovrei cercare per vedere se i moduli sono attivi - è nel CMS? nel file httpd.conf? nei file sul mio server? dovrei apportare una leggera modifica a .htaccess come test? Ma oltre a ciò, la raccomandazione stessa potrebbe non essere appropriata? Grazie.

Ecco il file .htaccess per il quale è stata fatta la raccomandazione:

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

Penso che tu abbia bisogno di maggiori informazioni dalla persona che lo ha detto. Quali moduli? Moduli Apache? Cosa significano per "blocchi"?
paulmorriss,

Spiacenti, hai ragione, ho aggiunto il file .htaccess in base al quale la persona ha formulato la raccomandazione. Non capisco davvero cosa significhino e non sono riuscito a ottenere maggiori dettagli al riguardo da loro, ecco perché chiedo qui, ho pensato che le persone con più conoscenza di me potessero capirlo più facilmente. Solo un secondo, vedo solo ora che la domanda è stata modificata prima di essere pubblicata - avrei dovuto usare i tag di codice nel tag di preventivo. Modificherà subito!
keiki

1
Ho corretto la domanda, ora la raccomandazione contiene tutte le informazioni originali.
keiki

Il modo per trovare ciò che è attivo dipende dal tuo server. Alcuni saranno nel file http.conf, ma altri potrebbero essere caricati in modo dinamico. Hai una sorta di pannello di controllo o hai accesso al server stesso?
paulmorriss,

È un sito Web Wordpress - quindi immagino sia un server Apache. Ho accesso FTP ai file del sito Web, dettagli di accesso al CMS LunarPages e accesso all'interfaccia di Wordpress.
keiki

Risposte:


4

Se PHP viene eseguito come modulo apache, è possibile utilizzare la phpinfo()funzione. Cerca la sezione Apache (di solito apache2handler) e cerca la riga con "Moduli caricati":

sezione apache2handler di phpinfo ()


2
Purtroppo non elencato sul mio hosting condiviso.
Django Reinhardt,

2
@DjangoReinhardt È possibile che il tuo hosting condiviso non stia usando Apache + mod_php, ma invece nginx / Apache / ... con php-fpm o persino php-cgi. Cerca la riga API del server nella parte superiore della pagina (la mia dice FPM / FastCGI per php-fpm).
Lekensteyn,

3

Supponendo che tu intenda i moduli apache puoi eseguire quanto segue per elencare quali moduli hai caricato:

apachectl -t -D DUMP_MODULES

1
-bash: apachectl: command not foundsinghiozzo :(
Django Reinhardt,

Potresti provare:find / apachectl | grep apachectl
pasta

1
ModSecurity: Failed to open debug log file: /var/log/apache2/modsec_debug.logpoi cat: /var/log/apache2/modsec_debug.log: Permission deniedsinghiozzare :(
JosiahYoder-deactive tranne ...

2

Se non hai caricato quei moduli, allora non sembra che nulla si rompa sul tuo sito, non avrà le migliori impostazioni di controllo della cache. Quindi lascia fuori i moduli if in quanto non puoi nemmeno caricarli se non sono caricati. Il sito Web di Apache dice

Durante il normale funzionamento, le direttive non devono essere inserite in sezioni.

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


1

Prima di tutto, controlla sul server tutti i diversi moduli se sono abilitati e, una volta che lo sono, rimuovi <IfModule ...> </IfModule>

Informazioni sulla query: è necessario verificare se tali moduli sono abilitati sul server e, in tal caso, è possibile rimuovere la condizione if da htaccess:

ad es. se il modulo mod_expires.c è abilitato, puoi rimuovere il <IfModule mod_expires.c></IfModule>e manterrai solo questa parte:

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

quindi non stai più controllando per vedere se quel modulo è abilitato perché l'hai già fatto.


0

1) basta aggiungere a .htaccess

<ifModule mod_expires.c>
deny from YOUR.IP 


</ifModule>

2) aggiorna il tuo sito Web
3) se sei fuori gioco ora, mod_expiresè attivo
4) elimina deny from YOUR.IPda ifModule mod_expires.c

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.