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

140 lines
4.3 KiB
Markdown

# 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
```bash
git clone https://gitweb.dyndns.org/docker/wordpress-docker-compose.git
```
```bash
cd wordpress-docker-compose
```
## Environment file
Copy `env-dist` to `env-<environment_name>` file and adapt as your needs
## Build
```bash
./manage.sh --env <env_name> --build
```
## Start
```bash
./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](mailto:gilles.mouchet@gmail.com)