2026-02-10 10:44:11 +01:00

4.3 KiB

Wordpress

Description

This docker compose run wordpress on docker

Requierments

  • GMoTech/GMoLab/VdGLab Linux environment
    • Rocky Linux 10
    • Redhat 10
  • Certificats
    • Copy crt and key files on /home/docker/certs/
  • Environment file

Get Repository

On server where docker is running

git clone https://gitweb.dyndns.org/docker/wordpress-docker-compose.git
cd wordpress-docker-compose

Environment file

Copy env-dist to env-<environment_name> file and adapt as your needs

Build

./manage.sh --env <env_name> --build

Start

./manage.sh --env <env_name> --start

DB

The database is a dump of wp first install
The script adapt the sql file with data from environment file

Apache

http-wp-dev.conf

<VirtualHost *:80>
    ServerName wp-dev.gmolab.net
    ServerAlias wp-dev
    CustomLog logs/wp-dev_access_log common
    ErrorLog  logs/wp-dev_error_log
    # redirect to https
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =wp-dev [OR]
    RewriteCond %{SERVER_NAME} =wp-devp.gmolab.net
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

https-wp-dev.conf

##
## SSL Virtual Host Context
##
#  General setup for the virtual host
<VirtualHost *:443>
    ServerName wp-dev.gmolab.net
    ServerAlias wp-dev
    CustomLog logs/wp-dev_access_log common
    ErrorLog  logs/wp-dev_error_log

# SSL
    SSLEngine on
    SSLHonorCipherOrder on
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLHonorCipherOrder on
    SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4
    # Enable HTTP/2, if available
    Protocols h2 http/1.1
    # HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
    Header always set Strict-Transport-Security "max-age=63072000"
# certificats
    SSLCertificateFile "/etc/httpd/auth/cert/gmolab.net.crt"
    SSLCertificateKeyFile "/etc/httpd/auth/cert/gmolab.net.key"
    SSLCertificateChainFile "/etc/httpd/auth/cert/gmolabCA.crt"
# proxy
    SSLProxyEngine On
    ProxyPreserveHost On
    ProxyRequests off
    ProxyPass "/" "http://127.0.0.1:8080/"
    ProxyPassReverse "/" "https://127.0.0.1:8080/"
</VirtualHost>

http-phpmyadmin-dev.conf

<VirtualHost *:80>
    ServerName phpmyadmin-dev.gmolab.net
    ServerAlias phpmyadmin-dev
    CustomLog logs/phpmyadmin-dev_access_log common
    ErrorLog  logs/phpmyadmin-dev_error_log
    # redirect to https
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =wp-dev [OR]
    RewriteCond %{SERVER_NAME} =phpmyadmin-dev.gmolab.net
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

https-phpmyadmin-dev.conf

#  General setup for the virtual host
<VirtualHost *:443>
    ServerName phpmyadmin-dev.gmolab.net
    ServerAlias phpmyadmin-dev
    CustomLog logs/phpmyadmin-dev_access_log common
    ErrorLog  logs/phpmyadmin-dev_error_log

# SSL
    SSLEngine on
    SSLHonorCipherOrder on
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLHonorCipherOrder on
    SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4
    # Enable HTTP/2, if available
    Protocols h2 http/1.1
    # HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
    Header always set Strict-Transport-Security "max-age=63072000"
# certificats
    SSLCertificateFile "/etc/httpd/auth/cert/gmolab.net.crt"
    SSLCertificateKeyFile "/etc/httpd/auth/cert/gmolab.net.key"
    SSLCertificateChainFile "/etc/httpd/auth/cert/gmolabCA.crt"
# proxy
    RequestHeader set X-Forwarded-Proto "https"
    ProxyPreserveHost On
    ProxyPass "/" "http://127.0.0.1:8180/"
    ProxyPassReverse "/" "http://127.0.0.1:8180/"
</VirtualHost>

Access

https://wp-dev.gmolab.net https://phpmyadmin-dev.gmolab.net

[1.0.0] - 2026-02-06

Added

  • initial version by GMo