Установка WordPress с Apache на Debian 13, 12, 11: полное руководство

WordPress — самая популярная система управления контентом (CMS) в мире. На ней работает более 40% всех сайтов в интернете. Но чтобы WordPress заработал на вашем Debian, нужно установить не только файлы CMS, но и полноценный веб-сервер: Apache, базу данных MariaDB и PHP с необходимыми модулями.

В этом руководстве я покажу полную установку WordPress на Debian с нуля:

  • LAMP стек (Apache + MariaDB + PHP) из официальных репозиториев
  • Скачивание и настройка WordPress
  • Создание базы данных и пользователя
  • Настройка виртуального хоста Apache
  • Защита сайта с помощью Let’s Encrypt (HTTPS)
  • Настройка UFW файрвола
  • Решение типичных проблем

Всё это работает на Debian 13 (Trixie), Debian 12 (Bookworm) и Debian 11 (Bullseye).


Оглавление

Предварительные требования

Перед установкой убедитесь, что:

  • У вас есть доменное имя, привязанное к IP-адресу вашего сервера (для HTTPS обязательно)
  • Открыты порты 80 (HTTP) и 443 (HTTPS) в настройках сети (хостинг/маршрутизатор)
  • Вы имеете права sudo (администратора)
  • Сервер имеет статический IP-адрес (рекомендуется)

⚠️ ВАЖНО: Проверьте права sudo перед установкой

Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:

sudo whoami

Что делает: sudo — выполняет команду от имени суперпользователя; whoami — показывает имя текущего пользователя.

Ожидаемый вывод в терминале:

root

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.


Обновление системы

Перед установкой любых пакетов обновите списки репозиториев и установите последние обновления:

sudo apt update && sudo apt upgrade -y

Что делает:

  • apt update — обновляет список доступных пакетов из репозиториев
  • apt upgrade -y — обновляет все установленные пакеты до свежих версий, -y автоматически подтверждает обновление

Зачем: Снижает риск конфликтов зависимостей и обеспечивает безопасность системы.


Установка Apache

Apache HTTP Server — это веб-сервер, который будет обрабатывать HTTP-запросы к вашему сайту.

Установка пакета

sudo apt install -y apache2

Что делает: Устанавливает Apache из официальных репозиториев Debian.
Что значит -y: Автоматически подтверждает установку (не нужно нажимать Y).

Проверка установки

Проверьте версию Apache:

sudo apache2ctl -v

Ожидаемый вывод:

Server version: Apache/2.4.x (Debian)
Server built:   2026-xx-xx

Проверьте статус сервиса:

systemctl status apache2

Ожидаемый вывод: Строка Active: active (running)

Если сервис не запущен, запустите его:

sudo systemctl enable apache2 --now

Что делает: enable — добавляет Apache в автозагрузку, --now — запускает сразу.

Включение необходимых модулей Apache

WordPress нуждается в модуле mod_rewrite для работы ЧПУ (человекопонятных URL) и mod_ssl для HTTPS.

sudo a2enmod rewrite ssl
sudo systemctl restart apache2

Что делает:

  • a2enmod — включает модуль Apache
  • rewrite — позволяет использовать .htaccess для перезаписи URL
  • ssl — обеспечивает поддержку HTTPS

Проверка Apache в браузере

Откройте браузер и перейдите по адресу http://IP-вашего-сервера. Если вы видите стандартную страницу «Apache2 Debian Default Page» — Apache работает.


Установка MariaDB

MariaDB — это система управления базами данных (рекомендуемая замена MySQL). Она будет хранить все данные WordPress: посты, страницы, настройки и т.д.

Установка пакета

sudo apt install -y mariadb-server mariadb-client

Что делает: Устанавливает сервер и клиент MariaDB.

Проверка версии

mariadb --version

Ожидаемый вывод (зависит от версии Debian):

  • Debian 13: mariadb from 11.8.x-MariaDB
  • Debian 12: mariadb from 10.11.x-MariaDB
  • Debian 11: mariadb from 10.5.x-MariaDB

Проверка статуса сервиса

systemctl status mariadb

Ожидаемый вывод: Active: active (running)

Если не запущен:

sudo systemctl enable mariadb --now

Безопасная настройка MariaDB

