Разворачивать собственный сервер для сайта на базе WordPress — решение для тех кто точно понимает зачем это нужно. Такой подход оправдан в двух случаях когда платить каждый месяц за хостинг больше не хочется и когда дома простаивает компьютер способный работать круглосуточно. Важно потребуется фиксированный статический IP адрес выданный провайдером. Без него сайт будет доступен только внутри сети или через сложные схемы с туннелями и динамическими DNS.
Вместо громоздкого Apache используется Nginx он быстрее проще и стабильнее. Подходит под связку с PHP и WordPress без лишней нагрузки. Ниже пошаговая установка LEMP стека Linux Nginx MySQL PHP настройка виртуального хоста и запуск WordPress на собственной машине. Всё локально под полным контролем.
Что нужно перед стартом

Перед тем как запускать установку сервера стоит убедиться что всё необходимое уже под рукой. Без этого процесс либо упрётся в технические ограничения либо затянется на часы.
Фиксированный IP адрес
Обязательное условие. Динамический IP от провайдера не позволит получить стабильный доступ к сайту извне. Если статического IP нет нужно запросить у провайдера.
Стационарный компьютер
Минимум двухъядерный процессор от 1 ГГц и 2 гигабайта оперативной памяти. Подойдёт любая машина на которой можно установить Ubuntu Server. Чем тише и надёжнее тем лучше. Использовать ноутбук не стоит.
Подключение по Ethernet
Wi Fi соединение отпадает. Только кабель только стабильный канал. Особенно если сервер будет работать круглосуточно.
Образ Ubuntu Server
Скачивается с официального сайта ubuntu точка com. Версия 22 точка 04 LTS подходит лучше всего. Никакой графики всё управление через терминал.
Флешка минимум 4 ГБ
Для записи образа и установки системы. Можно использовать любой загрузчик например Balena Etcher или Rufus.
Базовые навыки работы с терминалом
Понадобится вводить команды вручную. Все шаги будут описаны но если в консоли полный ступор лучше не начинать.
Установка Ubuntu Server

Сначала нужно записать образ системы на флешку. На компьютере с Windows или Linux используется программа Balena Etcher или Rufus. Выбирается ISO файл Ubuntu Server 22 точка 04 и флешка как целевой носитель. Процесс занимает несколько минут.
После записи флешка вставляется в тот компьютер который будет сервером. При включении нужно войти в BIOS или UEFI и поставить загрузку с USB. Меню зависит от модели материнской платы чаще всего это клавиша F2 F10 F12 или Delete.
Установка Ubuntu Server проходит в текстовом интерфейсе. Графических окон не будет. Пошагово:
- Выбор языка и раскладки клавиатуры
- Подключение к сети по кабелю
- Выбор зеркала и настройка прокси если требуется
- Разметка диска автоматическая если диск пуст
- Создание пользователя и пароля администратора
- Включение OpenSSH если нужен доступ по сети
- Завершение установки и перезагрузка
После перезагрузки система загрузится в терминал. Готова к приёму команд. Если сервер находится в другой комнате можно подключаться к нему по SSH с другого устройства:
ssh имяпользователя@IPадрес
Установка LEMP стека

Система установлена, сеть работает, можно начинать настройку окружения для WordPress. Первый шаг — установка веб сервера, интерпретатора PHP и базы данных.
Установка Nginx
sudo apt update
sudo apt install nginx -y
После установки веб сервер запускается автоматически. Проверить его работу можно из браузера другого устройства, введя IP адрес сервера. Должна открыться страница по умолчанию от Nginx.
Установка MySQL
sudo apt install mysql-server -y
После установки нужно провести быструю настройку безопасности:
sudo mysql_secure_installation
На все вопросы можно отвечать утвердительно. Будет создан пароль суперпользователя и отключён анонимный доступ.
Установка PHP
WordPress работает на PHP, значит нужно установить сам интерпретатор и расширения для работы с базой данных и веб сервером:
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-bcmath -y
Проверка PHP
Создать тестовый файл:
sudo nano /var/www/html/info.php
Вставить:
<?php phpinfo(); ?>
Открыть в браузере: http://IP_адрес/info.php
. Если отображается таблица с параметрами PHP — всё работает. После проверки файл нужно удалить:
sudo rm /var/www/html/info.php
Создание базы данных
WordPress хранит всё содержимое в базе данных. Её нужно создать заранее вместе с отдельным пользователем. Используется MySQL консоль:sudo mysql
После входа выполнить команды:CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'сильный_пароль';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Имя базы может быть любым. Пользователь тоже. Главное — запомнить логин и пароль. Они понадобятся при установке WordPress.
Установка WordPress

