Oltreuomo.com ci sceglie come fornitori hosting ad alte prestazioni. Un tuning da oltre 2000 utenti al secondo.

oltreuomoIl famoso blog satirico oltreuomo.com ha deciso di affidarci l’hosting e la parte sistemistica per gestire il picco di utenti che inizia a diventare molto importante e ingestibile con una struttura condivisa come Godaddy.
Abbiamo pertanto illustrato il nostro modus operandi e illustrato i benefici di un tuning ad-hoc e relative ottimizzazioni ai servizi erogati.

Abbiamo installato il sistema operativo, fatto un tuning delle variabili di sistema, settato i vari limiti a livello di sistema operativo.

Abbiamo poi installato e configurato MySQL, PHP-FPM, Zend Opcache, Memcached, Redis.io, NGINX.

Abbiamo separato la parte dei contenuti statici (upload) in un vhost secondario di terzo livello : img.oltreuomo.com.

Abbiamo messo avanti a ognuno dei due host una CDN per limitare le connessioni in ingresso e il consumo di banda.

  • Incapsula per servire img.oltreuomo.com
  • Cloudflare per servire www.oltreuomo.com

A livello WordPress, abbiamo installato il plugin w3 Total cache e configurato in modo di cachare oggetti e query direttamente a livello memcached.
Ulteriormente abbiamo sostituito la index con uno script per funzionare come cacher su Redis per abbassare notevolmente il tempo di load delle pagine da mezzo secondo circa a 0,006 secondi o anche meno con oltre 2000 visitatori connessi.

redis

Il risultato ottenuto è quello di avere un sito WordPress velocissimo, ottimizzato per gestire un alto numero di visitatori simultanei.

Lo screenshot di Google Analytics unito al report di htop vale più di mille parole:

oltreuomo_tuning_wordpress

Qualora vogliate ottimizzare spingere WordPress, Magento o altri siti ai massimi livelli, contattateci pure per una consulenza sistemistica dedicata.

 

Servire oltre 5000 visitatori al secondo ad un blog WordPress, tramite ottimizzazione server. Un esempio reale con Redis, NGINX, Varnish, Memcached, CDN.

Cosa succede quando un sito di Quiz diventa popolare ? Succede che bisogna gestire oltre 5000 visitatori al secondo per un totale di 50 mila connessioni al secondo. Come gestire soluzioni del genere ad alto traffico ? Alla base di tutto : WordPress con caching misto su memcached e Redis Server, PHP-FPM, Nginx con frontend Varnish dietro Cloudflare e Incapsula.

speed-up-wordpress-siteQuesto articolo ha lo scopo di illustrare le potenzialità di un tuning ad-hoc di un server Linux al fine di servire oltre 5000 visitatori al secondo ad un blog WordPress.

Tutto quello che leggerete di seguito è frutto di un caso reale a cui abbiamo lavorato per garantire l’erogazione del servizio di hosting in modo ottimale, nel frattempo che i programmatori riscrivessero l’applicazione in un modo più performante, ovvero senza l’utilizzo di WordPress che per l’utilizzo e la tipologia di sito è sicuramente una scelta criticabile e sostituibile con del puro HTML e Javascript.

Alla fine dell’articolo un video,  per chiunque preferisca vedere dal vivo alcuni passaggi importanti che sono solamente citati nell’articolo.

Introduzione alla vicenda

Il tutto nasce dalla richiesta di aiuto dello sviluppatore/sistemista di Quizdee.com noto sito di quiz online che mi riassume con un’immagine la situazione che avevano raggiunto : a 800 utenti al secondo il server si bloccava allocando tutta la potenza di calcolo delle 4 CPU istanziate su Amazon EC2.

server-load-carico-linuxSin da subito veder girare httpd , sinonimo di Apache fa capire che c’è molto da fare. Un successivo sguardo alla configurazione di MySQL, ci mostra eloquentemente che non è stato fatto nulla di specifico nell’ottimizzazione ma che tutto gira come fornito dall’installazione.

Guardando l’applicativo non si può far altro che criticare la scelta “veloce” (ma funzionale) di usare WordPress per lo sviluppo di un sito Web che avrebbe potuto essere sviluppato su DBMS di tipo NOSQL come MongoDB o Redis, o meglio ancora eliminando completamente il lato server side, escludendo dunque PHP e MySQL per un corretto funzionamento.

Ovviamente riscrivere tutto da 0, avrebbe comportato tempistiche non gestibili in qualche giorno, per cui nel frattempo il compito era “tamponare” con soluzioni di emergenza in grado di reggere almeno 10 volte tanto gli 800 utenti iniziali, limite in cui il server linux iniziava letteralmente a morire sotto i click dei visitatori.

Cambio Hoster e cambio Server Dedicato.

Date le grosse risorse in termini di CPU abbiamo deciso di passare da un 4 core di Amazon EC2 a un server dedicato da Hetzner in Germania.

La scelta è ricaduta su un server di fascia alta :

Intel® Xeon® E5-1650 v2
Hexacore Ivy Bridge-E
6 core fisici e 12 logici.
128 GB di RAM ECC
2 Hard Disk SATA SSD a stato solido.
Connettività 1 Gbit/s
al modico costo di 139€ al mese IVA Inclusa.

Installazione e configurazione sistema operativo Linux CentOS 6

