WordPress in einem Docker Container bereitsstellen

0
(0)

Ich schreibe ab und an ein paar Anleitungen. Da ging es bereits um Nextcloud, Pixelfed oder Mastodon. Nun ein weiteres für WordPress mit eigenem Nginx Client.

Zuerst einen Ordner erstellen für WordPress. In diesem Fall nehme ich /opt/Wordpress.

, WordPress in einem Docker Container bereitsstellen
Server Netzwerk Quelle: MidjourneyAI

Docker-compose einrichten

In dem erstellten Ordner as eine ‚docker-compose.yml‘ erstellen und folgendes einfügen.

version: '3'

services:
wordpress:
image: wordpress:latest
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- ./wp-content:/var/www/html/wp-content
ports:
- 8080:80
links:
- db
db:
image: mysql:5.7
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
MYSQL_RANDOM_ROOT_PASSWORD: '1'
nginx:
image: nginx:latest
ports:
- 80:80
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./wp-content:/var/www/html/wp-content
links:
- wordpress

volumes:
- db_data:/var/lib/mysql
volumes:
db_data:

Hier das WordPress Datenbank Passwort, sowie das random_root_password, nach eigenen Wünschen anpassen und die Datei abspeichern.

Nginx config einrichten

Nun eine ’nginx/conf.d/default.conf‘ erstellen und folgenden Inhalt einfügen.

server {
listen 80;
server_name domain.tld;
return 301 https://$host$request_uri;
}

server {
listen 443 ssl;
server_name localhost;

root /var/www/html;
index index.php index.html index.htm;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass wordpress:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

ssl on;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
}

Je nachdem ob schon ein Webserver auf 80 und 443 müssen diese Ports abgeändert werden.

Dies sieht in der docker-compose.yml so aus:

  nginx:
image: nginx:latest
ports:
- 4433:443
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./wp-content:/var/www/html/wp-content
links:
- wordpress

In der Default.conf so:

server {
listen 4433 ssl;
server_name domain.tld;

root /var/www/html;
index index.php index.html index.htm;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass wordpress:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

ssl on;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
}

Passt alles, muss nur noch der Webserver und die Docker Container gestartet werden(‚docker-compose up -d‘). Abschließend kann dann das eigentliche WordPress Setup gestartet werden. https://domain.tld/wp-admin

Wie fandest du den Post?

Auf einen Stern klicken zum bewerten

durchschnittlich 0 / 5. bereits abgestimmt haben: 0

Keine Bewertungen bisher, sei der erste

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Schreibe einen Kommentar

Consent Management Platform von Real Cookie Banner
0 Shares
Share via
Copy link
Powered by Social Snap