zypper install mariadb # Запускаем mariadb
systemctl enable --now mariadb
sudo mysql # Создаем базу и ее db-админа с доступом из сети
CREATE DATABASE `site.ru` CHARACTER SET = 'utf8mb4' COLLATE = 'utf8mb4_unicode_ci';
CREATE USER 'site.ru'@% IDENTIFIED BY 'der-parol';
GRANT ALL PRIVILEGES ON *.* TO 'site.ru'@% WITH grant option;
# SHOW GRANTS FOR 'site.ru'@%;
# SHOW GRANTS FOR 'site.ru'@;
show databases;
2. Запускаем контейнер
docker run -d --name wordpress wordpress
docker inspect wordpress # Узнаем IP вордпресса, заходим на него броузером
Переменные для контейнера
WORDPRESS_DB_HOST: Адрес сервера БД
WORDPRESS_DB_USER: Имя админа БД
WORDPRESS_DB_PASSWORD: Пароль админа БД
WORDPRESS_DB_NAME: Название БД
/var/www/html # если обновлять самостоятельно
/var/www/html/wp-content # если обновлять будет docker
# нерабочий вариант
docker run -d --name site.ru -v /home/html/site.ru:/var/www/html wordpress
# рабочий вариант
docker run -d --name site.ru -v /home/html/site.ru:/var/www/html \
-e WORDPRESS_DB_HOST=192.168.1.40 -e WORDPRESS_DB_USER=site.ru \
-e WORDPRESS_DB_PASSWORD=parol -e WORDPRESS_DB_NAME=site.ru wordpress
Времянка, если реверс-прокси не настроен, вставить в wp-config.php
define('WP_HOME', 'http://site.ru');
define('WP_SITEURL', 'http://site.ru');
В рабочем режиме URL обязан быть https, поэтому в wp-config.php
define('WP_HOME', 'https://site.ru');
define('WP_SITEURL', 'https://site.ru');
define('FORCE_SSL_ADMIN', true);
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
{ $_SERVER['HTTPS'] = 'on'; }
Когда реверс-прокси взведит proxy_set_header X-Forwarded-Proto https
настройка $_SERVER['HTTPS'] = 'on'
заставляет вордпрес работать по http и не редиректить в https
несмотря на то, что в URL прописан https
или в docker-compose
WORDPRESS_CONFIG_EXTRA: |
define('FORCE_SSL_ADMIN', true);
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
$_SERVER['HTTPS'] = 'on';
}
docker compose up -d
В реверс-прокси nginx должен сам давать https и должно присутствовать
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# Вот эта строка критически важна для WordPress:
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8080;
Переназначаем логи в apache-logs.conf
CustomLog "/var/log/apache2/access.log" combined
ErrorLog "/var/log/apache2/error.log"
LogLevel warn
--log-driver none
EASY WP SMTP - localhost заменить на IP хоста носителя
sudo vi /etc/postfix/main.cf ####### добавить access с docker-сетки в postfix
inet_interfaces = localhost, 192.168.1.4
mynetworks = 192.168.1.0/24, 127.0.0.0/8, 172.18.0.0/24
Популярность: 17, Last-modified: Fri, 25 Sep 2026 12:01:15 GmT