Abbiamo scelto di installare la famosa distribuzione CentOS, già precedentemente installata anche su Amazon EC2, e di procedere alla configurazione base, eliminando tutti i servizi non necessari e installando tutti i software voluti per una successiva configurazione. Abbiamo installato dunque :

  • MySQL Server
    DBMS relazionale, necessario al funzionamento di WordPress
  • NGINX
    nginx [engine x] e’ un server HTTP e reverse proxy, nonche’ un server mail proxy, scritto da Igor Sysoev. Per molto tempo e’ stato usato principalmente per alcuni siti russi ad alto carico, ad esempio YandexMail.RuVKontakte e Rambler; in base ai dati di Netcraft, nell’ottobre 2013 nginx e’ il server HTTP o reverse proxy del 15.08% dei siti a maggiore carico.
  • PHP-FPM in versione 5.5
    è un frontend FastCGI per PHP che migliora le funzionalità di php-cgi.
  • Zend OpCache
    l’integrazione di Zend Optimizer+quale opcode cache; si tratta di un componente concepito per incrementare il livello di prestazioni nell’esecuzione delle applicazioni PHP senza alterarne i comportamenti.
  • Memcached
    è un sistema cache in RAM a oggetti distribuiti per migliorare la velocità .
    Memcached diminuisce il tempo di caricamento delle pagine dei siti web dinamici basati su database mettendo in cache i dati richiesti e riducendo il carico sui server database
  • Redis
    un key-value store open source residente in memoria con persistenza facoltativa.
  • Varnish
    un acceleratore HTTP potente e open source, che è in grado di servire contenuti in cache in modo veloce

Per ogni software abbiamo proceduto ad effettuare un tuning ed una configurazione affichè tutto si integrasse perfettamente.

Obiettivi da raggiungere prefissati nella configurazione

Tra gli obiettivi da raggiungere che ci siamo prefissati, quello di minimizzare lo spawning di processi php-fpm e query MySQL. Sono loro a divorare i 12 processori logici, saturando tutte le risorse e accodando sempre più richieste fino ad una situazione di stallo.

Per far questo (non potendo nell’immediato riscrivere il tutto in un semplice HTML statico), dobbiamo cachare nel modo più corretto e veloce possibile quanto più si riesca a cachare in modo di restituire l’output html dalla RAM, piuttosto che generarne nuovamente da PHP e MySQL.

Oltretutto bisogna anche limitare il traffico dati delle immagini, che seppur poche in termini di quantità e di pesantezza riescono a generare circa 250 gigabyte al giorno di traffico.

Per i problemi di traffico abbiamo deciso di adottare 2 CDN (Content delivery network) che tramite una configurazione di reverse proxy possano cachare le nostre immagini sui loro server e fornirle al nostro posto risparmiandoci prezioso traffico dati.

La prima CloudFlare, si occupa di cachare i contenuti del sito www.quizdee.com, la seconda Incapsula, si occupa di cachare le immagini del dominio di terzo livello creato appositamente img.quizdee.com

La struttura finale ideale è simile alla seguente:

img_imperva_cloud_waf_diagram

 Cenni sulla configurazione dei vari componenti

In breve abbiamo configurato tutti i vari software precedentemente elencati per fornire un caching rapido e veloce dei contenuti. MySQL è stato impostato per cachare qualora richiesto moltissime query fino ad oltre 32 gigabyte di RAM.Valore sicuramente ben più elevato delle centinaia di megabyte in effettivo uso.

WordPress è stato configurato con il plugin W3 Total Cache (W3TC) al fine di cachare contenuti statici direttamente su memcached. Inoltre è stato abbinato anche a Redis, al fine di cachare post direttamente in RAM e diminuire i tempi di risposta fino a 100 volte tanto.

PHP-FPM è stato settato e configurato per gestire un massimo di 1000 connessioni contemporanee, numero in cui al di sopra saremmo andati incontro a sensibili problemi di carico.

NGINX è stato configurato ad hoc ottimizzandone alcuni parametri sui timeout e sul numero di thread gestibili.

Varnish è stato configurato come reverse Proxy su NGINX che a sua volta gestisce due virtual host www.quizdee.com e img.quizdee.com

 

Installazione e configurazione delle due CDN. Cloudflare ed Incapsula

Creati account gratuiti sulle due CDN, abbiamo impostato i DNS del dominio come consigliato dal pannello di controllo delle due CDN.

Cloudflare fornisce i contenuti di www.quizdee.com e Incapsula quelle di img.quizdee.com. Dopo alcuni minuti le richieste diminuivano sensibilmente e anche il load.

Questo è stato un passaggio se non vitale, comunque significativo considerando che in 4 giorni ci ha risparmiato di solo traffico immagini ben 740 GB, con oltre 27 milioni di hits, con picchi di banda di oltre 150 Mbit/s.

banda-risparmiata-incapsula
Risultati Ottenuti

I Risultati ottenuti sono stati quelli di riuscire ad erogare un servizio ad oltre 5000 utenti al secondo, avendo toccato anche dei picchi di oltre 8000, con il vantaggio di  dare un’esperienza di usabilità reattiva e veloce, dunque maggiori risultati in termini di soddisfazione e relativi introiti.
Il costo è rimasto molto contenuto senza scalare su più macchine con load balancer che avrebbe significato una spesa fino a 10 volte tanto, tra noleggio dell’hardware e relativa configurazione più gestione managed dei server Linux.

