Установка Wordpress на сервер с доменом и SSL Let’s Encrypt

    Команда Simple-Server
    03.06.2026
    14 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Кратко о задаче

    Примеры, показанные в этом руководстве, выполнялись на виртуальном сервере с установленной операционной системой Ubuntu 22.04.

    Чтобы создать облачный сервер, необходимо:

    • Перейти в панель управления, авторизовавшись в Simple-Server.

    • Выбрать вкладку Облачные серверы в левой части панели управления Simple-Server.

    • Нажать на кнопку Добавить.

    Перейти в панель управления, авторизовавшись в Simple-Server.

    Выбрать вкладку Облачные серверы в левой части панели управления Simple-Server.

    Нажать на кнопку Добавить.

    После этого этого вы окажетесь на странице создания облачного сервера.

    Здесь нам предстоить настроить ряд параметров, которые в итоге определяют арендную плату за сервер. Самые важные из них:

    • Дистрибутив операционной системы и его версия (в нашем случае Ubuntu 22.04)

    • Локация дата-центра

    • Физическая конфигурация

    • Информация о сервере

    Дистрибутив операционной системы и его версия (в нашем случае Ubuntu 22.04)

    После заполнения всех данных жмем на кнопку Заказать , на которой будет указана стоимость аренды.

    После этого мы окажемся в панели управления сервером. ****

    После завершения создания сервера во вкладке Дашборд можно увидеть IP-адрес облачного сервера, а также скопировать команду для подключения к серверу по SSH и root-пароль:

    Далее нужно открыть консольный терминал в вашей локальной операционной системе и выполнить подключение по SSH с авторизацией по паролю:

    При этом SERVER_ADDRESS нужно заменить на IP-адрес вашего облачного сервера Simple-Server.

    После этого в консоли появится предложение ввести пароль. Можно либо ввести вручную, либо вставить из буфера обмена.

    После подключения в терминале появится информация об операционной системе. Поэтому можно заранее очистить консоль, чтобы с ней было удобнее работать:

    Перед началом установки важно обновить список репозиториев, доступных через пакетных менеджер APT:

    Также имеет смысл обновить уже установленные в системе пакеты до последней версии:

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

    В самом начале лучше выполнить самую простую операцию — загрузку и установку интерпретатора PHP.

    Для этого сперва добавим специальный репозиторий, который предоставляет актуальные версии PHP:

    sudo add-apt-repository ppa:ondrej/php

    В этом руководстве используется версия PHP 8.3 в режиме FPM (FastCGI Process Manager), а также дополнительный модуль для взаимодействия PHP с MySQL:

    sudo apt install php8.3-fpm php-mysql -y

    Флаг -y необходим для автоматического ответа «yes» на все возникающие в процессе установки вопросы.

    Чтобы убедиться, что PHP действительно теперь есть в системе, можно запросить его версию:

    В случае успешной установки в консоли появится примерно такой вывод:

    PHP 8.3.2-1+ubuntu22.04.1+deb.sury.org+1 (cli) (built: Jan 20 2024 14:16:40) (NTS) Copyright (c) The PHP Group Zend Engine v4.3.2, Copyright (c) Zend Technologies with Zend OPcache v8.3.2-1+ubuntu22.04.1+deb.sury.org+1, Copyright (c), by Zend Technologies

    Также можно проверить статус FPM-службы:

    sudo systemctl status php8.3-fpm

    В консольном выводе должен отображаться зеленый параметр статуса:

    База данных MySQL — обязательный компонент движка WordPress. Всю информацию о сайте и пользователях CMS хранит именно там.**
    **

    Мы установим пакет сервера MySQL:

    sudo apt install mysql-server -y

    Убедиться в корректности установки можно, запросив версию базы данных:

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

    mysql  Ver 8.0.36-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))

    Обратите внимание, что в этом руководстве использовалась версия MySQL 8.0.36.

    Также убедитесь, что сервер MySQL в данным момент запущен. Для этого достаточно запросить статус службы базы данных:

    sudo systemctl status mysql

    В консольном выводе должен отображаться зеленый параметр статуса:

    В этом руководстве этот шаг является необязательным, однако его стоит упомянуть.

    После установки MySQL можно выполнить настройку безопасности базы данных.

    mysql_secure_installation

    После этого в терминале консоли нужно будет ответить на ряд вопросов, которые конфигурируют необходимый уровень безопасности MySQL.**
    **

    Далее нужно подготовить отдельную базу данных специально для WordPress.

    Для этого сперва войдем в MySQL:

    А потом выполним соответствующий SQL-запрос для создания БД:

    CREATE DATABASE wordpress_database;

    Также потребуется отдельный пользователь для доступа к созданной базе данных:

    CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'wordpress_password';

    И разрешение на этот самый доступ:

    GRANT ALL PRIVILEGES ON wordpress_database.* TO 'wordpress_user'@'localhost';

    Теперь можно выйти из MySQL:

    5. Загрузка и конфигурация Nginx

    Веб-сервер Nginx будет принимать пользовательские HTTP-запросы и проксировать их на PHP через интерфейс FastCGI.**
    **

    Веб-сервер Nginx мы загрузим и установим через APT:

    sudo apt install nginx -y

    Далее имеет смысл убедиться, точно ли Nginx запущен как служба:

    В консольном выводе должен фигурировать параметр статуса зеленого цвета:

    Также вы можете убедиться в корректности работы веб-сервера, сделав HTTP-запрос через браузер. Для этого вам нужно указать в адресной строке IP-адрес удаленного сервера, на который вы выполняете установку.

    Например, адрес может быть таким:

    Если все в порядке, то Nginx отдаст стандартную страницу с приветствием.

    HTTP-запрос выполнялся через браузер Google Chrome с операционной системы Windows 10.**
    **

    Nginx можно вручную останавливать:

    sudo systemctl stop nginx

    Nginx можно вручную запускать:

    sudo systemctl start nginx

    Nginx можно вручную перезапускать:

    sudo systemctl restart nginx

    Каждый раз, когда в конфигурационный файл веб-сервера, Nginx необходимо вручную перезагружать (не перезапускать):

    sudo systemctl reload nginx

    Также на всякий случай добавим Nginx в список автозапуска (хотя обычно при установке это происходит автоматически) при старте системы:

    sudo systemctl enable nginx

    Если требуется отключить автоматический запуск Nginx при старте системы, вы можете удалить его из списка автозапуска:

    sudo systemctl disable nginx

    По сути, это основные команды управления Nginx. Теперь можно внести изменения в конфигурацию веб-сервера.**
    **

    В нашем примере мы слегка отредактируем стандартную конфигурацию Nginx:

    sudo nano /etc/nginx/sites-enabled/default

    На самом деле, если из нее убрать всю «воду», размещенную в комментариях, то останется только это:

    server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } }

    К этой конфигурации нужно лишь добавить функцию проксирования запросов на PHP через FastCGI:

    server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; # добавили index.php index index.html index.htm index.nginx-debian.html index.php; # для дальнейшего получения SSL-сертификата нужно указать доменное имя server_name domain.ru www.domain.ru; location / { # try_files $uri $uri/ =404; # передаем root-запросы на /index.php try_files $uri $uri/ /index.php?$args; } # передаем все .php-запросы в PHP через интерфейс FastCGI location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.3-fpm.sock; } }

    Обратите внимание, что параметр server_name должен содержать имя того домена, DNS-настройки которого имеют A-запись, направляющую на конфигурируемый сервер с Nginx.

    Теперь проверим корректность синтаксиса:

    Если все в порядке, то в консоли появится соответствующее сообщение:

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

    Теперь можно перезагрузить службу Nginx, чтобы применить новую конфигурацию:

    sudo systemctl reload nginx

    Результат браузерного вывода пока что прежний — будет открываться стандартное приветствие веб-сервера. Однако после установки WordPress это изменится.**
    **

    6. Установка SSL-сертификата

    Для получения SSL-сертификата от Let’s Encrypt используется специальная утилита — Certbot.

    В этом руководстве Certbot автоматически выполнит несколько задач:

    • Сделает запрос на получения сертификата.

    • Создаст дополнительный конфигурационный файл Nginx.

    • Отредактирует уже существующий конфигурационный файл Nginx (тот, который описывает работающий HTTP-сервер).

    • Перезапустит Nginx, чтобы применить изменения.**
      **

    Сделает запрос на получения сертификата.

    Создаст дополнительный конфигурационный файл Nginx.

    Отредактирует уже существующий конфигурационный файл Nginx (тот, который описывает работающий HTTP-сервер).

    Перезапустит Nginx, чтобы применить изменения.**
    **

    Как и любые другие пакеты, Certbot устанавливает через APT:

    sudo apt install certbot sudo apt install python3-certbot-nginx

    Первый пакет устанавливает саму программу, а второй добавляет модуль на Python для работы с Nginx.

    На самом деле можно выполнить только команду установки python3-certbot-nginx, а certbot установится автоматически в качестве зависимости:

    sudo apt install python3-certbot-nginx -y

    Теперь начнем процесс получение и установку SSL-сертификата.

    Сперва Certbot попросит вас зарегистрироваться в Let’s Encrypt. Нужно будет ввести email-адрес, принять «Условия соглашения» и указать необходимость получения новостных рассылок (это можно отклонить).

    Далее нужно будет ввести список доменных имен, разделенных запятой или пробелом, для которых необходим выпуск сертификата. Указываются именно те доменные имена, которые прописаны в конфигурационном файле Nginx в директиве server_name:

    После выдачи сертификата Certbot автоматически установит его, добавив в файл конфигурации Nginx следующий текст:

    Таким образом, полный файл конфигурации Nginx примет следующий вид:

    Автоматическое продление сертификата

    Срок действия сертификатов Let's Encrypt истекает каждые 90 дней. Поэтому их нужно регулярно обновлять. Делать вручную это неудобно, поэтому лучше настроить автоматическую задачу.

    Для справки, Crontab в системах Unix — это таблица с расписанием запуска приложений, описанная специальным синтаксисом.

    Сперва откроем существующий файл Crontab:

    При открытии Crontab может предложить вам выбрать текстовый редактор, через который будет происходить редактирование. В этом руководстве используется Nano.

    В файл добавим команду для запуска Certbot с указанием периодичности ее выполнения:

    0 12 * * * /usr/bin/certbot renew --quiet

    В такой конфигурации команда будет выполняться в полдень каждого дня, проверяя срок сертификата и продлевая его в случае истечения. Флаг --quiet предписывает Certbot не генерировать выходные данные.**
    **

    В этом руководстве используется WordPress версии 6.4.3, которая загружается с официального сайта:

    wget https://wordpress.org/wordpress-6.4.3.tar.gz

    После загрузки архив с CMS нужно распаковать:

    tar -xvf wordpress-*.tar.gz

    После распаковки архив можно удалить:

    По итогу появится папка wordpress, внутри которой будет множество файлов движка.

    Большая часть исходников распределена по каталогам wp-content, wp-includes, wp-admin. Также обратите внимание на «точку входа» («entry point») в WordPress — index.php.

    Все эти файлы должны быть скопированы в рабочую папку веб-сервера, из которой он будет возвращать сгенерированный (с помощью PHP) контент на основе HTTP-запросов пользователей.

    При этом перед копированием мы очистим эту папку. На данный момент в ней лежит HTML-файл со стандартным приветствием Nginx — он нам больше не нужен:

    Теперь копируем туда исходники WordPress:

    cp -R wordpress/* /var/www/html/

    Флаг -R указывает на рекурсивный тип копирования файлов и каталогов.

    Также нужно установить права доступа и группу www-data к каталогу /var/www/html/ — таким образом файлы внутри этой директории станут доступны Nginx для обработки. Если этого не сделать, то во время установки WordPress не сможет модифицировать собственные файлы и будет просить сделать изменения вручную:

    sudo chown -R www-data:www-data /var/www/html/ sudo chmod -R 755 /var/www/html/

    8. Конфигурация WordPress

    Взаимодействие с WordPress происходит через интуитивно понятный графический интерфейс панели управления.

    Для этого не требуются какие-либо знания языков программирования (JavaScript, PHP, HTML, CSS), хотя их понимание будет очевидным преимуществом — вы сможете редактировать или создавать с нуля темы и плагины, являющиеся основными компонентами WordPress.

    Соответственно, настройка CMS будет выполняться через панель управления. Чтобы в нее попасть, нужно зайти на рабочий сайт через браузер по тому домену, который мы указали в конфигурации Nginx.

    Например, адрес может быть таким:

    В этом случае, если установка всех компонентов прошла успешно, вас перекинет на страницу первичной конфигурации WordPress:

    https://domain.ru/wp-admin/setup-config.php

    Сначала появится экран выбора языка. Выделяем необходимый и жмем на кнопку Continue.

    После этого WordPress покажет небольшое описание будущих этапов конфигурации и список данных, который потребуется CMS для настройки.

    На этом экране нужно просто нажать кнопку Let’s go! , после чего вас перекинет на страницу заполнения информации о базе данных MySQL.

    Потребуется ввести следующие параметры:

    • Имя базы данных (в нашем примере это wordpress_database)

    • Имя пользователя базы данных (в нашем примере это wordpress_user)

    • Пароль пользователя базы данных (в нашем примере это wordpress_password)

    • Адрес базы данных (оставляем localhost)

    • Префикс таблицы (оставляем wp_)

    Имя базы данных (в нашем примере это wordpress_database)

    Имя пользователя базы данных (в нашем примере это wordpress_user)

    Пароль пользователя базы данных (в нашем примере это wordpress_password)

    Адрес базы данных (оставляем localhost)

    Префикс таблицы (оставляем wp_)

    Далее жмем кнопку Submit.

    Если данные введены верно, появится сообщение о том, что WordPress получил доступ к БД.

    Внизу будет кнопка Run the installation — жмем на нее, после чего WordPress выведет страницу для заполнения информации о сайте и администраторе:

    • Название сайта

    • Имя пользователя

    • Пароль

    • Email

    • Запрет на индексацию сайта поисковыми системами

    Запрет на индексацию сайта поисковыми системами

    После заполнения данных жмем на кнопку Install Wordpress.

    После этого WordPress предложить авторизоваться на сайте. Вводим ранее указанные имя пользователя и пароль и оказываемся в панели управления сайтом.

    На главной странице находятся настраиваемые информационные доски, а слева расположено основное меню, через которое редактируются основные «сущности» движка WordPress — посты, страницы, комментарии, медиа-файлы, темы, плагины, пользователи и т.д.


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490₽

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190₽

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны