Posso installare WordPress su hosting Windows?

In teoria, WordPress è compatibile anche con hosting Windows.

Tuttavia, l’installazione di WordPress su hosting Windows è inefficiente, fonte di molti problemi (soprattutto riguardo ai permessi di scrittura delle cartelle) e, quindi, decisamente sconsigliabile.

Si veda a questo proposito anche http://www.wordpress-it.it/wiki/Main/Requisiti

Per l’installazione di WordPress consigliamo vivamente un hosting Linux.

Come reimpostare WordPress in inglese

Sul nostro piano hosting WordPress, viene installato automaticamente di default WordPress nella versione italiana.

Se per un qualsiasi motivo si preferisse ritornare alla versione inglese, è sufficiente effettuare la seguente operazione:

  • individuare ed editare il file wp-config.ph
  • identificare all’interno la seguente riga:
    define (‘WPLANG’,’it_IT’);
  • correggerla come segue:
    define (‘WPLANG’,”);
  • salvare quindi il file.

Andando alla pagina di amministrazione di WordPress, questa adesso dovrebbe presentarsi in inglese.

WordPress Menu Item Limit

WordPress è affetto da un noto bug, che limita il numero di voci di menu implementabili all’interno di un sito, troncandole ad un certo valore limite.

Il problema riguarda solo i “custom menu”: il cosiddetto “default menu” non è affetto dal problema.
Quindi, la soluzione più semplice consiste nel rinunciare ai “custom menu”, ed utilizzare solo il “default menu”.

[box type=”warning”] NOTA: il problema NON riguarda gli utenti del nostro piano hosting WordPress, in quanto lo stesso è contraddistinto da una configurazione particolare dei server che risolve il problema a monte. Le soluzioni di seguito esposte sono destinate quindi solo agli utenti degli altri piani (hosting Linux Basic Illimitato, hosting Linux Pro, hosting Fracto multidominio)[/box]

Qual’è la causa di questo problema?