Le statistiche di Google Analytics parlano chiaro : quasi 5000 utenti con appena 10 di carico sulla CPU.

5000
Conclusioni

La potenza è nulla senza controllo. Ancora una volta, la dimostrazione pratica che buone capacità sistemistiche possano dare risultati eccellenti con costi veramente ridotti. Se hai un sito Web con molto traffico e vuoi ottimizzare le risorse con una configurazione su misura in base alle tue esigenze, contattaci pure.

L’importanza del sistemista linux. Quando un sistemista può fare la differenza sulla velocità e la raggiungibilità di un sito web.

problem-solving-linuxQuello che andrò a narrare nelle prossime righe è una vicenda attuale riguardante un noto marchio marchigiano.
Dovendo mettere in luce alcuni aspetti negativi riguardanti alcune aziende, e avendo lavorato conto terzi, per tutelare la privacy non andrò a fare nomi, ma mi limiterò a descrivere l’accaduto.

Il noto marchio marchigian, ha un blog WordPress, in hosting dal vecchio fornitore (agenzia web specializzata in ecommerce), che fornisce il servizio di hosting Linux.

Il blog WordPress in Hosting è stato sviluppato non da questa agenzia, ma da un’altra agenzia Web, specializzata in ecommerce Magento, di cui sono sistemista sui loro server Cloud.

Il noto marchio marchigian avendo pagato fino a nuovo anno l’hosting presso il vecchio fornitore, decide di utilizzare fino alla scadenza i loro servizi e dunque la nuova agenzia si trova a dover hostare il blog da loro creato sullo spazio hosting del vecchio fornitore.

Già dalla scorsa settimana si lamentava una lentezza eccessiva e tempi di risposta altrettanto elevati, e pur convivendo con questo disagio apparantemente immotivato mai si sarebbero aspettati di vedere il blog letteralmente irraggiungibile, fino ad essere “tirato giù” dall’amministratore del server in quanto secondo lui comprometteva la stabilità dell’intero server.

Dopo vari test condotti in maniera “oscura” e non trasparente da parte dello staff del vecchio forniore, veniva fornita una spiegazione piuttosto “fantasiosa” lamentando un attacco DDOS proveniente da siti come msnbot e IP stranieri.

L’amministratore di sistema allega degli screenshot con il comando top (per mostrarci il carico della CPU) e netstat -na per mostrarci le connessioni di rete instaurate dal loro server, liquidando il tutto con poche e precise parole a riguardo, ipotizzando un attacco DDOS all’avviare del vhost nella configurazione di Apache.

A prima vista sembra assurdo vedere un load così elevato per un semplice e banale blog WordPress (che a detta di chi lo gestisce non riceve più di 80 mila visite mensili).

Sopratutto considerando che con una configurazione simile normalmente seguiamo un cliente (www.tuttoandroid.net) che genera qualche milione di visite al mese, con oltre 2000 utenti in media collegati contemporaneamente.

Qualcosa non va e questo è certo.

Non va ad esempio che giri Apache in un sistema che lamenta lentezza, piuttosto che NGINX.

Non va il fatto che il vhost giri senza separazione privilegi in mod_php piuttosto che in FastCGI o in PHP-FPM.

Non va che un sistemista che ignori alcuni concetti sopra esposti, e getti la spugna semplicemente tirando giù il sito web,  possa lamentare improbabili attacchi DDOS tramite msnbot, laddove magari non si è preoccupato minimamente di fare un tuning efficace al DBMS MySQL, al Webserver, e ad altre componenti di sistema.

A rincarare la dose, arriva la comunicazione del titolare del vecchio fornitore che dopo aver dato disponibilità a impostare i record DNS verso il nuovo server, invita cordialmente a aggiornare la versione di WordPress, nonchè manlevarsi da ipotetiche proprie responsabilità di problematiche sistemistiche, farm, o sistema operativo.

Decidiamo pertanto di testare sui nostri sistemi il tutto, configurandolo in virtual hosting su server Linux, separando i privilegi e girando in PHP-FPM avendo cura di aver abilitato Zend OpCache e un tuning a livello webserver NGINX e MySQL Server decisamente ad-hoc al fine di sfruttare al meglio le risorse di sistema disponibili, massimizzando le prestazioni e riducendo i costi in nuovo (ed inutile) hardware.

Va precisato oltretutto che le risorse di sistema in termini di potenza di calcolo e RAM, sono pressochè identiche a quelle scelte dal vecchio fornitore, sebbene il nuovo fornitore avesse scelto un’istanza su Aruba Cloud, piuttosto che una VPS su OVH come preferito  vecchio fornitore.

Il sistema ha reagito in maniera molto positiva, eliminando di fatto tutti i colli di bottiglia e servendo i contenuti in tempi variabili tra 1 e 3 secondi, senza alcun rallentamento e ripristinando la business continuity di un’azienda molto importante a livello mondiale che si trovava ormai da quasi due giorni tagliata fuori dalla rete Internet.

Conclusioni

Avremo sicuramente spazio e modo di dare giudizi alla condotta del vecchio fornitore, non tanto su quello che è stato fatto in fase di messa in opera del sito web, ma quanto non sia stato fatto una volta lamentati problemi seri alla stabilità del server, rimpallando responsabilità ai creatori del sito in una sorta di scaricabarile dimostrando senza ombra di dubbio l’impossibilità di fare di meglio al fine di risolvere la problematica in modo elegante.

