I siti WordPress richiedono normalmente costanti aggiornamenti per mantenere sicuro il core del CMS, i suoi temi e soprattutto i plugin installati. I siti molto grandi e con molti plugin potrebbero avere bisogno di aggiornamenti frequenti e più il sito diventa grande e accumula risorse, come immagini o file, più effettuare backup prima di ogni aggiornamento diventa impegnativo.
Idealmente si vorrebbe effettuare un backup subito prima di ogni aggiornamento in modo da poter ripristinare l’ultimissimo stato del sito se qualcosa andasse storto.
Un approccio sicuramente più complesso da gestire ma anche più sicuro sarebbe quello di usare una copia di staging, una copia di lavoro che può essere aggiornata a piacimento e poi usata come nuova versione di produzione. In un post successivo esploreremo questo scenario e mostreremo come implementare questa soluzione con la nostra piattaforma PaaS.
Per adesso concentriamoci sullo scenario in cui si ha una sola copia del sito Web o magari più siti Web ospitati con VaiSulWeb o all’esterno, presso altri provider.
L’obbiettivo
Il nostro obbiettivo è quello di poter creare un workflow di backup che consenta di:
- effettuare il backup del o dei siti Web WordPress nel modo più semplice possibile;
- avere la possibilità di effettuare backup incrementali successivamente al primo, cioè la possibilità di effettuare il backup solo dei dati aggiunti dopo l’ultimo salvataggio in modo da ridurne i tempi;
- salvare i dati in uno spazio esterno a quello dei siti Web (backup offiste) per evitare che la mancata disponibilità del sito o dell’infrastruttura del sito ci impedisca di accedere anche ai dati di backup;
- evitare meccanismi di storage complicati o che rendano difficile recuperare i dati grezzi, cioè il backup, nel momento in cui sia necessario accedere direttamente allo storage di memorizzazione;
- poter ripristinare facilmente il sito ex-novo qualora tutti i dati originali vadano persi ma avere anche di essere selettivi e ripristinare ad esempio solo il database o solo alcuni plugin.
Attivazione dello spazio di storage
I dati del o dei siti Web che vogliamo memorizzare verrano memorizzati all’interno di un repository S3. La scelta di S3 ci consente di attivare uno storage che usa un protocollo standard, accessibile senza una infrastruttura particolare che necessiti magari si aprire porte specifiche (ad es. FTP o SFTP) e magari dover interagire anche con i firewall aziendali. S3 infatti corre sul normale protocollo HTTP(S) ed è un protocollo di memorizzare che supporta un numero di elementi molto elevato essendo stato progettato per l’era del Cloud.
Un repository S3 può anche essere usato per altre attività come la memorizzazione di altri dati e può essere collegato al proprio dispositivo come disco aggiuntivo.
Nota: un altro vantaggio di S3 è la possibilità di poter attivare anche l’immutabilità degli oggetti, rendendo quindi impossibile la cancellazione degli archivi da parte di utenti malintenzionati che possano scoprire le credenziali di accesso. Questo scenario non è oggetto di questo post ma sarà spiegato in un post futuro.
Attiveremo il nostro repository S3 usando la piattaforma PaaS di VaiSulWeb. Se non si ha già un account attivo è possibile testare questo scenario usando un account trial di 14gg da creare nella nostra Area Clienti.
Una volta effettuato l’accesso all’interfaccia, dal marketplace è possibile cercare MinIO
ed iniziare la distribuzione del repository S3. Nel nostro caso, effettueremo la distribuzione di un repository con un solo nodo ma per altri scenari è possibile effettuare la distruzione di repository che includono fino a 16 nodi.
Diamo un nome al nostro ambiente, nel nostro caso “Backup WordPress”, e stabiliamo un indirizzo per il nostro repository, nel nostro caso “backuwp.euregion.site”.
Non è necessaria alcuna configurazione particolare ed in pochi minuti il nostro repository S3 sarà attivo e riceveremo un messaggio e-mail con i dati di accesso: l’URL della console, l’access key e la secret key.
La nostra console sarà attiva all’indirizzo
http://[host ambiente]:4949
e quindi nel nostro caso
http://backupwp.euregion.site:4949
Configurare l’accesso sicuro
Sebbene il nostro repository S3 sia già attivo non desideriamo connetterci senza una connessione sicura, in modo da evitare che utenti malintenzionati possano intercettare lo scambio dei dati. E’ consigliabile quindi attivare il supporto SSL per rendere sicure le connessioni con il nostro repository.
Effetuiamo quindi l’accesso all’interfaccia e facciamo click sul bottone che ci consente di modificare l’ambiente
e poi andiamo nella sezione SSL e abilitiamo il certificato built-in ed applichiamo le modifiche all’ambiente. Dopo pochi minuti l’ambiente sarà configurato per l’uso di SSL.
Nota: dopo l’abilitazione di SSL la console potrebbe non essere più accessibile in quanto le connessioni http vengono automaticamente trasformate in https e la console non è configurata per l’uso di SSL. Per risolvere questo problema si potrà accedere alla console con il medesimo indirizzo precedente aprendo una finestra Incognito (Chrome/Edge) o anonima (Firefox).
Preparare il repository
L’ultima operazione necessaria sarà quella di creare un bucket, accedendo alla console e facendo click su “Create Bucket”
Abbiamo chiamato questo bucket “Websites” e sarà destinato a memorizzare i dati del o dei siti di cui effettueremo il backup.
Il nostro repository è pronto.
Installazione di UpdraftPlus
Procederemo ora ad effettuare il setup di UpdraftPlus, il plugin che useremo per effettuare il backup del sito Web.
Nota: la versione free di UpdraftPlus non supporta il backup incrementale. In questo caso è possibile contattare VaiSulWeb per usufruire delle promozioni per l’attivazione della versione Premium che invece supporta il backup incrementale
Installare ed attivare il plugin e procedere alla sezione Impostazioni > UpdraftPlus. Nella sezione Impostazioni (“Settings”), selezionare “S3-compatible (generic)” e procedere alla configurazione dei dati di accesso.
Inserire la access key e la secret key fornita dalla piattaforma nei campi specifici, inserire il bucket nella sezione S3 location, ad es. “websites/sito1” per usare la cartella sito1 del bucket che abbiamo creato in precedenza.
Infine inserire l’host definito in precedenza (ad es. “backupwp.euregion.site”) nel campo S3 endpoint lasciando “Path style” in “Bucket access style”.
Con “Test S3 Settings” è possibile assicurarsi che le impostazioni S3 siano corrette.
Aggiungere alle impostazioni già attive anche il backup di “WordPress Core” per effettuare il backup completo dell’installazione e salvare i dati.
Ora si è pronti per effettuare il backup dell’intera installazione WordPress, sia manuale che programmato, salvando i dati all’interno del repository S3. Lo storage di backup potrà essere usato per memorizzare i dati anche di più siti Web suddividendoli per comodità in base alle cartelle (“sito1”, “sito2” etc.).
La parte S3 verrà fatturata a consumo e beneficerà di tutti i vantaggi della piattaforma PaaS.
Effettuare l’upgrade dello spazio di backup
Se fosse necessario in un secondo momento aumentare l’affidabilità del repository S3, magari distribuendo un cluster con più nodi per abilitare altre funzionalità di MinIO oppure aumentare lo spazio, sarà possibile procedere distribuendo un nuovo cluster con le caratteristiche necessarie e poi migrare i file contenuti nelle singole cartelle nel nuovo cluster.
Sarà poi possibile tornare in WordPress, aggiornare i dati di connessione e poi effettuare un rescan dello spazio di storage per ritrovare tutti i backup effettuati in precedenza.
Conclusioni
Con pochi passaggi abbiamo creato un sistema di backup completo e soprattutto autonomo per tutti i siti Web sviluppati con WordPress, capace di ripristinare l’intero sito Web oppure le unità di base come database, plugin, upload etc. L’intero processo non richiede l’intervento dei nostri tecnici ed è completamente gestibile dai nostri clienti.
Con questo post abbiamo voluto mostrare la flessibilità della piattaforma PaaS a disposizione dei nostri clienti e che può essere usata per scenari avanzati come la distribuzione di repository S3 e l’interconnessione dei nostri servizi tra di loro ma anche l’uso di servizi di VaiSulWeb per estendere e migliorare l’affidabilità di servizi esterni.
Come sempre il nostro servizio di assistenza rimane a vostra disposizione per eventuali chiarimenti o per informazioni sul funzionamento dei nostri servizi.
0
Leave a Comment