Drupal, jQuery, PHPList, Ubuntu Server, Varie

Una funzione per modificare in Drupal la versione di jQuery e jQuery UI utilizzata nel tema

Praticamente in ogni progetto Drupal su cui lavoro, tendo ad utilizzare lato tema l'ultima versione disponibile di jQuery e jQuery UI. Ora non è detto che questa sia una pratica ottimale, soprattutto se si utilizzano moduli Drupal per integrare librerie Javascript con specifiche dipendenze su jQuery e jQuery UI.

Hosting di piccoli siti Drupal 7 su Aruba

Credo che Aruba possa essere una interessante soluzione economica per l'hosting di piccoli siti Drupal. Il problema è che out of the box Drupal non funziona su un hosting linux Aruba + MySQL (per capirci niente di più che la classica offerta base). Ma la cosa è in realtà facilmente risolvibile.

Creare in Drupal l'archvio della propria timeline di Twitter, utilizzando i moduli Feeds, JSONPath parser e Views

Negli ultimi mesi ho iniziato ad utilizzare Twitter in maniera piuttosto regolare. Talvolta mi è capitato di dover ricercare un link in uno dei tweet che avevo condiviso, ma la procedura non era proprio immediata. Dato poi che è possibile recuperare un massimo di 3200 status (tweets) dalla timeline di Twitter (con le REST API, mentre con le search API solo fino ad una massimo di 1500… ok, prima di arrivare a 3200 status ce ne vuole), ho pensato potesse essere utile avere da qualche parte un comodo archivio consultabile di tutti i tweet postati da me nel tempo. Fare una cosa del genere in Drupal è semplice come configurare un paio di moduli e creare una vista.

Drupal 7: come visualizzare in una vista tutti i campi disponibili di un termine della tassonomia associato al dato nodo

In Drupal 7 i termini della tassonomia si sono evoluti ad entità vere e proprie, o detto in altro modo, hanno ottenuto pari dignità di un qualunque nodo. Questo significa che è possibile arricchire ciascun termine con dei campi aggiuntivi, un po' come si era abituati a fare con i nodi e CCK in Drupal 6. In tal senso quindi è possibile ad esempio aggiungere un'immagine, un link, ecc…, a ciascun termine della tassonomia.

La gestione dei campi viene fatta a livello di vocabolario, quindi tutti i termini del medesimo vocabolario avranno a disposizione i medesimi campi (e questo è tutto sommato piuttosto logico).

Impostare l'hostname in Ubuntu Server

In Ubuntu Linux, per personalizzare il proprio nome di host senza incorrere in errori, è necessario non solo editare il file /etc/hostname, specificando il nome desiderato per la propria macchina, ma mappare anche il nome appena inserito con l'indirizzo IP del proprio host, ovvero 127.0.0.1 all'interno del file /etc/hosts.

Specificando che il nuovo hostname si riferisce alla macchina corrente, si evita il verificarsi di errori quali "unable to resolve host…".

Monitorare in modo centralizzato i propri server con Munin

Monitorare in modo centralizzato i propri server con Munin

Con Munin (qui la pagina Munin su Wikipedia, utile per chi non lo conoscesse) è possibile monitorare in modo centralizzato un numero a piacere di server remoti. A tal fine è necessario installare sulla macchina che fungerà da server di monitoraggio la versione server di Munin, mentre sulle altre macchine (chiamate nodi) sarà sufficiente installare il solo client. Si tratterà quindi di configurare il server per farlo connettere alle macchine remote, e configurare le macchine remote per accettare le connessioni in entrata da tale server.

Western Digital Caviar Black 1TB (WD1002FAEX)

In attesa che i prezzi degli SSD scendano ad un valore accettabile, ho fatto un upgrade del disco di sistema sostituendo un più che dignitoso Western Digital da 640GB (WD6400AAKS) con un nuovo Caviar Black da 1TB, modello WD1002FAEX. Il costo decisamente contenuto, poco più di una sessantina di euro.

Drupal 7 Omega Theme, installazione di un subtheme utilizzando drush e Omega Tools

La versione 3 del tema Omega per Drupal 7 si sta rivelando estremamente interessante, in quanto supporta in modo nativo lo sviluppo di temi con tecniche di Responsive Web Design (se non sapete di cosa sto parlando, leggetevi Responsive Web Design pubblicato da ABookApart). Creare un sottotema da utilizzare per lo sviluppo del proprio tema è un'operazione estremamente semplice utilizzando il modulo Omega Tools e Drush.

Errore in Drupal 7 con APC (Alternative PHP Cache)

Errore in drupal 7 con include_once() e require_once() con APC

Drupal 7 sembra un tantino più "delicato" rispetto alla versione precedente per quanto riguarda le impostazioni di configurazione della cache APC. L'installazione di Drupal 7 su di un server nel quale girano senza problemi siti web sviluppati con la versione 6 e con la 5 dava errori già in fase di installazione come si può vedere dall'immagine qui a lato.

Drupal: logging su database e logging su file. Alcune considerazioni sulle prestazioni.

Il database logging in Drupal può risultare piuttosto oneroso in termini di risorse, soprattutto nel caso di siti web ad alto traffico o con un numero molto elevato di contenuti.

Un articolo di Dries pubblicato sul blog di Aquia (http://acquia.com/blog/playing-new-relic-acquia-hosting) aveva messo in risalto come il database logging da solo potesse essere responsabile del 50% del carico sul server MySQL.

Dopo aver installato New Relic su di un server che ospita per la gran parte siti Drupal, ho potuto verificare l'impatto sul db dovuto ad accesslog remposabile da solo di più del 20% di carico.

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.

Syndicate content