Сразу после установки MariaDB имеет уязвимые настройки по умолчанию (пустой пароль root, анонимные пользователи, тестовая база данных). Запустите скрипт безопасной настройки:

sudo mariadb-secure-installation

Что делает: Интерактивный скрипт для повышения безопасности.

Рекомендуемые ответы:

ВопросОтветПочему
Enter current password for root (enter for none)Enter (нажать Enter)Пароль root пуст по умолчанию
Switch to unix_socket authenticationYИспользовать системную
аутентификацию
Change the root password?nОставляем без пароля
(безопасно через unix_socket)
Remove anonymous users?YУдаляем анонимных
пользователей
Disallow root login remotely?YЗапрещаем root-доступ
по сети
Remove test database and access to it?YУдаляем тестовую базу
Reload privilege tables now?YПрименяем изменения

Установка PHP

PHP — это язык программирования, на котором написан WordPress. Нужно установить PHP и модули, необходимые для работы WordPress.

Установка PHP и модулей

sudo apt install -y php libapache2-mod-php php-cli php-common php-zip php-curl php-mysql php-xml php-mbstring php-gd

Что делает: Устанавливает PHP и следующие модули:

  • libapache2-mod-php — интеграция PHP с Apache
  • php-cli — командная строка PHP
  • php-zip — работа с ZIP-архивами (обновления, плагины)
  • php-curl — отправка HTTP-запросов из PHP
  • php-mysql — подключение к MariaDB/MySQL
  • php-xml — работа с XML и DOM
  • php-mbstring — многобайтовые строки (кириллица)
  • php-gd — обработка изображений

Проверка версии PHP

php -v

Ожидаемый вывод (зависит от версии Debian):

  • Debian 13: PHP 8.4.x
  • Debian 12: PHP 8.2.x
  • Debian 11: PHP 7.4.x

Перезапуск Apache для загрузки PHP

sudo systemctl restart apache2

Зачем: Модуль PHP загружается в Apache только после перезапуска.


Скачивание и настройка WordPress

Установка wget (если не установлен)

sudo apt install -y wget

Что делает: Утилита для скачивания файлов из командной строки.

Скачивание последней версии WordPress

wget https://wordpress.org/latest.tar.gz

Что делает: Скачивает архив с WordPress в текущую директорию.

Распаковка архива

sudo tar -xzf latest.tar.gz -C /var/www/html/

Что делает:

  • tar -xzf — распаковывает архив
  • latest.tar.gz — имя скачанного файла
  • -C /var/www/html/ — изменяет целевую директорию на /var/www/html/

После распаковки все файлы WordPress окажутся в /var/www/html/wordpress/.

Настройка прав и владельца

WordPress должен иметь возможность устанавливать плагины, загружать изображения и обновляться. Для этого нужно, чтобы владельцем файлов был пользователь www-data (от которого работает Apache).

Измените владельца:

sudo chown -R www-data:www-data /var/www/html/wordpress/

Что делает: chown -R — рекурсивно меняет владельца и группу.

Установите правильные права:

sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;
sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

Что делает:

  • find ... -type d — находит все директории
  • -exec chmod 755 {} \; — применяет к каждой директории права 755 (rwxr-xr-x)
  • find ... -type f — находит все файлы
  • -exec chmod 644 {} \; — применяет к каждому файлу права 644 (rw-r—r—)

Создание базы данных для WordPress

Шаг 1: Войдите в MariaDB

sudo mariadb

Что делает: Открывает интерактивную оболочку MariaDB с правами администратора.

Шаг 2: Создайте базу данных

CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Что делает: Создаёт базу данных с именем wordpress, поддерживающую полный набор символов UTF-8 (нужен для эмодзи и всех языков мира).

Шаг 3: Создайте пользователя базы данных

Замените 'strong-password-here' на надёжный пароль и запомните его!

CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'strong-password-here';

Что делает: Создаёт пользователя wpuser, который может подключаться только с localhost (той же машины).

Шаг 4: Дайте права пользователю

GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';

Что делает: Даёт пользователю wpuser полный доступ к базе данных wordpress.

Шаг 5: Примените изменения и выйдите

FLUSH PRIVILEGES;
EXIT;

Что делает: FLUSH PRIVILEGES — обновляет права доступа; EXIT — выходит из MariaDB.


Настройка файла конфигурации WordPress

Перейдите в директорию WordPress

