WordPress è un sistema di gestione dei contenuti gratuito, open source e ampiamente utilizzato. Tuttavia, la creazione di un nuovo ambiente di web hosting con WordPress può richiedere molto tempo. Docker semplifica l'intero processo con pochi comandi che riducono il tempo e lo sforzo necessari per l'installazione. Docker è un'applicazione di containerizzazione open source creata per sviluppare, testare ed eseguire più applicazioni sulla stessa macchina. È molto utile per gli sviluppatori creare un ambiente di test senza sprecare spazio sul server e memoria.
In questo tutorial, ti mostreremo come installare WordPress con Docker su Ubuntu 20.04.
Prerequisiti
- Un nuovo VPS Ubuntu 20.04 sulla piattaforma Atlantic.net Cloud
- Una password di root configurata sul tuo server
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 20.04 come sistema operativo con almeno 4 GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al tuo server Ubuntu 20.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.
apt-get update -y
Passaggio 2:installazione delle dipendenze richieste
Innanzitutto, dovrai installare alcune dipendenze nel tuo server. Puoi installarli tutti eseguendo il seguente comando:
apt-get install mariadb-client apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.
Passaggio 3 – Installa Docker
Innanzitutto, scarica e aggiungi la chiave GPG con il seguente comando:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
Quindi, aggiungi il repository Docker con il seguente comando:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Una volta aggiunto il repository, puoi installare Docker e Docker Compose utilizzando il seguente comando:
apt-get install docker-ce docker-ce-cli containerd.io -y
Dopo aver installato entrambi i pacchetti, controlla la versione installata di Docker con il seguente comando:
docker --version
Dovresti ottenere il seguente output:
Docker version 19.03.12, build 48a66213fe
Fase 4:crea un contenitore MariaDB
Innanzitutto, dovrai scaricare l'immagine MariaDB dal repository Docker. Puoi scaricarlo con il seguente comando:
docker pull mariadb
Dovresti vedere il seguente output:
Using default tag: latest latest: Pulling from library/mariadb 3ff22d22a855: Pull complete e7cb79d19722: Pull complete 323d0d660b6a: Pull complete b7f616834fd0: Pull complete 78ed0160f03e: Pull complete a122e9306ac4: Pull complete 673e89352b19: Pull complete caf1e694359b: Pull complete 04f5e4f6ead3: Pull complete a41772aadb3d: Pull complete c3811aa2fa0a: Pull complete 655ad574d3c7: Pull complete 90ae536d75f0: Pull complete Digest: sha256:812d3a450addcfe416420c72311798f3f3109a11d9677716dc631c429221880c Status: Downloaded newer image for mariadb:latest docker.io/library/mariadb:latest
Quindi, crea una struttura di directory per WordPress sul tuo server:
mkdir ~/wordpress mkdir -p ~/wordpress/database mkdir -p ~/wordpress/html
Quindi, crea un contenitore MariaDB con nome wordpressdb eseguendo il comando seguente:
docker run -e MYSQL_ROOT_PASSWORD=root-password -e MYSQL_USER=wpuser -e MYSQL_PASSWORD=password -e MYSQL_DATABASE=wpdb -v /root/wordpress/database:/var/lib/mysql --name wordpressdb -d mariadb
Dovresti vedere un output simile al seguente:
e8c780b34cdcb66db9278635b109debb1775d6a6b6785c4e74c8e0815e3ba5e3
Nel comando precedente, ecco le variabili definite:
- MYSQL_ROOT_PASSWORD :Questa opzione configurerà la password di root di MariaDB.
- USER_MYSQL :Questo creerà un nuovo wpuser per WordPress.
- MYSQL_PASSWORD :Questo imposterà la password per wpuser.
- MYSQL_DATABASE :Questo creerà un nuovo database chiamato wpdb per WordPress.
- -v /root/wordpress/database:/varlib/mysql :Questo collegherà la directory del database alla directory mysql.
Quindi, controlla l'indirizzo IP del contenitore MariaDB con il seguente comando:
docker inspect -f '{{ .NetworkSettings.IPAddress }}' wordpressdb
Dovresti vedere l'indirizzo IP del contenitore MariaDB nel seguente output:
172.17.0.2
Ora, connettiti al tuo container MariaDB usando l'utente e la password del database:
mysql -u wpuser -h 172.17.0.2 -p Enter password:
Dovresti vedere il seguente output:
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 10.5.4-MariaDB-1:10.5.4+maria~focal mariadb.org binary distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Ora verifica il database con il seguente comando:
show databases;
Dovresti vedere il tuo database wpdb nel seguente output:
+--------------------+ | Database | +--------------------+ | information_schema | | wpdb | +--------------------+ 2 rows in set (0.001 sec)
Ora esci dalla shell MariaDB con il seguente comando:
EXIT;
Passaggio 5:crea un contenitore WordPress
Innanzitutto, scarica l'immagine di WordPress dal repository Docker utilizzando il seguente comando:
docker pull wordpress:latest
Dovresti vedere il seguente output:
latest: Pulling from library/wordpress bf5952930446: Pull complete a409b57eb464: Pull complete 3192e6c84ad0: Pull complete 43553740162b: Pull complete d8b8bba42dea: Pull complete eb10907c0110: Pull complete 10568906f34e: Pull complete 03fe17709781: Pull complete 98171b7166c8: Pull complete 3978c2fb05b8: Pull complete 71bf21524fa8: Pull complete 24fe81782f1c: Pull complete 7a2dfd067aa5: Pull complete a04586f4f8fe: Pull complete b8059b10e448: Pull complete e5b4db4a14b4: Pull complete 48018c17c4e9: Pull complete d09f106f9e16: Pull complete 2ce4312168ba: Pull complete 01f0fe2819ef: Pull complete Digest: sha256:19c6a3a796b1db1e6ee8bd3e8d5d69510885fa62255ce8bd07ee34d3878d0312 Status: Downloaded newer image for wordpress:latest docker.io/library/wordpress:latest
Quindi, crea un nuovo contenitore WordPress chiamato wpcontainer dall'immagine scaricata usando il seguente comando:
docker run -e WORDPRESS_DB_USER=wpuser -e WORDPRESS_DB_PASSWORD=password -e WORDPRESS_DB_NAME=wpdb -p 8081:80 -v /root/wordpress/html:/var/www/html --link wordpressdb:mysql --name wpcontainer -d wordpress
Questo creerà un nuovo container WordPress ed esporrà la porta 80 sul container alla porta 8081 sul computer host.
Ora puoi verificare il tuo contenitore WordPress con il seguente comando:
curl -I localhost:8081
Dovresti ottenere il seguente output:
HTTP/1.1 302 Found Date: Fri, 07 Aug 2020 04:44:36 GMT Server: Apache/2.4.38 (Debian) X-Powered-By: PHP/7.4.9 Expires: Wed, 11 Jan 1984 05:00:00 GMT Cache-Control: no-cache, must-revalidate, max-age=0 X-Redirect-By: WordPress Location: http://localhost:8081/wp-admin/install.php Content-Type: text/html; charset=UTF-8
Passaggio 6:configura Nginx come proxy inverso
Successivamente, dovrai installare e configurare Nginx come proxy inverso per il contenitore di WordPress in modo da poter accedere al tuo WordPress utilizzando la porta 80.
Innanzitutto, installa il server web Nginx con il seguente comando:
apt-get install nginx -y
Una volta installato, crea un nuovo file di configurazione dell'host virtuale Nginx:
nano /etc/nginx/sites-available/wordpress
Aggiungi le seguenti righe:
server { listen 80; server_name wp.example.com; location / { proxy_pass http://localhost:8081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Salva e chiudi il file, quindi attiva l'host virtuale con il seguente comando:
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
Quindi, riavvia il servizio Nginx per applicare le modifiche:
systemctl restart nginx
Passaggio 7:accedi all'interfaccia di WordPress
Ora apri il tuo browser web e digita l'URL http://wp.example.com. Verrai reindirizzato alla procedura guidata di installazione di WordPress:

Seleziona la tua lingua e fai clic su Continua pulsante. Dovresti vedere la seguente schermata:

Fornisci il nome del tuo sito, il nome utente dell'amministratore, l'e-mail e la password e fai clic su Installa WordPress pulsante. Al termine dell'installazione, dovresti visualizzare la seguente schermata:

Fornisci il nome utente e la password dell'amministratore e fai clic su Accedi pulsante. Dovresti vedere la dashboard di WordPress nella schermata seguente:

Conclusione
In questa guida hai imparato come installare e configurare WordPress in ambiente Docker su Ubuntu 20.04. Ora puoi configurare WordPress in un ambiente di test:inizia oggi stesso con l'hosting VPS da Atlantic.Net!