Come configurare siti WordPress a caricamento rapido su DigitalOcean?

Avvia i siti WordPress (WP) su DigitalOcean (DO) in meno di 10 minuti.

I blogger principianti oi proprietari di siti spesso chiedono come far caricare il sito più velocemente sull’hosting condiviso e conoscono la limitazione. E dopo aver attraversato alcuni momenti di frustrazione, vogliono passare dall’hosting condiviso all’hosting cloud.

Una delle prime piattaforme di cloud hosting che viene in mente è DigitalOcean.

DO è eccellente per iniziare; è più economico di AWS e GCP, scalabile, veloce e offre tutte le funzionalità che puoi aspettarti.

Tuttavia, la configurazione di un sito è impegnativa se non si ha familiarità con le attività di amministrazione del sistema. Ti fornisci il sistema operativo e tutto ciò di cui hai bisogno per prenderti cura di te stesso. Puoi anche optare per Cloudways web hosting e configurare un server Web DigitalOcean in pochi clic se non vuoi entrare in tutti quei tecnicismi di configurazione del server. Offrono anche Digitalocean Premium Droplets.

Dopo aver ricevuto molte domande tramite e-mail su come impostare il sito WP su DO, ho pensato di mettere insieme una procedura per ottenere vantaggi da un pubblico più ampio.

Prima di entrare nell’implementazione tecnica, tieni presente che DO non è un registrar di domini. Ciò significa che non puoi acquistare un dominio da loro. Presumo che tu abbia già un dominio e, se non lo fai e desideri ottenerne uno nuovo, acquista da Namecheap.

Cominciamo…

Esistono diversi modi per configurare WordPress, ma uno dei modi più semplici che ho trovato è utilizzare EasyEngine. In questo tutorial utilizzeremo EasyEngine per installare tutto il software necessario e creare un sito WP.

Ottenere un server DigitalOcean

DO dispone di data center in più posizioni a livello globale. Scegli più vicino al tuo pubblico.

  • Accedi (Registrati se non hai ancora un account) in DigitalOcean
  • Crea una nuova goccia e scegli Ubuntu 18.x come sistema operativo
  • Scegli un piano droplet in base ai requisiti, ma se inizi per allora 2 GB o 3 GB di RAM dovrebbero essere ok
  • Scegli di monitorare come opzione aggiuntiva
  • Fornisci il nome host e fai clic su Crea

Ci vorrà circa un minuto e dovresti vedere il server appena creato elencato lì.

DO invierà le credenziali del server alla tua email registrata.

  • Accedi al server con le credenziali e l’IP forniti utilizzando il client SSH

Quando accedi per la prima volta, ti verrà chiesto di cambiare la password. Ciò è previsto e consigliato per passare a una password complessa.

Installazione di EasyEngine

Una volta che il server è pronto, è il momento di installare EasyEngine (EE). EE è un ottimo script di automazione che ti aiuta a creare più tipi di siti con un semplice comando. La cosa buona di EE è che non devi preoccuparti di configurare singoli componenti come Nginx, MariaDB, Redis, PHP, ecc. Tutto è curato in background ed è completamente GRATUITO!

L’ultima versione di EE sfrutta Docker ma, ancora una volta, non è necessario conoscerli. EE è pronto per la produzione e apprezzato da migliaia di siti a traffico intenso.

Lascia che ti mostri com’è facile usare EasyEngine. Presumo che tu sia ancora connesso a un server DigitalOcean.

  • Aggiorniamo eseguendo il comando seguente
apt-get update
  • E, installa EE con il seguente comando
wget -qO ee rt.cx/ee4 && sudo bash ee

Ci vorranno alcuni minuti per installare il software necessario in background e una volta terminato, e ti porterà al prompt.

Status: Downloaded newer image for easyengine/redis:v4.0.0
+-------------------+----------------------------------------------------------------------------+
| OS                | Linux 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 |
| Shell             | /bin/bash                                                                  |
| PHP binary        | /usr/bin/php7.2                                                            |
| PHP version       | 7.2.15-1+ubuntu18.04.1+deb.sury.org+1                                      |
| php.ini used      | /etc/php/7.2/cli/php.ini                                                   |
| EE root dir       | phar://ee.phar                                                             |
| EE vendor dir     | phar://ee.phar/vendor                                                      |
| EE phar path      | /root                                                                      |
| EE packages dir   |                                                                            |
| EE global config  |                                                                            |
| EE project config |                                                                            |
| EE version        | 4.0.10                                                                     |
+-------------------+----------------------------------------------------------------------------+
-----> Run "ee help site" for more information on how to create a site.
[email protected]:~#

Questo conclude che EasyEngine è installato e pronto per l’uso.

Creazione di un sito WordPress

EE ha un’opzione per creare un sito WordPress con cache Redis, che funziona meglio. Uso Redis su winadmin.it e ne sono soddisfatto, quindi consiglierei di provarlo.