La dimostrazione pratica di quanti “esperti” che alla prima problematica  al di fuori degli “standard” non hanno conoscenze a sufficienza per rimboccarsi le maniche e fare un’analisi del problema per poi risolverlo.

La prova tangibile di quante aziende di prestigio con fatturati di milioni di euro l’anno e centinaia di dipendenti non sappia scegliere un partner affidabile sotto il punto di vista sistemistico.

La dimostrazione reale che ancora una volta di fronte a problemi di natura sistemistica, siamo in grado di approcciare all’arte del problem solving garantendo professionalità e competenza in ambito di sistemistica avanzata su Linux.

La consapevolezza che un sistema Linux configurato ad hoc possa fare una differenza notevole in termini di prestazioni, potendo così risparmiare notevoli cifre che sarebbero altrimenti state investite inutilmente in hardware, non avendo avuto la brillante idea di rivolgersi a dei seri professionisti e specialisti nella configurazione di server linux.

 

Open Source sul Web. Un’infografica sulla diffusione del software open source in ambito Web.

Di seguito un’interessante infografica che dimostra con una statistica inopinabile la diffusione e la penetrazione di software open source a livello Web.
Tra essi troviamo webserver, CMS, Sistemi Operativi come Linux, Linguaggi Server Side come PHP. Io personalmente avrei aggiunto anche altri componenti come server DNS (bind ad esempio), Mailserver come Postfix, EXIM, Qmail, o altri software open source che pur non avendo referenze “dirette” con l’ambito Web, hanno comunque una forte affinità affinchè un sito web possa disporre di tutte le funzionalità classiche come la mail ad esempio.

Si coglie l’occasione per ricordare che forniamo consulenza sistemistica su software open source e ottimizzazioni server e siti web.

Statistiche open source siti web

Creare un blog aziendale. Scegliere WordPress o Joomla ? Compariamoli.

Come ben saprete il fenomeno del blogghing è ormai diffusissimo. Ci sono centinaia di utenti in rete che ogni giorno decidono di aprire un blog e si trovano di fronte a dover scegliere una piattaforma CMS adatta alle loro esigenze. WordPress o Joomla! Quale scegliere? Quali sono i vantaggi o gli svantaggi???

In questo articolo ne parleremo insieme per cercare di capire cosa conviene usare.

Per quanto mi riguarda ho provato entrambe le soluzioni e devo dire che mi sono piaciute molto.

Cercherò quindi di farvi capire in cosa differiscono.

Prima però vediamo di chiarire cos’è un CMS. Come dice Wikipedia:

Un Content Management System, in acronimo CMS, (in italianosistema di gestione dei contenuti), è uno strumento software, installato su un server web, il cui compito è facilitare la gestione dei contenuti disiti web, svincolando il webmaster da conoscenze tecniche specifiche di programmazione Web.

In poche parole si tratta di uno strumento che permette a chiunque di creare il proprio sito senza dover essere un programmatore esperto di web-design!

Sia Joomla! che WordPress sono due CMS molto famosi e diffusi ma non sono neppure gli unici.

Ora che abbiamo chiarito cosa sono i CMS vediamo di scendere un po’ più nei dettagli e di introdurre con una breve descrizione le nostre due piattaforme.

Joomla

Joomla è una piattaforma molto completa che non si limita alla semplice creazione di blog ma permette di creare siti web a tutti gli effetti. Infatti, grazie al grandissimo numero di plugin di cui dispone, Joomla! da all’utente la possibilità di creare siti professionali di ogni genere, dalle vetrine ai siti aziendali. In poche parole, definire Joomla! una piattaforma di blogghing è parecchio riduttivo!

Il pannello di controllo risulta molto ben organizzato e con funzioni avanzate per la gestione di ogni singolo dettaglio. Permette l’installazione di nuovi templates (ne esistono tantissimi e per tutti i gusti), plugin e moduli. Sono proprio i moduli che costituiscono una delle caratteristiche principali di questo CMS.
Infatti ogni componente della pagina, in Joomla! viene identificato con un modulo (per esempio i menù, i forum, le gallerie ecc…).

Ma la cosa veramente più bella è la gestione degli utenti. Infatti è possibile gestire gli utenti nei minimi particolari creando “gruppi”, assegnando ad ogni gruppo i vari permessi e definendo i livelli di accesso al sito.
Si possono creare sezioni private alle quali possono accedere solo alcuni utenti (es: super-user, amministratori, editori, publisher,  utenti registrati, utenti non registrati, ecc…). Sotto questo punto di vista non avrete alcun limite!

Anche la gestione dei menù è molto ben strutturata. Si possono definire menù di vario tipo e posizionarli ovunque nella pagina (di molto superiore rispetto a WordPress sotto questo punto di vista).

L’unico aspetto negativo è che la presenza di tutte queste funzioni tende a rendere più complessa la gestione del sito rispetto ai CMS di base (come WordPress) e quindi Joomla! è dedicato agli utenti più pretensiosi e allo stesso tempo più esperti.

WordPress

WordPress è molto più semplice rispetto a Joomla! ed è orientato alla creazione di Blog.
Questo può sembrare uno svantaggio ma in realtà è il vero punto di forza di questa piattaforma.
La limitatezza consente a WordPress di risultare molto più semplice da utilizzare per gli utenti inesperti ai quali non interessa poter creare gruppi di utenti con permessi particolari o menù sofisticati.