Con la versione 5.3.9 di php è stata introdotta una nuova direttiva: max_input_vars (che stabilisce il valore massimo di variabili che è possibile trasmettere in una chiamata di tipo POST.
Questo limite è indispensabile per evitare criticità nel server (un elevato numero di variabili in una chiamata di tipo POST è una diffusa tecnica per portare attacchi di tipo DOS).

Contemporaneamente, anche Suhosin PHP Security module dispone di due direttive con scopi simili: suhosin.post.max_vars e suhosin.request.max_vars

Il “custom menu” di WordPress è mal ingegnerizzato, ed usa un numero abnorme di variabili di tipo POST, il cui numero peraltro dipende dal numero di voci implementate nel menu.
Poiché questo numero è limitato dalle già citate max_input_vars, suhosin.post.max_vars e suhosin.request.max_vars, ne consegue che il numero totale di variabili viene troncato, in funzione dei limiti imposti sul server.

Come risolverlo?

Le diverse possibili soluzioni sono, nell’ordine:

  • rinunciare all’utilizzo dei “custom menu” e limitarsi ad utilizzare il “default menu” (nell’attesa magari che la community di sviluppo proponga una funzione di “custom menu” meglio implementata)
  • utilizzare il “custom menu” nel limite di voci consentito dalla specifica installazione
  • utilizzare, al posto del “custom menu”, lo specifico plugin per WordPress UberMenu (che svolge esattamente la funzione che dovrebbe svolgere il “custom menu”, ma è ingegnerizzato correttamente e quindi non abusa di variabili di tipo POST)
  • passare al nostro piano hosting specifico per WordPress

False soluzioni

Su molti forum viene proposto di impostare le direttive coinvolte con valori elevatissimi, del tipo:

[box] max_input_vars = 3000

suhosin.post.max_vars = 3000

suhosin.request.max_vars = 3000[/box]

Ma non si tratta di una soluzione da adottare con attenzione, e comunque non percorribile in un ambiente di hosting shared ad alto carico.

Perché?

  • Perché, di fatto, annulla lo scopo per cui queste direttive sono state introdotte, reintroducendo quindi la stessa vulnerabilità che, con la loro introduzione, era stata scongiurata;
  • perché comporta che sul server vengano implementate quindi altre misure di sicurezza, non sempre altrettanto efficaci ed efficienti
  • perché altri software, diversi da WordPress, potrebbero venir impattati negativamente da impostazione del genere

 

backup del database con WordPress

Per la salvaguardia del proprio sito sviluppato con WordPress, è fondamentale effettuare periodicamente un backup del proprio database MySql.

Gli altri contenuti web sono infatti per lo più statici, suscettibili di poche modifiche e, in caso di necessità, facilmente “ricostruibili” con poco sforzo.

Viceversa, la gran parte dei contenuti (testi delle pagine, post, commenti, struttura dei menu ecc.) è conservata nel database MySql.

Per effettuare regolarmente il backup del database MySql di WordPress, consigliamo l’installazione ed uso del plugin WordPress Database Backup.

NOTA: il plugin WordPress Database Backup è preinstallato nel nostro piano hosting dedicato WordPress (e quindi è sufficiente configurarlo dal pannello di amministrazione di WordPress); se avete un piano hosting Basic Linux Illimitato oppure Linux Pro dovete prima procedere all’installazione del plugin.

 

E’ possibile utilizzare questo plugin per due distinte operazioni:

  • per effettuare backup straordinari in maniera manuale (p.es.: subito dopo l’installazione, prima di procedere ad un aggiornamento o a modifiche importanti ed ogni volta in cui, per scupolo e prudenza, sia il caso di effettuare un backup)
  • in maniera automatica, per effettuare backup periodici

UTILIZZO:

  1. Nel pannello di amministrazione di WordPress, selezionare la voce di menu TOOLS ⇒ Backup
    verranno elencate tutte le tabelle estranee a WordPress eventualmente presenti nel database: è possibile selezionarle per effettuare il backup anche di queste.
    NOTA: questo potrebbe incrementare sensibilmente le dimensioni del backup!
  2. selezionare dove deve essere effettuato il backup:
    a – “save to server” (DA NON USARE!)
    Questo crea una copia di backup locale sul server; è un’operazione del tutto inutile, oltre che contraria alle nostre AUP.
    b – “Download to your computer”
    In questo modo verrà creata una copia sul vostro computer, che verrà scaricata attraverso il browser.
    Utile per backup straordinari; richiede che lasciate attivo il browser per tutto il tempo necessario a realizzare il file di backup e per effettaurne poi il download.
    c – “email backup to …”
    Con questa opzione, il file di backup viene inviato per email all’indirizzo specificato.
    E’ la funzione più comoda per i backup periodici.
    Consigliamo di verificare che la dimensione del file di backup non sia tale da impedirne l’invio per email (verificare con il proprio provider le limitazioni della propria casella).
    Prudenza vuole che il backup venga effettuato su una casella email del tutto estranea (come dominio e servizio) a quella utilizzata per il servizio; la soluzione consigliabile è attivare specificatamente una casella (anche gratuita) su provider quali gmail.com o yahoo.com, da utilizzare solo per questo scopo.

per effettuare un backup straordinario: a questo punto, cliccare su “Backup now!”
oppure impostare la frequenza per un backup periodico ( si consiglia “once daily” oppure “once weekly”, ovvero, rispettivamente, una volta al giorno o una volta alla settimana, in funzione della frequenza con cui viene modificato il sito), verificare l’indirizzo email di destinazione e cliccare su “schedule backup”. A questo punto, il sistema invierà automaticamente e con la frequenza impostata un set di backup del database alla casella email indicata.

NOTE:

si sconsiglia di effettuare backup automatici con frequenza superiore ad una volta al giorno; teoricamente è possibile impostarli anche per “due volte al giorno” o “ogni ora”, ma ciò potrebbe interferire con il normale funzionamento del sito, oppure i messaggi potrebbero venir respinti dal server email destinatario.
dopo aver impostato i backup automatici, per i primi giorni verificare il corretto funzionamento; testare altresì che i file inviati siano integri e completi
effettuare periodicamente un controllo per verificare che tutto funzioni regolarmente (non c’è nulla di peggio che, nel momento del bisogno, aprire la casella email su cui venivano inviati i backup, e scoprire che da tre mesi gli stessi venivano classificati come “spam” e quindi cancellati… e che quindi l’ultimo backup valido risale a tre mesi prima!)
si consiglia di impostare i backup automatici in modo che vengano effettuati in ore di poco traffico (p.es. alle ore 03:00 della notte), in modo da non interferire con la normale operatività del sito

Come rendere più sicura l’installazione di WordPress

WordPress è oggi il CMS più comune e diffuso: solo nei nostri piani di hosting shared ospitiamo oltre un migliaio di siti che lo utilizzano (senza contare le installazioni su VPS o server dedicati).

Come tutti i CMS, apre però il fianco ad alcune vulnerabilità, che possono permettere l’installazione abusiva di codice malevolo.

Riteniamo quindi importante fornire alcuni suggerimenti per aumentare la sicurezza della propria installazionedi WordPress:

MISURE MINIME

  • aggiornate WordPress e tutti i plugin installati all’ultima versione disponibile
  • installate il plugin di sicurezza http://wordpress.org/extend/plugins/better-wp-security/
    (nota: questo plugin è preinstallato di default sul nostro piano hosting dedicato per WordPress: quindi, l’utente in tal caso deve solo abilitarlo e configurarlo)
  • assicuratevi di utilizzare per l’utente admin una password molto “robusta”
    (almeno 10 caratteri, utilizzando lettere maiuscole e minuscole, numeri, caratteri speciali; qualcosa del tipo “fyU7b!vfPjASnw”)
  • non utilizzate l’utente admin per postare ed inserire contenuti
    L’utente admin va utilizzato solo per installare, configurare e gestire l’installazione di WordPress. Tutti i contenuti ed i post vanno inseriti utilizzando un altro profilo utente, creato appositamente
  • fate regolari backup del vostro sito e del database
    Ricordiamo che i backup che noi eseguiamo servono a permettere il ripristino dei servizi in seguito ad un crash del server; se i dati del vostro sito vengono cancellati per errore, o a causa di codice malevolo inseritosi nel sito, non è possibile effettuare il restore dai nostri set di backup
  • utilizzate plugin e template solo da fonte sicura
    Evitate di utilizzare plugin e template scaricati dal primo sito che capita; potrebbero essere contraffatti o infetti.
    Utilizzate solo software scaricato da siti sicuri (p.es. wordpress.org o download.com)

Altri suggerimenti per aumentare la sicurezza di un’installazione WordPress sono disponibili al seguente link:
http://codex.wordpress.org/Hardening_WordPress

 

MISURE SUPPLEMENTARI

[box type=”warning”] NOTA: non tutte queste misure sono adottabili all’interno di un piano di hosting shared. Alcune sono destinate solo a chi ha installazioni all’interno di VPS o server dedicati.[/box]

Disabilitate il comando DROP per l’utente DB_USER
(il comando DROP è virtualmente inutile per l’installazione di WordPress)

Rimuovete i file README ed i file di licenza
(in quanto rendono disponibili informazioni sulla versione utilizzata)

spostate il file wp-config.php ad un livello di directory superiore, ed impostate i relativi permessi a 400

prevenite la possibilità di lettura del file htaccess

limitate l’accesso a wp-admin solo a specifici IP

SE RISCONTRATE UNA VIOLAZIONE DI UNA VOSTRA INSTALLAZIONE WORDPRESS IN UN HOSTING SHARED O FRACTO:

segnalateci immediatamente il fatto con un ticket su panel.newmedialabs.it

invio di email da WordPress

come inviare email da WordPress usando un server SMTP autenticato

Se è necessario far inviare da WordPress delle mail (per risposta e notifica di form, alert ecc.) non bisogna dimenticare che l’invio di email dai nostri server di hosting è possibile solo previa autenticazione: ciò al fine di evitare spam (con conseguente inserimento in blacklist del server, a scapito di tutti gli utenti).

Tuttavia l’installazione base di WordPress utilizza un meccanismo di invio semplice, senza autenticazione SMTP (e che quindi non funziona).

Per risolvere, è necessario installare uno specifico plugin per l’autenticazione SMTP, quale ad esempio Easy WP SMTP (gratuito).

Una volta installato (attraverso il pannello di amministrazione di WordPress), il plugin andrà configurato come segue:

servizi email Rubalo.it / DomainRegister.it
SMTP Host: mail.miodominio1234.ext
Type of Encryption: TLS
SMTP port: 25

Gmail
SMTP Host: smtp.gmail.com
Type of Encryption: SSL
SMTP Port: 465

Yahoo
SMTP Host: smtp.mail.yahoo.com
Type of Encryption: SSL
SMTP Port: 465

Hotmail
SMTP Host: smtp.live.com
Type of Encryption: TLS
SMTP Port: 587