cd /var/www/html/wordpress/

Скопируйте файл примера конфигурации

sudo mv wp-config-sample.php wp-config.php

Что делает: Переименовывает wp-config-sample.php в wp-config.php (файл, который WordPress реально читает).

Отредактируйте конфигурацию

sudo nano wp-config.php

Что делает: Открывает файл в текстовом редакторе nano.

Обновите настройки подключения к БД

Найдите эти строки и замените их на ваши данные:

// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );

/** Database username */
define( 'DB_USER', 'wpuser' );

/** Database password */
define( 'DB_PASSWORD', 'strong-password-here' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables */
define( 'DB_CHARSET', 'utf8mb4' );

/** The database collate type. Don't change this if in doubt */
define( 'DB_COLLATE', '' );

Добавьте дополнительные настройки (опционально, но рекомендуется)

Вставьте эти строки перед строкой /* That's all, stop editing! Happy publishing. */:

/** Прямая запись файлов (для обновлений и плагинов) */
define( 'FS_METHOD', 'direct' );

/** Увеличение лимита памяти для WordPress */
define( 'WP_MEMORY_LIMIT', '256M' );

Что делает:

  • FS_METHOD, ‘direct’ — разрешает WordPress устанавливать обновления напрямую (без FTP)
  • WP_MEMORY_LIMIT, ‘256M’ — увеличивает лимит памяти (полезно для больших сайтов)

Сохраните файл

В nano:

  • Ctrl+O (сохранить)
  • Enter (подтвердить имя файла)
  • Ctrl+X (выйти)

Сгенерируйте уникальные ключи безопасности

WordPress требует сгенерировать уникальные «соли» (salts) для шифрования cookies.

Получите ключи с официального API:

curl -s https://api.wordpress.org/secret-key/1.1/salt/

Что делает: Выводит 8 строк с уникальными ключами.

Пример вывода:

define('AUTH_KEY',         'уникальная-строка-1');
define('SECURE_AUTH_KEY',  'уникальная-строка-2');
define('LOGGED_IN_KEY',    'уникальная-строка-3');
define('NONCE_KEY',        'уникальная-строка-4');
define('AUTH_SALT',        'уникальная-строка-5');
define('SECURE_AUTH_SALT', 'уникальная-строка-6');
define('LOGGED_IN_SALT',   'уникальная-строка-7');
define('NONCE_SALT',       'уникальная-строка-8');

Скопируйте эти строки и вставьте в wp-config.php вместо существующих пустых строк с define('AUTH_KEY', '...').

⚠️ Важно: Не пропускайте этот шаг! Это критически важно для безопасности вашего сайта.


Настройка виртуального хоста Apache

Создайте конфигурационный файл для вашего сайта

Замените example.com на ваше реальное доменное имя:

sudo nano /etc/apache2/sites-available/example.com.conf

Содержимое файла (замените example.com на ваш домен):

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/html/wordpress

    <Directory "/var/www/html/wordpress">
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/wordpress.error.log
    CustomLog ${APACHE_LOG_DIR}/wordpress.access.log combined
</VirtualHost>

Что означают директивы:

  • ServerName — основное доменное имя
  • ServerAlias — дополнительные имена (www)
  • DocumentRoot — путь к файлам сайта
  • AllowOverride All — разрешает WordPress использовать .htaccess для настройки ЧПУ
  • Require all granted — разрешает доступ к сайту всем
  • ErrorLog / CustomLog — пути к логам ошибок и доступа

Проверьте конфигурацию

sudo apache2ctl configtest

Ожидаемый вывод: Syntax OK

Если вы видите предупреждение о FQDN (полное доменное имя сервера), его можно игнорировать.

Включите виртуальный хост

sudo a2ensite example.com.conf

Что делает: a2ensite — включает сайт (создаёт символическую ссылку в /etc/apache2/sites-enabled/).

Отключите стандартный сайт по умолчанию

sudo a2dissite 000-default.conf

Что делает: Отключает дефолтную заглушку Apache.

Перезапустите Apache

sudo systemctl restart apache2

Завершение установки WordPress через веб-интерфейс

Шаг 1: Откройте браузер и перейдите на ваш сайт

http://example.com

(замените example.com на ваш домен или IP-адрес)

Шаг 2: Выберите язык

На первом экране выберите язык интерфейса WordPress.

Шаг 3: Заполните информацию об администраторе

ПолеЧто делать
Название сайтаПридумайте название
Имя пользователяВведите уникальное имя (не admin)
ПарольИспользуйте надёжный пароль (можно
сгенерировать автоматически)
Ваш emailУкажите рабочий email
Видимость для поисковиковДля тестового сайта —
отметьте «Не индексировать»

Шаг 4: Нажмите «Установить WordPress»

После успешной установки вы увидите сообщение об успехе и кнопку «Войти».


Настройка HTTPS с Let’s Encrypt (рекомендуется)

Let’s Encrypt предоставляет бесплатные SSL-сертификаты. WordPress должен работать по HTTPS, особенно если вы собираетесь принимать платежи или обрабатывать личные данные.

Установка Certbot

sudo apt install -y python3-certbot-apache

Что делает: Устанавливает утилиту Certbot с плагином для автоматической настройки Apache.

Получение SSL-сертификата

⚠️ Перед выполнением убедитесь:

  • Ваше доменное имя указывает на IP-адрес сервера (A-запись в DNS)
  • Порты 80 и 443 открыты в файрволе

Замените you@example.com на ваш email и example.com на ваш домен:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d example.com -d www.example.com

Что означают флаги:

  • --apache — автоматически настроить Apache
  • --agree-tos — согласиться с условиями Let’s Encrypt
  • --redirect — перенаправлять HTTP → HTTPS
  • --hsts — включить HTTP Strict Transport Security
  • --staple-ocsp — повысить производительность проверки сертификатов
  • -d — домен (можно несколько)

Проверка автоматического обновления сертификатов

Let’s Encrypt сертификаты действуют 90 дней. Certbot автоматически обновляет их через systemd-таймер.

Проверьте статус таймера:

sudo systemctl status certbot.timer

Ожидаемый вывод: Active: active (waiting)

Проверьте процесс обновления (без реального изменения):

sudo certbot renew --dry-run

Настройка UFW (файрвола)

UFW — простой интерфейс для настройки iptables.

Установка UFW

sudo apt install -y ufw

Настройка правил

Разрешите SSH (ОЧЕНЬ ВАЖНО — иначе потеряете доступ):

sudo ufw allow ssh

Разрешите HTTP и HTTPS:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Включите UFW

sudo ufw enable

Что делает: Активирует файрвол. Будьте осторожны — если не разрешить SSH, вы заблокируете себе доступ.

Проверка статуса

sudo ufw status numbered

Ожидаемый вывод:

Status: active

     To                         Action      From
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 443/tcp                    ALLOW IN    Anywhere

Решение типичных проблем

8.1 Ошибка: PHP сессии не работают

Симптом: Плагины или темы выдают ошибки, связанные с сессиями PHP (например, «The session directory does not exist»).

Причина: Директория для хранения сессий PHP удалена или имеет неверные права. По умолчанию Debian использует /var/lib/php/sessions.

Пошаговое решение:

Шаг 1: Проверьте текущий путь к директории сессий:

php -r 'echo ini_get("session.save_path"), PHP_EOL;'

Ожидаемый вывод (по умолчанию): /var/lib/php/sessions

Шаг 2: Восстановите директорию с правильными правами:

sudo install -d -m 1733 -o root -g root /var/lib/php/sessions

Что означает 1733: Это sticky-бит (1 в начале) — пользователи могут создавать файлы, но удалять только свои.

Шаг 3: Перезапустите Apache:

sudo systemctl restart apache2

Шаг 4: Проверьте, что ошибка исчезла.


8.2 Ошибка: Бесконечный редирект (HTTPS redirect loop)

Симптом: Сайт пытается открыться, но браузер показывает ошибку «Слишком много перенаправлений». Сайт зацикливается между HTTP и HTTPS.

Причина: WordPress находится за обратным прокси (например, Cloudflare, Nginx, балансировщик), который завершает HTTPS, а Apache передаёт обычный HTTP. WordPress не знает, что оригинальный запрос был по HTTPS.

Пошаговое решение:

Шаг 1: Отредактируйте wp-config.php:

sudo nano /var/www/html/wordpress/wp-config.php

Шаг 2: Добавьте следующий код перед строкой /* That's all, stop editing! Happy publishing. */:

define('FORCE_SSL_ADMIN', true);

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
    $_SERVER['HTTPS'] = 'on';
}