Creiamo un sito WP su un dominio con cache Redis.

ee site create geekflarelab.com --type=wp --cache

Sopra, sto usando il comando ee per creare un sito con nome di dominio geekflarelab.com e digitare come WordPress con l’opzione di memorizzazione nella cache.

Ci vorranno alcuni secondi e dovresti vedere un messaggio di successo come il seguente.

Configuring project.
Creating WordPress site geekflarelab.com
Copying configuration files.
Starting site's services.
Downloading and configuring WordPress.
Moved /var/www/htdocs/wp-config.php to /var/www/wp-config.php successfully
Success: Host entry successfully added.
Checking and verifying site-up status. This may take some time.

Installing WordPress site.
Success: http://geekflarelab.com has been created successfully!
Site entry created.
Creating cron entry
Success: Cron created successfully
+--------------------+----------------------------------------+
| Site               | http://geekflarelab.com                |
+--------------------+----------------------------------------+
| Site Root          | /opt/easyengine/sites/geekflarelab.com |
+--------------------+----------------------------------------+
| Site Title         | geekflarelab.com                       |
+--------------------+----------------------------------------+
| WordPress Username | inspiring-galois                       |
+--------------------+----------------------------------------+
| WordPress Password | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| DB Host            | global-db                              |
+--------------------+----------------------------------------+
| DB Name            | geekflarelab_com                       |
+--------------------+----------------------------------------+
| DB User            | geekflarelab.com-DRf3pP                |
+--------------------+----------------------------------------+
| DB Password        | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| E-Mail             | [email protected]                 |
+--------------------+----------------------------------------+
| SSL                | Not Enabled                            |
+--------------------+----------------------------------------+
| Cache              | Enabled                                |
+--------------------+----------------------------------------+
[email protected]:~#

Ottimo, quindi il mio sito WP è stato creato. EasyEngine si occupa di Nginx, database, ottimizzazione PHP, quindi non devi apportare modifiche

È tempo di testarlo.

Pensi che funzionerà quando colpirò geekflarelab.com?

No!

Devo aggiornare un record di un dominio in modo che punti all’IP del server DigitalOcean.

  • Accedi alla console del registrar di domini e aggiorna il record A.

Ora posso accedere a geekflarelab.com

Vedi, in pochi minuti ho WP in esecuzione sul server cloud DO.

Preferirei anche fare quanto segue.

Modifica della porta SSH

Per impostazione predefinita, la porta SSH è 22 e tutti lo sanno. Questo aiuta un utente malintenzionato a eseguire un attacco di forza bruta e, se la password del server è debole, il tuo server potrebbe essere violato. Cambiare la porta predefinita in qualcos’altro sarebbe una rapida vittoria.

Ho spiegato come modificare la porta SSH nell’articolo seguente.

https://winadmin.it.com/cloud-vm-security-guide/#1-Changing-SSH-Default-Port

Implementazione del certificato SSL/TLS

È obbligatorio avere il tuo sito su HTTPS e la cosa buona è che puoi ottenerlo gratuitamente. Se non vuoi entrare in una lunga implementazione tecnica, ti consiglio di provare Cloudflare.

Cloudflare offre SSL GRATUITO, insieme ad altri vantaggi in termini di prestazioni e sicurezza.

Protezione di WordPress

Non lasciare WordPress non sicuro.

Sono disponibili più plug-in, ma se il budget lo consente, scegli una soluzione premium. Puoi scegliere di andare con il Cloudflare Piano PRO o SUCURI. Entrambi offrono prestazioni complete e funzionalità di sicurezza, tra cui certificato SSL GRATUITO, prevenzione degli attacchi DDoS, mitigazione delle prime 10 vulnerabilità OWASP, ecc.

Quanto è veloce il sito DigitalOcean WP?

Bene, è difficile generalizzare poiché ogni sito è unico. Ma, tanto per darti un’idea, ho fatto dei test di carico, ed ecco il risultato.

Ho installato il Tema Authority Pro di StudioPress e testare alcuni post fittizi utilizzando Blazemeter.

Piuttosto sorprendente. Non è vero?

Come puoi vedere, il test è stato eseguito con 50 utenti per 5 minuti dal nord della California e il risultato è eccezionale.

  • Tempo di risposta medio – 351,19 ms
  • Errore – 0%

Qualsiasi cosa inferiore a 1 secondo è impressionante.

Conclusione

Se utilizzi un hosting condiviso e stai cercando di passare al cloud e sei pronto a dedicare del tempo alla configurazione, DigitalOcean sarebbe una buona scelta. Tuttavia, se non hai tempo e capacità per gestirti, ti consiglio di dare un’occhiata a Kinsta.

Kinsta è una piattaforma di hosting WP gestita premium che sfrutta la piattaforma Google Cloud per offrire le migliori prestazioni e sicurezza.