Infatti subito dopo l’installazione è possibile avere un sito funzionante e completamente personalizzabile con pochissimi click. Dalla mia esperienza personale, WordPress richiede molto meno tempo per essere configurato e permette di arrivare molto rapidamente al risultato voluto (cosa che con Joomla! non sempre è scontata).

Anche il pannello d’amministratore risulta più semplice. Sicuramente meno completo ma, già a prima vista, di facile intuizione.

L’editor degli articoli è più user-friendly rispetto a quello di Joomla! e contiene già di default alcune funzioni di base (per i blog) che invece su Joomla richiedono l’installazione di plugin esterni.

Questi particolari hanno reso WordPress la piattaforma di blogging numero uno al mondo in termini di numeri di utilizzo.

Considerazioni

Va detto che non si può essere imparziali dopo un’esperienza approfondita con entrambe le piattaforme, e sebbene la lettura fino ad ora tenda a dipingere Joomla come più malleabile e dunque migliore di WordPress.

In verità Joomla è un “ammazzaserver”, molto pesante, con una gestione dei template a dir poco complessa e orientata più al programmatore che al designer.

Ha una gestione della sicurezza penosa e richiede costantemente aggiornamenti dispendiosi in termini di manutenzione. Non assicura un salta veloce da ramo a ramo con una migrazione di contenuti indolore.

Noi ove possibile scegliamo WordPress come CMS.

WordPress XMLRPC, più di 162.000 siti WordPress utilizzati per attacco DDOS

ddosGli attacchi DDOS stanno diventando una tendenza comune ultimamente, ed è una questione molto seria per ogni proprietario del sito. Oggi vi voglio parlare di un grande attacco DDOS che ha sfruttato migliaia di siti web WordPress ignari come vettori di amplificazione.

Qualsiasi sito WordPress con Pingback abilitato (che è attivata per impostazione predefinita) può essere utilizzato in attacchi DDOS contro altri siti.  Notare che XMLRPC viene utilizzato per pingbacks, trackback, l’accesso remoto tramite dispositivi mobili e molte altre caratteristiche è molto probabile che sia abilitato. Ma può anche essere pesantemente abusato come quello che stiamo vedendo.

I fatti

E ‘successo tutto nei confronti di un sito WordPress popolare che era andato giù per molte ore a causa di un DDOS. Poiché l’attacco è aumentato in termini di dimensioni, il loro hoster l’ha spento, e poi hanno deciso di chiedere aiuto a un proxy di tipo Cloudflare.

Una volta che il DNS è stato ripristinato siamo stati in grado di vedere cosa stava succedendo, era un grande attacco flood basato su  HTTP (layer 7) , inviare ovvero centinaia di richieste al secondo al server. La richiesta sembrava questa:

 
74.86.132.186 - - [09/Mar/2014:11:05:27 -0400] "GET /?4137049=6431829 HTTP/1.0" 403 0 "-" "WordPress/3.8; http://www.mtbgearreview.com"
121.127.254.2 - - [09/Mar/2014:11:05:27 -0400] "GET /?4758117=5073922 HTTP/1.0" 403 0 "-" "WordPress/3.4.2; http://www.kschunvmo.com" 
217.160.253.21 - - [09/Mar/2014:11:05:27 -0400] "GET /?7190851=6824134 HTTP/1.0" 403 0 "-" "WordPress/3.8.1; http://www.intoxzone.fr" 
193.197.34.216 - - [09/Mar/2014:11:05:27 -0400] "GET /?3162504=9747583 HTTP/1.0" 403 0 "-" "WordPress/2.9.2; http://www.verwaltungmodern.de" 
..

Se notate, tutte le query avevano un valore casuale (come “? 4.137.049 = 643.182”), che aggirato la loro cache e forzare una pagina di ricarica completa ogni volta. Si stava uccidendo il loro server abbastanza rapidamente.

Ma la parte più interessante è che tutte le richieste provenivano da siti WordPress validi e legittimi. Sì, gli altri siti WordPress mandavano che le richieste casuali portando il sito down.

WordPress che ha XMLRPC abilitato = Very Large Botnet

Proprio nel corso di poche ore, oltre 162.000 diverse e legittime siti WordPress cercato di attaccare il suo sito.Avremmo probabilmente abbiamo rilevato molto di più siti, ma abbiamo deciso che avevamo visto abbastanza e bloccato le richieste al firewall di confine, soprattutto per evitare di riempire i registri con spazzatura.

Riuscite a vedere quanto potente può essere? Un attaccante può usare migliaia di siti WordPress popolari e puliti per svolgere il loro attacco DDOS, pur essendo nascosto nell’ombra, e che tutto accade con un semplice ping torna richiesta al file XML-RPC:

$ Curl-D - "www.anywordpresssite.com / xmlrpc.php"-d '<methodCall><methodName>pingback.ping</methodName><params><param><value><string>http://victim.com</string></value></param><param><value><string>www.anywordpresssite.com/postchosen</string></value></param></params></methodCall>'

Il tuo sito attaccando gli altri?

Potrebbe essere e non avete idea. Per verificare, guardare attraverso i registri di eventuali richieste POST al file XML-RPC, simile a quello qui sotto. Se vedi un pingback a un URL casuale, sai che il tuo sito è attuato in modo abusivo.