Сайт будет размещён в папке веб сервера. По умолчанию это /var/www/html
. Сначала нужно скачать и разархивировать актуальную версию WordPress:
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar -xvzf latest.tar.gz
Полученная папка wordpress
переносится в нужное место:
bashКопироватьРедактироватьsudo mv wordpress /var/www/html/
Если в папке уже есть index.html
, его нужно удалить:
sudo rm /var/www/html/index.html
Права доступа:
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress
После этого WordPress готов к запуску. Осталось настроить веб сервер так, чтобы он знал куда направлять запросы.
Настройка Nginx
По умолчанию Nginx обслуживает файлы из /var/www/html
. WordPress находится в /var/www/html/wordpress
, поэтому создаётся отдельный конфигурационный файл для сайта.
Создать файл:
sudo nano /etc/nginx/sites-available/wordpress
Вставить содержимое:
server {
listen 80;
server_name _;
root /var/www/html/wordpress;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Путь к сокету может отличаться, в зависимости от версии PHP. Проверить:
php -v
Если используется другая версия — заменить php8.1-fpm.sock
на актуальную.
Активировать сайт и перезагрузить Nginx:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Установка WordPress через браузер
После перезагрузки Nginx сайт становится доступным по IP адресу сервера. Нужно открыть браузер и перейти по адресу:
http://IP_адрес_сервера
Откроется мастер установки WordPress. Последовательно:
Выбрать язык интерфейса
Указать данные подключения к базе:
- Имя базы: wordpress
- Пользователь: wpuser
- Пароль: указанный при создании
- Хост: localhost
Подтвердить соединение
Задать название сайта, логин администратора, пароль и email
Завершить установку
После этого можно войти в админку по адресу:
http://IP_адрес_сервера/wp-admin
Сервер на базе Ubuntu готов к работе, сайт на WordPress успешно установлен. В процессе был развёрнут LEMP стек, создана база данных, настроен веб сервер и загружена система управления сайтом. Все действия выполнялись локально, без сторонних панелей и готовых сборок.
Такой подход даёт полный контроль над проектом и избавляет от зависимости от хостинг-платформ. Установка занимает минимум времени и требует только фиксированного IP, стабильного соединения и базовых навыков работы с терминалом.
Часто задаваемые вопросы
Перед запуском собственного сервера с WordPress возникает масса технических нюансов. Ниже — ответы на самые распространённые вопросы, от IP адреса до выбора оборудования. Коротко, по сути, без отвлечений.
Технически можно, но потребуется использовать сервисы динамического DNS. Это нестабильно и не рекомендуется для постоянного сайта.
Нет. Ноутбуки не рассчитаны на круглосуточную работу, перегреваются и чаще переходят в спящий режим. Только стабильный стационарный ПК.
Nginx быстрее обрабатывает статический контент, потребляет меньше ресурсов и масштабируется лучше. Особенно заметно на слабых машинах.
Двухъядерный процессор от 1 ГГц, 2 ГБ оперативной памяти и минимум 10 ГБ свободного места. Этого хватит для WordPress без нагрузок.
Да, но только если он надёжный и постоянно подключён. USB флешки и внешние HDD часто отваливаются и тормозят систему.
Без настройки брандмауэра и обновлений — слабо. Если сайт доступен из интернета, нужно следить за безопасностью вручную.
Да. На арендованном VPS с Ubuntu всё настраивается аналогично. Отличие только в железе и способе доступа.
Сколько угодно, если хватает ресурсов. Каждый сайт подключается как отдельный виртуальный хост в Nginx.
Да, но это другая схема. Подходит тем, кто работает с контейнерами. В статье описан классический способ без Docker.
8 комментариев
Спасибо, всё чётко расписано. Поставил на старом ПК, WordPress поднялся с первого раза. Даже не думал, что Nginx настолько лёгкий.
Рад, что всё сработало без лишних танцев. Старый ПК как сервер — классика. Главное, чтобы питание не подвело.
Сделал всё как в инструкции, но Nginx ругался на конфиг — оказалась ошибка в названии сокета PHP. У меня была версия 8 точка 2, а не 8 точка 1. Может добавить в текст примечание?
Отлично, что нашли. Да, путь к сокету зависит от версии PHP, и не всегда совпадает. Примечание добавим, чтобы следующему не пришлось искать вручную.
Довольно годный гайд, но странно, что не упомянут fail2ban или ufw. Без базовой защиты всё это может уехать в ботнет за пару дней.
Согласен. Без базовой защиты сервер долго не проживёт. Отдельный блок по безопасности точно не помешает — запланируем дополнение.
Я новичок, установила Ubuntu впервые. Сначала было страшно, но в итоге справилась. Очень помог блок про базу данных, спасибо!
Отличный результат, особенно для первого опыта с Ubuntu. Терминал кажется сложным только до тех пор, пока не начинаешь использовать его по делу.