In questo tutorial vi spiegheremo come integrare WordPress con Amazon S3 e, come soluzione alternativa, utilizzare un Content Delivery Network (CDN). Questo può farvi risparmiare notevolmente sui costi dell consumo di banda, fare da backup e aiutarvi a velocizzare il vostro sito.

Amazon S3 è una soluzione di storage, e parte dei tanti prodotti di Amazon Web Services. In genere viene utilizzato per siti che hanno bisogno di backup aggiuntivi con una soluzione come il nostro add-on di backup esterno, o che servono file di grandi dimensioni (download, software, video, giochi, file audio, PDF, ecc.).

Amazon ha dimostrato di essere molto affidabile e, grazie alla sua massiccia infrastruttura, è in grado di offrire costi di archiviazione molto bassi. Tra i clienti di S3 ci sono Netflix, Airbnb, SmugMug, Nasdaq, ecc.

WordPress Amazon S3

Grazie al fatto che Amazon S3 si occupa interamente di archiviazione di massa, potete quasi star certi che i prezzi saranno più economici rispetto al vostro host WordPress. L’offload dei media su AWS può essere un ottimo modo per risparmiare ed è gratuito per il primo anno (fino a 5 GB di archivio). Inoltre, dato che le richieste per i vostri media sono servite direttamente da Amazon, ciò comporta un minor carico sul vostro sito WordPress, il che significa tempi di caricamento più rapidi.

Amazon S3 non va confuso con Amazon CloudFront. CloudFront è una soluzione CDN, mentre S3 è una soluzione di storage. Tuttavia, entrambi possono essere utilizzati in modo intercambiabile, come vedremo più avanti.

Configurazione di Amazon S3 in WordPress

Per questa integrazione, consigliamo di utilizzare il plugin WP Offload S3 Lite, sviluppato dal fantastico team di Delicious Brains. La versione base è gratuita. Il plugin copia automaticamente i file dal vostro sito WordPress su Amazon S3 man mano che vengono caricati nella libreria media. C’è poi una configurazione opzionale per l’aggiunta di un CDN, come Amazon CloudFront, KeyCDN, o MaxCDN.

WP Offload S3 Lite
WP Offload S3 Lite

Questo plugin è piuttosto leggero, solo 204 KB per l’esattezza. Al momento conta oltre 30.000 installazioni attive con una valutazione di 4 stelle su 5. Seguite la procedura qui riportata.

Passo 1

Per prima cosa, installate il plugin gratuito WP Offload S3 Lite. Potete scaricarlo dalla repository di WordPress o cercando “wp offload s3” all’interno della vostra bacheca di WordPress, alla voce “Aggiungi nuovo” plugin. Cliccate su “Installa ora” e attivatelo.

Installare WP Offload S3 Lite
Installare WP Offload S3 Lite

Passo 2

Potete seguire la documentazione di WordPress Amazon S3 di Delicious Brains oppure seguirci nella restante parte di questa guida in modo più approfondito.  Accedete al vostro account di Amazon Web Services. Se non ne avete uno, potete iscrivervi gratuitamente. Dovrete poi creare un nuovo utente. Scegliete un nome utente e selezionate “Programmatic access”.

Amazon Web Services - Aggiungi utente
Amazon Web Services – Aggiungi utente

Passo 3

Ora è necessario impostare i permessi per la gestione dei file in S3 da parte dell’utente, quindi selezionate “Attach existing policies directly” e cliccate su “Create policy”. Questo si aprirà in una nuova finestra. Una volta terminato, dovrete tornare a questo punto.

Autorizzazioni in AWS
Autorizzazioni in AWS

Passo 4

Cliccate su “Select” accanto all’opzione “Create your own policy”.

Creare una policy in AWS
Creare una policy in AWS

Passo 5

Successivamente dovrete dare alla vostra policy un nome e una descrizione. Può essere quualsiasi cosa. Copiate quindi il seguente codice nella sezione “Policy Document”.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteObject",
        "s3:Put*",
        "s3:Get*",
        "s3:List*"
      ],
      "Resource": [
        "arn:aws:s3:::*"
      ]
    }
  ]
}

Questa policy permette all’utente di creare bucket, eliminare solo i file (non i bucket), caricare file, scaricare file e creare liste di file e bucket. Questo è il livello base dei permessi richiesti per il funzionamento dei plugin.