93.174.93.72 - [09/Mar/2014: 20:11:34 -0400] "POST / xmlrpc.php HTTP/1.0" 403 4034 "-" "-" "PostRequest: <xml version = \ x221.0 \ x22 encoding=\x22iso-8859-1\x22?>\x0A<methodCall>\x0A<methodName>pingback.ping</methodName>\x0A<params>\x0A  <param> \ x0A <valore> \ x0A <string> http://fastbet99.com/?1698491=8940641 </ string> \ x0A </ value> \ x0A </ param> \ x0A <param> \ x0A <valore > \ x0A <string> yoursite.com </ string> \ x0A </ value> \ x0A </ param> \ x0A </ params> \ x0A </ methodCall> \ x0A "
 
 94.102.63.238 - [09/Mar/2014: 23:21:01 -0400] "POST / xmlrpc.php HTTP/1.0" 403 4034 "-" "-" "PostRequest:   \ X0A   \ X0A   pingback.ping   \ X0A   \ X0A   \ X0A   \ X0A   http://www.guttercleanerlondon.co.uk/?7964015=3863899   \ X0A   \ X0A   \ X0A   \ X0A   \ X0A   yoursite.com   \ X0A   \ X0A   \ X0A   \ X0A   \ X0A "

Per interrompere il vostro sito WordPress da uso improprio, è necessario disattivare la funzionalità XML-RPC (pingback) sul tuo sito.

Un modo migliore per bloccarlo è quello di aggiungere al file functions.php del tema attuale, aggiungendo il seguente filtro:

add_filter( ‘xmlrpc_methods’, function( $methods ) {
unset( $methods[‘pingback.ping’] );
return $methods;
} );

Provatelo e fare la vostra parte per rendere Internet un luogo più sicuro per tutti.

WordPress e la sua continua corsa all’oro.

wordpress_recordWordPress si conferma un CMS di valore e continua a essere scelta da molti professionisti. Ecco il perché di un così tale successo

WordPress è un successo. A dimostrazione dell’incredibile popolarità raggiunta dal CMS ci sono gli oltre 5 milioni di download della versione 3.7 e il continuo tam-tam mediatico che si è generato intorno al rilascio della nuova versione 3.8.

La nota piattaforma di blogging sta quindi per raggiungere una release importante in termini di novità che verranno introdotte: si vociferano cambiamenti al pannello amministrativo, nuove funzionalità per rendere ai neofiti la gestione del CMS ancora più semplice e tanto altro ancora.

La semplicità d’uso, la stabilità e la potenza applicativa stanno permettendo a WordPress di riscuotere un successo senza uguali e senza precedenti. Non è un caso, infatti, che la piattaforma venga scelta non solo dagli addetti ai lavori, ma anche dai giornalisti, dai designer, dai fotografi, dai programmatori, dai ristoratori, dagli insegnanti e da tantissimi altri professionisti per costruire i propri siti Web personali o business.

WordPress sta proprio vivendo un’epoca d’oro e si trova nel bel mezzo di quella che in gergo viene definita la Gold Rush o corsa all’oro dei CMS.

Il termine Gold Rush è infatti spesso utilizzato all’estero per indicare i pionieri che in epoche storiche moderne si sono spostati nei territori dell’Australia, del Brasile, del Canada, del Sud Africa e degli Stati Uniti per estrarre l’oro dalla sabbia e dalle miniere, in cerca di fortuna e soldi.

Lo stesso termine viene utilizzato per indicare un settore in cui si assiste a un’ampia crescita con molte persone che riescono a creare un business redditizio. Per esemplificare, il lancio dell’Apple Store è stata un Gold Rush per molti programmatori, che pionieri si sono lanciati nel settore della programmazione per i dispositivi iOS, ottenendo così lauti guadagni.

WordPress è una Gold Rush del settore CMS

WordPress non è certo da meno: la piattaforma ha dato il via a un’interessante Gold Rush, in cui i pionieri hanno già fatto storia e a cui si stanno avvicinando ora professionisti di tutti i settori per condividere con un gruppo sempre crescente un’opportunità di business e di guadagno in continua ascesa.

Aziende come WooThemes, StudioPress, Gravity Forms e tante altre che hanno visto la luce nel 2008/2009 hanno fiutato l’importanza di WordPress e hanno promosso un vero e proprio market di plugin e temi commerciali e gratuiti. A questi conquistatori si sono poi avvicendati tanti altri, che ancora vedono in WordPress un’opportunità incredibile.

Quando si assiste a un fenomeno di successo di questa portata, viene comunque da chiedersi quanto durerà. E la risposta in questo caso non è semplice da fornire. Al momento, infatti, non vi sono concorrenti forti all’orizzonte: solo Tumblr è riuscito a portare via una fetta di blogger a WordPress, ma la piattaforma non può essere utilizzata a fini business e non possiede natura di CMS, per cui non può certo essere considerata una temibile avversaria.

Anche i vecchi leoni delle trascorse epoche ruggenti, Drupal e Joomla, non sembrano riuscire a controbattere l’ascesa di WordPress, a meno di importanti e radicali evoluzioni delle piattaforme, che per ora non sembrano delinearsi all’orizzonte.

Insomma, per come appare ora il settore, WordPress assisterà a un’ulteriore crescita almeno per i prossimi cinque anni, che è un periodo di tempo davvero molto lungo per chi abita Internet.

