Script per effettuare il backup di database MySQL via FPT e/o via email.

Vorrei segnalare questo script molto interessante, in cui mi sono imbattuto mentre lavoravo all'aggiornamento della procedura di backup automatico dei database MySLQ su di un server LAMP e che mi ha permesso di risparmiare un bel po' di tempo. Lo script è ampiamente documentato e facilmente personalizzabile e permette, ad esempio tramite una chiamata cron, di effettuare il backup automatico dei database MySQL ospitati su di un server, e di inviare i file di backup ad un server FTP od ad una casella email.

Il backup è effettuato utilizzando mysqldump, i file di dump vengono quindi compressi con gzip e se lo si desidera è possibile inviarli ad uno o più server FTP e ad uno più indirizzi email.

MaxClients, MaxKeepAliveRequests e KeepAliveTimeout: ottimizzazione di Apache HTTP Server

Apache HTTP Server Logo

Oggi sappiamo quanto sia importante la velocità di caricamento della pagina sia in termini di usabilità ed user experience, sia in termini SEO, in quanto i motori di ricerca hanno inserito la velocità di caricamento delle pagine nei loro algoritmi di ranking.

Di recente ho avuto modo di lavorare sull'ottimizzazione di un server web, ed è interessante notare come sia possibile ottenere ottimi risultati intervenendo su tre semplici parametri di configurazione del web server Apache:

  • MaxClients
  • MaxKeepAliveRequests
  • KeepAliveTimeout

parametri la cui importanza è spesso sottovalutata e che non sempre garantiscono le migliori prestazioni alle loro impostazioni di default.

Monitorare la propria rete di server con Splunk

Al crescere del numero di server che si gestiscono, cresce anche la necessità di utilizzare dei software di monitoraggio centralizzato, che permettano in ogni momento di avere sotto controllo lo stato della propria rete. I server Linux (ma il discorso può essere esteso in generale ai maggiori sistemi operativi) salvano una notevole quantità di informazioni vitali per monitorare la salute dei servizi e del server stesso nei file di log. In Ubuntu Linux la cartella /var/log e le sue sottocartelle contengono una quantità notevole di file di log generati dai principali processi di sistema. I file di log sono dei semplici file di testo strutturati, e se da una parte è vero che la quantità e la qualità delle informazioni che essi racchiudono è notevole, dall'altra è anche vero che tali informazioni non sono sempre di facile lettura o reperibilità. Questo sulla singola macchina, proviamo ora a pensare a cosa vorrebbe dire consultare manualmente i log su una decina di macchine differenti. Un'operazione di certo non agevole.

Limitare l'accesso ad una vista in Drupal 6

PROBLEMA. Supponiamo di avere creato delle viste che permettono la gestione degli utenti, dei termini della tassonomia e dei contenuti del proprio sito utilizzando il modulo views bulk operation (VBO). E' chiaro che sarà necessario limitare l'accesso a queste viste ad una ristretta cerchia di utenti / amministratori del sito web. Di base le viste sono accessibili a tutti gli utenti del sito, anonimi compresi; questo crea una potenziale situazione di rischio sicurezza per il sito web, in quanto potrebbe esporre contenuti privati (si pensi ad esempio ai dati utente) a chiunque sia a conoscenza dell'indirizzo della pagina web di amministrazione creata con la vista.

New Relic per monitorare in tempo reale le performance della propria applicazione web

Oggi dopo aver letto un post di Dries Buytaert (l'ideatore di Drupal) ho deciso di provare un interessante servizio offerto da New Relic per l'analisi della prestazioni delle proprie applicazioni PHP, Java e Ruby e .NET. La prima settimana di prova è gratuita e comprende un upgrade alla versione Gold (potreste dover attendere qualche ora prima di ricevere la mail di conferma per l'upgrade alla versione gold). I prezzi non sono economici, tuttavia esiste anche una versione free, piuttosto limitata nelle funzionalità a dire il vero, ma pur sempre interessante.

Drupal: form user_pass_reset per il recupero della password. Come reindirizzare le richieste ad una pagina differente da /user/n/edit

PROBLEMA. L'utilizzo del modulo "Change password" sposta le impostazioni di cambio password in una nuova scheda nella pagina del profilo utente. Questo può portare ad una maggiore usabilità del sito in quanto semplifica il form di cambio password, eliminando possibili fonti di disturbo. Tuttavia può anche creare alcuni problemi ad utenti meno smaliziati durante la procedura di recupero della password, in quanto dopo aver utilizzato il link di recupero password, si viene reindirizzati non alla scheda di cambio password, ma alla pagina del profilo utente.

Come impedire in Drupal la navigazione dei temini della tassonomia.

PROBLEMA. Supponiamo di voler impedire la navigazione sul nostro sito utilizzando i termini della tassonomia. In altri parole potremmo desiderare che ogni richiesta ad un percorso del tipo taxonomy/term/n e simili (dove n è un numero corrispondente al TID di un qualunque termine della tassonomia), restituisca un errore di pagina non trovata. Utilizzando il modulo Views possiamo risolvere la cosa in modo piuttosto semplice.

Elements+, Photoshop Elements con gli steroidi!

Per chi lavora sul web, un programma di fotoritocco è uno strumento spesso indispensabile. Adobe Photoshop (che abbrevierò come PS) è senza ombra di dubbio il punto di riferimento per il fotoritocco, e molti web designer lo utilizzano anche per i loro progetti; ma se il vostro lavoro quotidiano ha più a che fare con il codice che con la grafica, potreste non essere molto inclini all'acquisto di una licenza completa di PS.

Se dunque siete un web developer ma comunque vi dilettate di grafica e di tanto in tanto avete bisogno di effettuare delle operazioni di fotoritocco od anche il progetto grafico di un nuovo sito web dal budget limitato, Photoshop Elements (PSE), fratello minore del suddetto Photoshop, potrebbe essere il vostro compagno ideale.

Installare estensioni PHP tramite PEAR e PECL su Ubuntu Linux

Sviluppando siti in Drupal potrebbe capitare di dover installare sul proprio server alcune estensioni PHP aggiuntive. Se l'estensione non è disponibile nel repository ufficiale della distribuzione linux che state utilizzando o se semplicemente desiderate installare una versione differente da quella fornita come pacchetto precompilato, potreste trovare utile installare  PEAR, ovvero PHP Extension and Application Repository, niente altro che un framework e un sistema di distribuzione per codice scritto in PHP. L'installazione di PEAR conporta anche l'installazione di PECL, PHP Extension Community Library; alcune estensioni infatti potrebbero non essere disponibili in PEAR ma tramite PECL. La procedura seguente mostra come installare php PEAR su Ubuntu 10.04 Lucid Lynx e come compilare alcune estensioni da utilizzare con i vostri progetti Drupal.

Drupal: utilizzare il modulo Rules per generare automaticamente un contenuto

Drupal: utilizzare il modulo Rules per generare automaticamente un contenuto

Utilizzando il modulo Rules è possibile automatizzare alcune delle operazioni da eseguire sul nostro sito Drupal. Ad esempio, un recente progetto prevedeva la necessità di creare ogni giorno un determinato contenuto, e di impostare un campo CCK di tipo data ad un valore predefinito, campo che viene utilizzato per la generazione automatica del titolo del contenuto (tramite il modulo Automatic Nodetitles).