Tuttavia, consigliamo di consultare la documentazione di Delicious Brain per ulteriori restrizioni sui bucket. Ad esempio, modificando la sezione delle risorse di cui sopra e aggiungendo il nome del vostro contenitore per bloccarlo (perftesting è il nome del nostro contenitore giù al punto 11).

"Resource": [
 "arn:aws:s3:::perftesting/*",
]

Poi fate clic su “Create Policy”.

Review policy in AWS
Review policy in AWS

Passo 6

Tornando alla finestra dal Passo 4, è ora necessario aggiungere la policy all’utente che si sta creando. Fate clic su “Refresh” e vedrete in alto la vostra nuova policy appena creata. Selezionatela e fate clic su “Next”.

Permessi AWS per l'utente
Permessi AWS per l’utente

Passo 7

Poi fate clic su “Create user”.

Crea utente in AWS
Crea utente in AWS

Passo 8

Nell’ultima schermata è necessario copiare l’ID della chiave d’accesso e la chiave d’accesso segreta in un luogo sicuro, in quanto ne avrete bisogno quando tornate nella bacheca di WordPress.

Chiave di accesso AWS
Chiave di accesso AWS

Passo 9

Poi, di nuovo in WordPress, fate clic su “Access Keys” sotto AWS e inserite le vostre credenziali appena create. Oppure, come consiglia Delicious Brains, è meglio definirle nel file wp-config.php. Basta copiare il seguente frammento e sostituire le stelle con le chiavi.

define( 'DBI_AWS_ACCESS_KEY_ID', '********************' );
define( 'DBI_AWS_SECRET_ACCESS_KEY', '****************************************' );
agganciare amazon web services in wordpress
Agganciare Amazon Web Services in wordpress

Passo 10

Dovrete quindi creare un contenitore da utilizzare. Se non siete ancora iscritti ad Amazon S3, potete iscrivervi qui. Offrono una prova gratuita da cui potete iniziare. Fate clic su “S3 and CloudFront” sotto le impostazioni del plugin AWS e poi fate clic su “Create bucket”. Potrete quindi scegliere una regione. Cliccate su “Create New Bucket”. Ricordate che i costi di archiviazione variano a seconda della regione. Vedi i prezzi.

Creare il contenitore Amazon S3
Creare il contenitore Amazon S3

Passo 11

Per far funzionare WP Offload S3 con alcuni plugin di terze parti come WooCommerce, potrebbe essere necessario installare e attivare alcuni dei loro add-on di compatibilità. E questo a volte richiede il pagamento della licenza premium. Ma in molti casi basta la versione gratuita. Di default sono selezionate le seguenti opzioni, come si vede qui sotto. Se siete su HTTPS dovreste abilitarle.

Impostazioni del plugin AWS
Impostazioni del plugin AWS

La configurazione di WordPress Amazon S3 è completa! Le vostre immagini saranno ora copiate su Amazon S3 quando verranno caricate nella libreria media di WordPress. Potete fare la stessa cosa con le vostre risorse (CSS, JS, font, ecc.), ma è necessaria la licenza premium per ottenere l’addon assets pull.

Nota: I file caricati manualmente tramite SFTP non verranno copiati su Amazon S3. WP Offload Media scarica solo gli elementi che vengono caricati per la prima volta nella libreria media di WordPress.

Un’altra importante impostazione di cui sopra è la possibilità di rimuovere i file dal server locale una volta che sono stati scaricati su S3. Questo può aiutarvi a ridurre drasticamente il fabbisogno di spazio su disco sul vostro host WordPress. Se si attiva questa opzione, basta verificare la compatibilità con altri plugin. Potete leggere anche questo tutorial sul caricamento dei file su Amazon S3 dal browser.

Amazon S3 con WordPress e un CDN

Se utilizzate un CDN per velocizzare la consegna delle vostre risorse, potete abilitarlo nella sezione CloudFront o Custom Domain. Date un’occhiata a questi tutorial per procedere.

Una volta che lo avete impostato e avete l’URL del vostro CDN, potete inserirlo nel campo del dominio personalizzato, come si vede qui sotto.

cdn amazon s3
CDN Amazon S3

Non perdetevi anche la nostra guida su come scaricare i media su Google Cloud Storage.