Что делает:

  • FORCE_SSL_ADMIN — принудительно использует HTTPS для панели администратора
  • Проверка HTTP_X_FORWARDED_PROTO — определяет, был ли оригинальный запрос по HTTPS (прокси добавляет этот заголовок)

Шаг 3: Если проблема остаётся, добавьте явную установку адресов сайта в тот же файл:

define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');

(замените example.com на ваш домен)

Шаг 4: Очистите кэш браузера и проверьте сайт.


8.3 Ошибка: 403 Forbidden при открытии сайта

Симптом: При попытке открыть сайт браузер выдаёт «403 Forbidden».

Причина: Неправильные права на директорию или отсутствие индексного файла.

Пошаговое решение:

Шаг 1: Проверьте, что файл index.php существует в /var/www/html/wordpress/:

ls -la /var/www/html/wordpress/index.php

Шаг 2: Проверьте владельца файлов:

ls -ld /var/www/html/wordpress/

Должно быть www-data:www-data.

Шаг 3: Если права неверные, выполните:

sudo chown -R www-data:www-data /var/www/html/wordpress/
sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;
sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

Шаг 4: Проверьте конфигурацию виртуального хоста:

sudo apache2ctl configtest
sudo systemctl reload apache2

8.4 Ошибка: «Error establishing database connection»

