GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare WordPress con Docker su Ubuntu

In questo tutorial, installeremo WordPress utilizzando più contenitori docker. Wordpress stesso in un container e il database MariaDB in un altro container. Quindi installeremo Nginx sulla macchina host come proxy inverso per il container WordPress.

Docker è un progetto open source per semplificare agli sviluppatori e agli amministratori di sistema la creazione, la distribuzione e l'esecuzione di applicazioni distribuite all'interno di un contenitore Docker. Docker è una virtualizzazione a livello di sistema operativo, puoi creare l'isolamento del sistema per la tua applicazione con la finestra mobile per l'applicazione in esecuzione all'interno del contenitore. Puoi creare centinaia di contenitori docker all'interno del tuo server, il numero dipende dall'hardware della tua macchina.

Prerequisito

  • Ubuntu 15.04 - x86_64
  • Privilegi di root
  • Conoscenza Docker

Passaggio 1:installa Docker

In questo passaggio, aggiorneremo il repository di Ubuntu e quindi installeremo l'ultima versione di docker.io.

Diventa utente root per i passaggi successivi:

sudo -s

Aggiorna il repository di Ubuntu:

apt-get update

Ora installa i pacchetti Docker con il comando apt di seguito:

apt-get install docker.io

Al termine dell'installazione, avvia la finestra mobile e aggiungila per l'esecuzione all'avvio del sistema con il comando systemctl:

systemctl start docker
systemctl enable docker

Quindi, controlla la versione Docker con questo comando Docker:

docker version
docker run hello-world

L'installazione di Docker è terminata.

Fase 2:imposta il contenitore MariaDB

In questo passaggio, scaricheremo una nuova immagine MariaDB dal registro mobile e creeremo un nuovo contenitore basato su quell'immagine. Configureremo un nuovo database e un nuovo utente per l'installazione di WordPress.

Scarica l'immagine Docker MariaDB sul sistema con il comando pull Docker:

docker pull mariadb

Ora puoi vedere la nuova immagine MariaDB della finestra mobile con il comando seguente:

docker images

Quindi, crea un nuovo contenitore dall'immagine MariaDB per l'installazione di WordPress. Prima di creare il nuovo contenitore, crea una nuova directory per i dati di WordPress, la directory del database e la directory del codice di WordPress.

mkdir ~/wordpress
mkdir -p ~/wordpress/database
mkdir -p ~/wordpress/html

Ora crea il nuovo contenitore MariaDB con il nome 'wordpressdb' con il comando seguente:

docker run -e MYSQL_ROOT_PASSWORD=aqwe123 -e MYSQL_USER=wpuser -e [email protected] -e MYSQL_DATABASE=wordpress_db -v /root/wordpress/database:/var/lib/mysql --name wordpressdb -d mariadb

Se non ci sono errori, puoi vedere i risultati di seguito:

Spiegazione dei parametri:

  • MYSQL_ROOT_PASSWORD =configura la password per l'utente root MySQL.
  • MYSQL_USER =crea un nuovo utente MySQL 'wpuser' per il database di WordPress.
  • MYSQL_PASSWORD =imposta la password '[email protected]' per l'utente 'wpuser'.
  • MYSQL_DATABASE =crea un nuovo database per l'installazione di wordpress con il nome 'wordpress_db'.
  • -v /root/wordpress/database:/varlib/mysql =directory del database collegata alla directory mysql '/var/lib/mysql' sul contenitore per garantire la persistenza dei dati.

Il container MariaDBriadb è stato creato, ora controlla il nuovo utente e il database per l'installazione di WordPress per assicurarti che non ci siano errori con il comando in alto.

Dalla macchina host, controlla l'indirizzo IP del contenitore wordpressdb con il comando docker di seguito:

docker inspect -f '{{ .NetworkSettings.IPAddress }}' wordpressdb

Quindi, connettiti al contenitore wordpressdb con il comando mysql dal sistema host:

mysql -u wpuser -h 172.17.0.2 -p 
TYPE PASSWORD: [email protected]

Controlla il nuovo database 'wordpress_db':

show databases;

Tutti i risultati:

Il nuovo container Docker, l'utente MySQL e il database MySQL per WordPress sono stati creati con successo.

Fase 3:imposta il contenitore di Wordpress

Una volta creato il contenitore del database, scarica l'ultima immagine della finestra mobile di WordPress con il comando pull della finestra mobile:

docker pull wordpress:latest

Al termine del download, crea un nuovo contenitore dalle immagini con il nome 'wpcontainer'.

docker run -e WORDPRESS_DB_USER=wpuser -e [email protected] -e WORDPRESS_DB_NAME=wordpress_db -p 8081:80 -v /root/wordpress/html:/var/www/html --link wordpressdb:mysql --name wpcontainer -d wordpress

Puoi ottenere il risultato come di seguito oppure puoi verificare che sia stato creato il nuovo contenitore denominato 'wpcontainer'.

Parametri:

  • WORDPRESS_DB_USER =definisce l'utente del database 'wpuser' per il db di wordpress.
  • WORDPRESS_DB_PASSWORD =password '[email protected]' per l'utente del database 'wpuser'.
  • WORDPRESS_DB_NAME =nome del database 'wordpress_db' creato al punto 2.
  • -p 8081:80 =mappatura della porta 80 sul container alla porta 8081 dell'host.
  • -v /root/wordpress/html:/var/www/html =Collegamento della directory principale Web '/var/www/html' sul contenitore alla directory host locale 'wordpress/html'.
  • --link wordpressdb:mysql =collegamento del contenitore mariadb 'wordpressdb' al nuovo contenitore wordpress 'wpcontainer'.

Per vedere il contenitore di WordPress in esecuzione, puoi verificarlo con il comando curl sull'IP host e sulla porta 8081.

curl -I 192.168.43.99:8081

Vedrai i risultati:

  • Il server web è Apache, in esecuzione su Debian.
  • PHP 5.6 è in esecuzione nel contenitore.
  • Vedi il reindirizzamento all'installazione di WordPress.

Fase 4 - Installa e configura Nginx come proxy inverso

In questo passaggio, installeremo il server web Nginx sul sistema host. Configureremo Nginx come proxy inverso per il contenitore Docker 'wpcontainer' sulla porta 8081.

Installa Nginx con il comando apt sul sistema host:

apt-get install nginx

Quindi, vai alla directory Nginx e crea una nuova configurazione di host virtuale per il contenitore di WordPress.

cd /etc/nginx/sites-available/
vim wordpress

Incolla la configurazione dell'host virtuale di seguito:

server {
  listen 80;
  server_name wordpress-docker.co www.wordpress-docker.co;

  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 il file ed esci.

Ora, attiva il nuovo host virtuale WordPress ed elimina la configurazione dell'host virtuale predefinita.

ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-available/default
rm -f /etc/nginx/sites-enabled/default

Riavvia il server web Nginx:

systemctl restart nginx

Passaggio 5 - Installazione di WordPress

Apri il tuo browser web e visita il nome di dominio nella configurazione di nginx 'www.wordpress-docker.co' e verrai reindirizzato all'installazione di WordPress.

Digita il titolo del sito, il nome utente e la password dell'amministratore, quindi fai clic su Installa WordPress.

Ora fai clic su "Accedi Wordpress" e inserisci il nome utente e la password che hai scelto sopra, vedrai la dashboard di WordPress.

Oppure puoi vedere la home page di WordPress qui sotto:

L'installazione di WordPress con un container MariaDB e un container WordPress è andata a buon fine.


Ubuntu
  1. Come installare Docker su Ubuntu 22.04

  2. Come installare WordPress con Nginx su Ubuntu 18.04

  3. Come installare WordPress con Apache su Ubuntu 18.04

  4. Come installare Docker su Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  5. Come installare WordPress utilizzando Docker

Come installare Mailtrain su Ubuntu 18.04 con Docker

Come installare il contenitore Ubuntu 22.04 LTS su Docker

Come installare Docker su Ubuntu 14.04

Come installare WordPress con Docker su Ubuntu 16.04 LTS

Come installare WordPress con Nginx in Ubuntu 20.04

Come installare WordPress su Ubuntu 20.04