Ottimizzare le performance di un sito web. Alcuni passi fondamentali per gestire siti con migliaia di visite al secondo

ottimizzazione-siti-webQuando si ha a che fare con un sito web con moltissime visite, prima o poi si dovrà fare i conti con le risorse insufficienti, l’inefficienza del sito e col portafogli.

Col portafogli perchè se continuerete ad avere un sito lento, non venderete; ma anche perchè per aumentare le performance probabilmente vi venderanno servizi cloud e servizi di hosting da svariate migliaia di euro al mese.

Questo è infatti il modo di ragionare puramente commerciale e per niente etico di molti fornitori di hosting.

Nella maggior parte dei casi invece sarebbe bastato solo rivolgersi alle persone giuste per fare un tuning intelligente del sistema, sostituire eventuali servizi con equivalenti più efficienti e mettere in piedi tecniche per massimizzare le performance e minimizzare i costi.

Verosimilmente in alcuni casi potremmo dimezzare i costi o addirittura decimare, aumentando le prestazioni in quei casi particolarissimi in cui realmente serve avere il massimo dell’efficienza.

Tra gli esempi di alcuni casi potrebbero essere portali giornalistici, community online, blog, o altri siti generici che hanno molte visite concorrenti e che richiedono funzionalità di lettura/scrittura verso il database ed hanno un interprete lato server come PHP.

Siti del tipo “Il fatto quotidiano” o la community su android “Tuttoandroid“.

Come gestire tutti quegli utenti in contemporanea ? Come dimensionare l’hardware ? Come settare il database per avere il massimo delle performance ? Quale webserver usare ? Come configurare l’interprete PHP ?

Per rispondere a queste domande bisogna avere una approfondita conoscenza sistemistica, conoscere i pro e i contro delle varie soluzioni disponibili e mettere in piedi un ambiente ottimale per dare il massimo dell’efficienza. In poche parole : Ottimizzare.

Brevemente possiamo dire che nell’ottica di gestire una mole elevatissima di utenti concorrenti bisogna scordarsi di implementare le soluzioni standard che il mercato offre in ambiente hosting.

In primis va scelto un hosting dedicato e non condiviso. Un server dedicato ben dimensionato con connettività possibilmente europea se si vuol rimanere contenuti nei costi.

Uno Xeon Quad core con 32 Giga di RAM e 3 terabyte di dati, 100 Mbit di banda normalmente lo si può trovare a meno di 80 euro / Mese.

Il webserver che normalmente viene configurato in questi casi è NGINX che offre (a differenza di Apache) di servire rapidamente i contenuti statici con un utilizzo efficiente delle risorse di sistema. È possibile distribuire contenuti dinamici HTTP su una rete che utilizza i gestori FastCGI per gli script, e può servire come un bilanciatore di carico software molto capace.

Ad esso dovrà essere abbinato PHP-FPM.

PHP-FPM è una derivazione di Php Fastcgi molto interessante, che apporta modifiche ed un nuovo modello di utilizzo al progetto originario. Incluso ultimamente nella release di Php 5.3.3, PHP-FPM rappresenta una tecnologia abbastanza matura da poter essere utilizzata in ambienti di un certo calibro. PHP-FPM ha la capacità di avviare pool multipli di processi Fastcgi in ascolto su porte separate per soddisfare le richieste su ambienti di hosting virtuale multidominio, anche se il modello di progettazione principale non consiglia utilizzi orientati all’hosting multiplo. PHP-FPM è stato principalmente pensato per siti web oberati da numerose richieste HTTP ed è dunque molto indicato per ambienti mono sito, con web server come Nginx e Lighttpd.

Il database se MySQL dovrà essere configurato in maniera adeguata in modo di gestire al meglio l’allocazione delle risorse come la cache delle query, i thread concorrenti, i vari engine di storage (MyISAM e InnoDB in primis), ecc…
Non basterebbe un libro intero sul tuning di MySQL, ma vi basti sapere che il settaggio può fare il buono e il cattivo tempo.

Se utilizzate CMS che lo permettono (o applicazioni da voi scritte appositamente) potrete affiancare a questa potentissima ricetta MEMCACHED.

Memcached aumenta le prestazioni e la scalabilità di siti web dinamici con tecnologia MySQL attraverso un caching dei dati e degli oggetti nella memoria per minimizzare il carico del database. I più grandi nomi del web, come YouTube, Facebook, Fotolog e Wikipedia utilizzano Memcached e MySQL per soddisfare le esigenze di milioni di utenti e di miliardi di visualizzazioni delle pagine ogni mese.

A livello WEB invece molti CMS (Drupal, Joomla, WordPress, ecc…) permettono l’implementazione di appositi moduli per effettuare il caching dei contenuti, ovvero far in modo di ridurre sensibilmente la generazione di pagine dinamicamente tramite PHP e MySQL e dunque far in modo di servire contenuti statici.

A questo potrebbe essere utile implementare e configurare servizi CDN specifici per distribuire le risorse e rendere più efficace il tutto.
I nodi CDN sono geograficamente distribuiti, spesso connessi a diverse dorsali; questi nodi collaborano vicendevolmente per soddisfare le richieste di contenuti, trasferendoli in maniera trasparente al fine di ottimizzarne il processo di consegna: un sistema centralizzato con unico server centrale non sarebbe in grado di soddisfare le molteplici richieste di servizio da parte di numerosi utenti. Le ottimizzazioni possono portare come vantaggi la riduzione dei costi per l’ampiezza di banda, o il miglioramento delle prestazioni, o entrambi.