Симптом: Сайт не открывается, выдаётся сообщение «Error establishing database connection».

Причина: Проблемы с подключением к MariaDB — неверные данные в wp-config.php, MariaDB не запущена, или пользователь не имеет прав.

Пошаговое решение:

Шаг 1: Проверьте, что MariaDB запущена:

systemctl status mariadb

Шаг 2: Проверьте данные подключения в wp-config.php:

grep -E "DB_NAME|DB_USER|DB_PASSWORD|DB_HOST" /var/www/html/wordpress/wp-config.php

Убедитесь, что:

  • DB_NAME = wordpress
  • DB_USER = wpuser
  • Пароль правильный
  • DB_HOST = localhost (или 127.0.0.1)

Шаг 3: Проверьте, что пользователь существует и имеет права:

sudo mariadb -u root

⚠️ Теперь пользователь находится внутри MariaDB и выполняет там SQL-команды:

SELECT User, Host FROM mysql.user;
SHOW GRANTS FOR 'wpuser'@'localhost';
EXIT;

Шаг 4: Если пользователя нет — создайте заново (см. раздел «Создание базы данных»).

Шаг 5: Попробуйте подключиться к БД от имени пользователя WordPress (команда в терминале):

mysql -u wpuser -p -h localhost wordpress

(введите пароль). Если подключение успешно — проблема в конфигурации WordPress.


8.5 Белая страница (White screen of death)

Симптом: Вместо сайта — пустая белая страница. Никаких сообщений об ошибке.

Причина: PHP-фатальная ошибка (обычно из-за неправильной темы или плагина), но отображение ошибок отключено.

Пошаговое решение:

Шаг 1: Временно включите отображение ошибок PHP. Отредактируйте wp-config.php:

sudo nano /var/www/html/wordpress/wp-config.php

Добавьте строку после открывающего тега <?php:

define('WP_DEBUG', true);

Шаг 2: Откройте сайт снова. Теперь вы увидите конкретную ошибку.

Шаг 3: Если ошибка указывает на плагин — отключите все плагины (переименуйте папку plugins):

cd /var/www/html/wordpress/wp-content/
sudo mv plugins plugins_disabled

Шаг 4: Если ошибка исчезла — проблема в одном из плагинов. Возвращайте их по одному, переименовывая обратно в plugins.

Шаг 5: Если ошибка указывает на тему — переименуйте папку темы:

cd /var/www/html/wordpress/wp-content/themes/
sudo mv ваша_тема ваша_тема_disabled

WordPress автоматически переключится на стандартную тему (Twenty Twenty-Four).

Шаг 6: После исправления отключите режим отладки (удалите строку define('WP_DEBUG', true) из wp-config.php).


