mod_fcgid: read data timeout in 40 seconds; mod_fcgid: HTTP request length xxxxxx (so far) exceeds MaxRequestLen (131072)

Se durante l’esecuzione di uno script che richiede molto tempo, vedete l’errore (nel file di log):

nel file error.log di apache, significa che lo script va in timeout.
Se invece viene visualizzato qualcosa del tipo:

significa che le informazioni passate in POST sono troppo grandi rispetto alla dimensione accettata di default.

Leggi tutto

Effettuare il load/stress test di un web server con Siege e Sproxy

Il load/stress test di un server web è una verifica molto importante, per capire se e come un sito web funziona al crescere delle richieste.
Praticamente viene simulata la navigazione da parte di molti utenti contemporanei, e si verificano i tempi di risposta delle varie pagine web ed anche i codici di risposta per capire se il server inizia a restituire pagine con errori.

Il tool più semplice da poter utilizzare è ab (apache benchmark), fornito con il server web apache. Oggi però parliamo di Siege e di Sproxy.
Siege è il tool vero e proprio per fare il test, mentre Sproxy serve a raccogliere le pagine web che Siege richiamerà durante il test.

Leggi tutto

Memorizzare le sessioni PHP in memcached

Come sicuramente saprete (se state leggendo questo post) PHP utilizza le sessioni (dei files su disco) per mantenere informazioni relative alla navigazione di ogni utente. Questo permette ad esempio di poter “passare” da una pagina all’altra del sito delle informazioni (es i privilegi di accesso) senza che questi dati vengano ogni volta inviati al browser e rimandati al server: il server li conserva nel file delle sessioni e li recupera ogni volta che viene richiamata una nuova pagina dallo stesso utente.

Questo meccanismo però non funziona se si utilizzano più server web “dietro” un load-balancer, perché ovviamente ogni server web avrebbe il suo file delle sessioni che non conterrebbe le informazioni degli altri server. Una soluzione molto rudimentale e poco performante, potrebbe essere quella di utilizzare una condivisione NFS per conservare i files delle sessioni per tutti i server. C’è però una soluzione molto più efficiente, scalabile e performante: memorizzare le sessioni in memcached

Leggi tutto

Regola di rewrite apache per richiamare i files senza estensione

La seguente regola di rewrite per apache potrebbe tornare utile nel caso sia necessario dover richiamare i files .php presenti nello spazio web senza specificare l’estensione, ad esempio poter richiamare www.site.ext/pippo piuttosto che www.site.ext/pippo.php:

enjoy!

Apache: redirect da http ad https

Abbiamo un nome a dominio www.pippo.it e vogliamo che qualsiasi pagina di questo dominio venga richiamata, si venga rediretti verso l’omonimo dominio con protocollo https. In pratica richiamando qualcosa del tipo:

in automatico il visitatore deve essere rediretto verso:

Bene, avremo sicuramente due file di configurazione di apache, uno che gestisce il dominio … Leggi tutto

Test di carico (stress / regression test and benchmark utility) per server web

Per verificare come un server web risponde alle richieste più consistenti, vanno effettuati dei test prima del rilascio. Questo consente di capire se la configurazione è corretta, se l’hardware è adeguato ed anche, in qualche modo, se gli script sono ottimizzati. Ci sono tanti strumenti per fare queste verifiche, alcuni a pagamenti, altri gratuiti. Oggi … Leggi tutto

Installare il modulo per lo Streaming H264 con Apache su Debian

Il termine streaming sta ad indicare la possibilità di visualizzare un video presente su web senza attenderne il completo scaricamento. Un’altra caratteristica è la possibilità di poter avanzare velocemente e visualizzare il video a partire da un qualsiasi punto dello stesso. Apache non è un server di streaming, ma è possibile installare un modulo che … Leggi tutto

Nascondere dettagli su Apache e PHP ai visitatori

Quando viene richiamata una pagina web vengono inviate al cliente una serie di informazioni che generalmente non sono visualizzate, perché interpretate dal browser, ma se effettuiamo una richiesta tramite telnet possiamo visionarle. Ad esempio:

In grassetto ho evidenziato i dettagli relativi alla versione di apache e di php. In alcuni casi è possibile anche … Leggi tutto

Installare pacchetti da sorgenti su Debian

Come sicuramente sapete, è possibile installare software precompilato nella vostra Linux Box basata su Debian, scaricandolo dai vari repository tramite il comodo apt-get. In alcuni casi potrebbe essere utile compilare il software manualmente, perché è necessario modificare qualche parametro di configurazione, oppure aggiungere qualche funzionalità oppure installare una particolare patch. La procedura non è molto … Leggi tutto