Разворачивать собственный сервер для сайта на базе 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

Логотип Ubuntu на фоне серверного зала
Символ Ubuntu на фоне стойки серверов — стабильная основа для WordPress

Сначала нужно записать образ системы на флешку. На компьютере с Windows или Linux используется программа Balena Etcher или Rufus. Выбирается ISO файл Ubuntu Server 22 точка 04 и флешка как целевой носитель. Процесс занимает несколько минут.

После записи флешка вставляется в тот компьютер который будет сервером. При включении нужно войти в BIOS или UEFI и поставить загрузку с USB. Меню зависит от модели материнской платы чаще всего это клавиша F2 F10 F12 или Delete.

Установка Ubuntu Server проходит в текстовом интерфейсе. Графических окон не будет. Пошагово:

  1. Выбор языка и раскладки клавиатуры
  2. Подключение к сети по кабелю
  3. Выбор зеркала и настройка прокси если требуется
  4. Разметка диска автоматическая если диск пуст
  5. Создание пользователя и пароля администратора
  6. Включение OpenSSH если нужен доступ по сети
  7. Завершение установки и перезагрузка

После перезагрузки система загрузится в терминал. Готова к приёму команд. Если сервер находится в другой комнате можно подключаться к нему по SSH с другого устройства:

ssh имяпользователя@IPадрес

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

Установка обновлений Ubuntu через терминал
Обновление системы и подключение репозиториев в терминале Ubuntu

Система установлена, сеть работает, можно начинать настройку окружения для 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

Экран авторизации в админку 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 адреса до выбора оборудования. Коротко, по сути, без отвлечений.

Можно ли обойтись без фиксированного IP?

Технически можно, но потребуется использовать сервисы динамического DNS. Это нестабильно и не рекомендуется для постоянного сайта.

Подойдёт ли ноутбук вместо стационарного компьютера?

Нет. Ноутбуки не рассчитаны на круглосуточную работу, перегреваются и чаще переходят в спящий режим. Только стабильный стационарный ПК.

Чем Nginx лучше Apache?

Nginx быстрее обрабатывает статический контент, потребляет меньше ресурсов и масштабируется лучше. Особенно заметно на слабых машинах.

Какая минимальная конфигурация железа нужна?

Двухъядерный процессор от 1 ГГц, 2 ГБ оперативной памяти и минимум 10 ГБ свободного места. Этого хватит для WordPress без нагрузок.

Можно ли использовать внешний диск для сайта?

Да, но только если он надёжный и постоянно подключён. USB флешки и внешние HDD часто отваливаются и тормозят систему.

Насколько это безопасно?

Без настройки брандмауэра и обновлений — слабо. Если сайт доступен из интернета, нужно следить за безопасностью вручную.

Подойдёт ли эта инструкция для VPS?

Да. На арендованном VPS с Ubuntu всё настраивается аналогично. Отличие только в железе и способе доступа.

Сколько сайтов можно разместить на одном сервере?

Сколько угодно, если хватает ресурсов. Каждый сайт подключается как отдельный виртуальный хост в Nginx.

Можно ли ставить WordPress через Docker?

Да, но это другая схема. Подходит тем, кто работает с контейнерами. В статье описан классический способ без Docker.