Чек-лист: что проверить после установки

  • [ ] Apache работает: systemctl status apache2active (running)
  • [ ] MariaDB работает: systemctl status mariadbactive (running)
  • [ ] PHP установлен: php -v показывает версию (8.4, 8.2 или 7.4)
  • [ ] Сайт открывается: браузер показывает страницу установки WordPress (или сам сайт)
  • [ ] База данных создана: sudo mariadb -e "SHOW DATABASES;" показывает wordpress
  • [ ] Виртуальный хост включён: ls /etc/apache2/sites-enabled/ показывает example.com.conf
  • [ ] Модули Apache включены: apache2ctl -M | grep -E "rewrite|ssl"
  • [ ] HTTPS работает: при открытии https://example.com замок зелёный
  • [ ] Файрвол настроен: sudo ufw status показывает active и правила для 80/443
  • [ ] Автообновление сертификата: sudo systemctl is-enabled certbot.timerenabled

Обновление WordPress

Обновление через админ-панель:
При появлении нового обновления WordPress в панели администратора появится уведомление. Нажмите «Обновить сейчас».

Обновление через командную строку (рекомендуется для опытных):

cd /var/www/html/
sudo -u www-data wp core update

(требуется установленный WP-CLI)

Обновление плагинов и тем через командную строку:

sudo -u www-data wp plugin update --all
sudo -u www-data wp theme update --all

Удаление WordPress и LAMP (полная очистка)

Вариант 1: Удалить только WordPress (оставить LAMP)

sudo rm -rf /var/www/html/wordpress/

Удалить базу данных и пользователя:

sudo mariadb -u root -e "DROP DATABASE IF EXISTS wordpress;"
sudo mariadb -u root -e "DROP USER IF EXISTS 'wpuser'@'localhost';"
sudo mariadb -u root -e "FLUSH PRIVILEGES;"

Вариант 2: Полное удаление LAMP стека

Шаг 1: Удалите виртуальный хост:

sudo a2dissite example.com.conf
sudo rm /etc/apache2/sites-available/example.com.conf
sudo systemctl reload apache2

Шаг 2: Удалите пакеты LAMP:

sudo apt remove --purge apache2 mariadb-server mariadb-client php libapache2-mod-php php-cli php-common php-zip php-curl php-mysql php-xml php-mbstring php-gd python3-certbot-apache

Шаг 3: Удалите неиспользуемые зависимости:

sudo apt autoremove --purge -y

Шаг 4: Удалите директории (осторожно!):

sudo rm -rf /var/www/html/wordpress/
sudo rm -rf /etc/apache2/sites-available/example.com.conf

Шаг 5: Остановите и отключите UFW (если больше не нужен):

sudo ufw disable

Часто задаваемые вопросы (FAQ)

Вопрос: Можно ли установить WordPress без домена?
Ответ: Да, на время тестирования можно использовать IP-адрес. Но для HTTPS и нормальной работы в интернете домен необходим.

Вопрос: Какую базу данных выбрать: MariaDB или MySQL?
Ответ: На Debian рекомендуется MariaDB. Это форк MySQL, полностью совместимый с WordPress, но более производительный и открытый.

Вопрос: Обязательно ли отключать стандартный сайт Apache (000-default.conf)?
Ответ: Да, иначе и ваш сайт, и дефолтная заглушка могут конфликтовать.

Вопрос: Как часто нужно обновлять сертификат Let’s Encrypt?
Ответ: Certbot обновляет его автоматически. Вручную ничего делать не нужно.

Вопрос: Почему WordPress просит FTP при установке плагинов?
Ответ: Потому что владельцем файлов является не www-data. Мы исправили это на шаге с chown. Если ошибка осталась — проверьте владельца папки /var/www/html/wordpress/.

Вопрос: Могу ли я установить WordPress на Debian 13, если у меня нет домена?
Ответ: Да, на время разработки используйте http://localhost или http://127.0.0.1. Но HTTPS не настроите без домена.


Заключение

Поздравляю! Вы установили полноценный WordPress на Debian с Apache, MariaDB и PHP. Ваш сайт работает под управлением надёжного LAMP стека, защищён файрволом и, если вы настроили Let’s Encrypt — работает по безопасному протоколу HTTPS.

Что дальше?

  • Настройте регулярные автоматические обновления системы
  • Настройте резервное копирование (например, через плагин)
  • Установите кеширование для ускорения сайта (Плагин)
  • Узнайте, как защитить WordPress от взлома