Per gestire forum con centinaia di migliaia di iscritti invece, bisogna affidarsi alla soluzione commerciale di punta (peraltro molto economica), ovvero Vbulletin. Molto malleabile ed estremamente ricco di funzionalità, eccelle per la sua indiscussa velocità.

Abbiamo visto fino a qui alcuni dei passi principali per mettere online un sito rivolto a centinaia di migliaia di utenti, sicuramente non tutti, e non discussi approfonditamente.

Si potrebbe parlare di APC, di database NOSQL come MongoDB, Redis, ecc… di Web Accelerator come Varnish, o di un sacco di altre cose che sapientemente installate e configurate possano portare a risultati a dir poco sorprendenti.

Se pensi che il tuo sito Web abbia bisogno di dare il massimo in termini di velocità, o se credi di spendere troppo per la tua soluzione hosting o server dedicato attuale non ottimizzato e vuoi risparmiare oltre 2 terzi del canone mensile, siamo sicuramente la soluzione ai tuoi problemi.

Con un’analisi iniziale gratuita possiamo farti la nostra migliore offerta per avere il massimo delle performance al minor costo.

Contattaci per un preventivo gratuito

Servizio di conversione da Photoshop a WordPress.

da photoshop a wordpressConsiderando la mole di collaborazioni avute negli ultimi anni con freelance e agenzie di comunicazione a livello nazionale abbiamo deciso di lanciare ed offrire ufficialmente un servizio di conversione da photoshop a template WordPress.

Il servizio consiste nella conversione della grafica prodotta da un software  come potrebbe essere Photoshop (o Fireworks, Illustrator, Corel draw, Gimp, Paint Shop Pro, ecc.) ad un template (detto anche tema) per WordPress.

Il risultato finale sarà un template di massima qualità compatibile con tutti i maggiori browser da IE7 in poi.

Tra i principali benefici :

  • 100% codice xhtml / CSS / PHP scritto a mano.
  • Validazione w3c (xhtml e CSS)
  • Tema pronto per l’utilizzo dei widget.
  • Codice SEO friendly
  • Soddisfazione garantita
  • Costi economici (dal 30 al 50% in meno ai costi di agenzia)
  • Clausola e garanzia di riservatezza

Materiale necessario

Per poter usufruire del servizio è necessario fornire una grafica di tutte le singole pagine che si vuol realizzare in uno dei formati precedentemente elencati oppure esportata in formato JPG ad altissima risoluzione.

Qualora si intendesse consegnare un formato sorgente a livelli è bene consegnare in allegato anche gli eventuali font non standard utilizzati.

Nel caso vogliate implementare slideshow, o effetti javascript o jQuery essi vanno specificati in fase di richiesta preventivo e comunque concordati verbalmente.

Tempi di realizzazione

Dal momento in cui riceviamo l’anticipo e tutto il materiale necessario, occorrerà un’attesa che và dalle 24h ai 4/5 gg circa. (dipendendo dalla soluzione scelta) per la consegna del sito.
Si ricorda comunque che maggiori personalizzazioni grafiche andranno ad influire sui tempi di consegna.

Costi e metodi di pagamento

Una volta ricevuto e accettato il nostro preventivo gratuito procederemo con la firma del contratto e vi verrà chiesto di versare un anticipo pari al 50% del prezzo finale. Il restante 50% verrà versato comodamente alla consegna del sito.

Va ricordato che il servizio è specificatamente rivolto a freelance e agenzie web o di comunicazione. I prezzi riservati sono altamente competitivi e normalmente ridotti dal 30 al 50% rispetto ai costi praticati nelle agenzie.

Il preventivo è del tutto gratuito e valutato entro 24 ore (nei giorni feriali).

    Il tuo nome (richiesto)

    La tua email (richiesto)

    Recapito telefonico (richiesto)

    Quante pagine hai intenzione di convertire ? (richiesto)

    Allega un file zip con i file che intendi convertire ed eventuali font se presenti.

    Il tuo messaggio

    Coversione da photoshop a wordpress prezzi economici

    WordPress. Utilizzo e distribuzione. Un infografica vale più di mille parole

    Questo articolo nasce sull’utile indagine fatta da Yoast.com riguardo l’utilizzo e la diffusione della piattaforma WordPress.

    Da parte nostra è superfluo dire che SIAMO DI PARTE.

    Nati da esperienze con PHPnuke agli albori del 2000, passando per il promettente Mambo e il suo (deludente) successore Joomla, valutando con ponderatezza la bontà di Drupal, ma anche di altri CMS minori e soluzioni commerciali.

    Uno schieramento basato non sulla simpatia o su una religione ma sull’effettiva bontà del prodotto valutato e comparato nel corso di oltre un decennio.

    Malleabile, con decine di migliaia di plugin, un sistema di templating evoluto e facile da gestire, manutenzione indolore ed immediata in pochi semplici click, tecnologicamente raccomandato per avere un ottima indicizzazione, open source e gratuito.

    Più che meritatamente si aggiudica oltre il 50% della fetta di mercato dei CMS.

     

    Diffuzione WordPress

    The best in Australia aristocrat pokies play online.