Как установить и эффективно настроить WordPress на сервере Ubuntu: Пошаговая инструкция

WordPress – это самая популярная система управления контентом (CMS) в мире, лежащая в основе миллионов веб-сайтов, от личных блогов до крупных корпоративных порталов. Установка WordPress на сервер Ubuntu предоставляет высокую степень контроля, гибкости и производительности, что делает его предпочтительным выбором для многих разработчиков и системных администраторов.Данное пошаговое руководство поможет вам самостоятельно развернуть WordPress на операционной системе Ubuntu. Мы рассмотрим все этапы: от подготовки сервера и настройки стека LAMP/LEMP до финальной конфигурации WordPress и рекомендаций по безопасности. Независимо от вашего уровня опыта, этот мануал предоставит четкие инструкции для успешного запуска вашего сайта.

Подготовка сервера Ubuntu

Подготовка сервера Ubuntu – важный этап, обеспечивающий стабильную и безопасную работу WordPress. Он включает несколько ключевых шагов:

  1. Обзор требований к серверу для WordPress: Убедитесь, что ваш сервер соответствует минимальным требованиям WordPress: PHP 7.4 или выше, MySQL версии 5.7+ или MariaDB 10.3+, поддержка HTTPS.

  2. Обновление системы и установка базовых пакетов: Выполните обновление списка пакетов и установку необходимых утилит:

    sudo apt update && sudo apt upgrade -y
    sudo apt install -y wget curl gnupg unzip
    
  3. Настройка пользователя sudo: Рекомендуется создать отдельного пользователя с правами sudo для управления сайтом, чтобы не использовать учетную запись root напрямую. Это повышает безопасность системы:

    sudo adduser ваш_пользователь
    sudo usermod -aG sudo ваш_пользователь
    sudo su - ваш_пользователь
    

Выполнив эти шаги, вы подготовите надежную основу для дальнейшей установки WordPress.

Обзор требований к серверу для WordPress

Для оптимальной работы WordPress на сервере Ubuntu необходимо учитывать несколько ключевых требований:

  • Операционная система: Ubuntu 20.04 LTS или новее (22.04/24.04 рекомендуется).

  • Веб-сервер: Apache (версия 2.4 или новее) или Nginx (версия 1.10 или новее).

  • База данных: MySQL (версия 5.6 или новее) или MariaDB (версия 10.1 или новее).

  • PHP: Версия 7.4 или новее (рекомендуется 8.0+ для лучшей производительности и безопасности).

  • Память (RAM): Минимум 256 МБ, рекомендуется 512 МБ или больше для сайтов с высокой посещаемостью.

  • Место на диске: Минимум 10 ГБ, в зависимости от объема контента (изображения, видео и т.д.).

  • Процессор: Минимальные требования – 1 ГГц, рекомендуется 2 ГГц или больше.

Убедитесь, что ваш сервер соответствует этим требованиям перед установкой WordPress. Это обеспечит стабильную и быструю работу вашего сайта.

Обновление системы и установка базовых пакетов

После того как вы убедились, что ваш сервер соответствует минимальным требованиям, первым шагом к безопасной и стабильной установке WordPress является обновление операционной системы. Это гарантирует, что все программное обеспечение будет использовать самые актуальные версии с последними исправлениями безопасности.

Выполните следующие команды в терминале:

  1. Обновление списка пакетов:

    sudo apt update
    
  2. Обновление всех установленных пакетов до последних версий:

    sudo apt upgrade -y
    
  3. Установка базовых утилит, которые могут понадобиться в дальнейшем:

    sudo apt install curl wget unzip -y
    

Эти команды гарантируют, что ваша система будет полностью обновлена и готова к дальнейшей установке необходимых компонентов.

Настройка пользователя sudo

Для безопасного администрирования сервером рекомендуется использовать пользователя, отличного от root, с правами sudo. Если такой пользователь еще не создан, выполните следующие действия:

  1. Создайте нового пользователя: adduser <username>. Замените <username> на желаемое имя пользователя.

  2. Добавьте пользователя в группу sudo: usermod -aG sudo <username>.

Теперь пользователь <username> имеет права администратора, и вы можете выполнять команды, требующие повышенных привилегий, используя sudo.

Установка и настройка веб-сервера и базы данных (LAMP/LEMP)

На этом этапе необходимо выбрать между веб-серверами Apache и Nginx. Apache хорошо подходит для новичков благодаря своей гибкости и простоте настройки с использованием .htaccess. Nginx, с другой стороны, известен своей высокой производительностью и эффективным использованием ресурсов, что делает его отличным выбором для сайтов с высокой посещаемостью.

  • Apache: Установка выполняется командой sudo apt update && sudo apt install apache2. После установки необходимо настроить виртуальный хост для вашего домена.

  • Nginx: Установка выполняется командой sudo apt update && sudo apt install nginx. Конфигурация server block выполняется в файле /etc/nginx/sites-available/your_domain.

Далее потребуется установить и настроить MySQL или MariaDB для хранения данных WordPress:

  • sudo apt install mariadb-server mariadb-client

Во время установки MariaDB будет предложено задать пароль для пользователя root. Не забудьте это сделать.

Затем установите PHP и необходимые расширения:

  • sudo apt install php php-mysql php-fpm php-cli php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

После установки PHP необходимо настроить PHP-FPM для работы с выбранным веб-сервером.

Выбор и установка веб-сервера (Apache или Nginx)

Для работы WordPress необходим веб-сервер, который будет обслуживать запросы пользователей и передавать их PHP для обработки. Вы можете выбрать между двумя наиболее популярными вариантами: Apache или Nginx.

  • Apache является традиционным выбором, широко используется и хорошо документирован. Он прост в настройке для WordPress, особенно с помощью .htaccess файлов.

    Для установки Apache выполните:

sudo apt update sudo apt install apache2 «`

  • Nginx известен своей высокой производительностью и эффективностью при обработке статических файлов и большом количестве одновременных соединений. Он часто используется как обратный прокси перед Apache или как самостоятельный веб-сервер.

    Для установки Nginx выполните:

sudo apt update sudo install nginx «`

После установки выбранного веб-сервера убедитесь, что он запущен и доступен.

Установка и настройка MySQL/MariaDB

Для хранения всего содержимого вашего сайта WordPress требуется система управления базами данных. MariaDB является популярной альтернативой MySQL, полностью совместимой и часто используемой в стеке LAMP/LEMP. Установите MariaDB Server, выполнив следующую команду:

sudo apt install mariadb-server

После установки рекомендуется запустить скрипт безопасности для улучшения защиты вашей СУБД:

sudo mysql_secure_installation

Этот скрипт поможет удалить анонимных пользователей, запретить удаленный вход root и удалить тестовую базу данных. Наконец, необходимо создать базу данных и пользователя для WordPress:

sudo mysql
CREATE DATABASE wordpress_db DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'YOUR_STRONG_PASSWORD';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Установка и настройка PHP и необходимых расширений

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

Для Apache выполните команду:

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-zip php-intl -y

Для Nginx (с использованием PHP-FPM):

sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-zip php-intl -y

Эти расширения обеспечивают корректную работу WordPress с изображениями, базами данных, многоязычностью и другими функциями. После установки перезапустите веб-сервер, чтобы изменения вступили в силу.

Установка WordPress

Теперь, когда наш сервер настроен, мы можем приступить к установке WordPress.

  1. Скачивание WordPress: Загрузите последнюю версию WordPress с официального сайта (wordpress.org) с помощью wget:

    wget https://wordpress.org/latest.tar.gz
    
  2. Распаковка архива: Распакуйте скачанный архив в директорию веб-сервера (например, /var/www/html/wordpress):

    tar -xzvf latest.tar.gz -C /var/www/html/
    
  3. Настройка wp-config.php:

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

    • Скопируйте файл wp-config-sample.php в wp-config.php:

      cp wp-config-sample.php wp-config.php
      
    • Отредактируйте wp-config.php, указав параметры подключения к базе данных (имя базы данных, имя пользователя, пароль, хост).

    • Сгенерируйте уникальные ключи и соли для повышения безопасности (https://api.wordpress.org/secret-key/1.1/salt/) и вставьте их в wp-config.php.

  4. Права доступа: Установите правильные права доступа к файлам и папкам WordPress, чтобы веб-сервер мог читать и записывать необходимые файлы. Обычно это делается с помощью команд chown и chmod.

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

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

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

  1. Через командную строку (рекомендуется):

    • Используйте wget, чтобы скачать архив WordPress с официального сайта: wget https://wordpress.org/latest.tar.gz

    • Распакуйте скачанный архив: tar -xzvf latest.tar.gz

  2. Через веб-браузер:

    • Зайдите на официальный сайт WordPress (wordpress.org) и скачайте последнюю версию в формате .zip или .tar.gz.

      Реклама
    • Затем, используя FTP-клиент или инструменты командной строки, загрузите скачанный архив на ваш сервер Ubuntu в нужную директорию (например, /var/www/ваш_сайт/).

    • Распакуйте архив в эту директорию.

Настройка файла wp-config.php

После загрузки файлов WordPress на сервер, следующим критически важным шагом является настройка конфигурационного файла. WordPress использует файл wp-config.php для хранения основных параметров, включая данные для подключения к базе данных. Создайте его, скопировав wp-config-sample.php:

cp wp-config-sample.php wp-config.php

Затем откройте wp-config.php в текстовом редакторе (например, nano или vim) и укажите следующие параметры, используя данные, созданные на предыдущем этапе:

  • DB_NAME: Имя вашей базы данных WordPress.

  • DB_USER: Имя пользователя базы данных.

  • DB_PASSWORD: Пароль пользователя базы данных.

  • DB_HOST: Обычно localhost, но может быть другим, если база данных находится на отдельном сервере.

Также рекомендуется сгенерировать уникальные ключи и соли безопасности для повышения защиты вашего сайта. Это можно сделать на api.wordpress.org/secret-key/1.1/salt/ и вставить в соответствующие строки.

Настройка прав доступа к файлам и папкам WordPress

После настройки wp-config.php критически важно правильно установить права доступа к файлам и папкам WordPress для обеспечения безопасности и корректной работы. Неверные права могут стать уязвимостью или препятствовать обновлению плагинов и тем.

Рекомендуемые права доступа:

  • Для всех директорий: 755

  • Для всех файлов: 644

  • Для wp-config.php: 640 (или 600 для максимальной безопасности)

Выполните следующие команды в корневой директории WordPress (например, /var/www/your_domain/wordpress):

sudo chown -R www-data:www-data /var/www/your_domain/wordpress
sudo find /var/www/your_domain/wordpress/ -type d -exec chmod 755 {} +
sudo find /var/www/your_domain/wordpress/ -type f -exec chmod 644 {} +
sudo chmod 640 /var/www/your_domain/wordpress/wp-config.php

Эти команды устанавливают владельца файлов и директорий в www-data (пользователь веб-сервера) и применяют рекомендованные права.

Конфигурация веб-сервера для WordPress

После правильной настройки прав доступа к файлам WordPress, следующий критический шаг — конфигурация вашего веб-сервера для корректной работы с CMS. Этот процесс включает создание виртуального хоста для Apache или блока сервера для Nginx, а также настройку механизмов для обработки PHP-запросов и перезаписи URL.

Настройка Apache (Virtual Host, .htaccess, mod_rewrite)

Для Apache необходимо создать файл Virtual Host, который будет указывать на корневую директорию вашего сайта WordPress и настраивать такие параметры, как ServerName и DocumentRoot. Убедитесь, что модуль mod_rewrite включен для корректной работы постоянных ссылок (permalinks) WordPress. Файл .htaccess в корне WordPress будет автоматически использоваться для дальнейшей настройки правил перезаписи.

Настройка Nginx (Server Block, FastCGI)

При использовании Nginx создайте файл Server Block, который аналогично Apache будет определять корневую директорию. Важно настроить Nginx для перенаправления PHP-запросов к PHP-FPM через FastCGI, что обеспечит высокую производительность. Также необходимо добавить правила перезаписи для работы постоянных ссылок WordPress, поскольку Nginx не использует .htaccess.

Включение SSL-сертификата (Let’s Encrypt)

Для повышения безопасности и SEO-показателей настоятельно рекомендуется настроить SSL-сертификат. Let’s Encrypt предоставляет бесплатные SSL-сертификаты, которые легко интегрируются с обоими веб-серверами с помощью инструмента certbot. Это обеспечивает шифрование трафика между пользователем и сервером.

Настройка Apache (Virtual Host, .htaccess, mod_rewrite)

Для Apache необходимо настроить виртуальный хост, чтобы WordPress корректно обрабатывал запросы. Создайте файл конфигурации виртуального хоста в /etc/apache2/sites-available/:

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

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

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

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

sudo a2ensite example.com.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

.htaccess используется для управления конфигурацией Apache на уровне директорий. AllowOverride All в конфигурации виртуального хоста позволяет WordPress использовать .htaccess для управления постоянными ссылками и другими настройками. Убедитесь, что файл .htaccess находится в корневой директории WordPress.

Настройка Nginx (Server Block, FastCGI)

Для Nginx настройка начинается с создания нового серверного блока. Это аналогично виртуальным хостам Apache, но имеет немного другую структуру. Создайте файл конфигурации, например, /etc/nginx/sites-available/ваш_домен.conf:

server {
    listen 80;
    server_name ваш_домен.com www.ваш_домен.com;
    root /var/www/ваш_домен/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/phpX.X-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Замените ваш_домен.com и путь к root на актуальные значения, а также phpX.X-fpm.sock на версию вашего PHP (например, php8.2-fpm.sock). Активируйте блок, создав символическую ссылку на sites-enabled и перезагрузите Nginx.

Включение SSL-сертификата (Let’s Encrypt)

Для обеспечения безопасного HTTPS-соединения и повышения доверия к сайту рекомендуется использовать бесплатные SSL-сертификаты от Let’s Encrypt. Сначала установите клиент Certbot, который автоматизирует процесс получения и установки:

sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

Затем запустите Certbot, чтобы получить и автоматически настроить SSL-сертификат для Nginx на вашем домене:

sudo certbot --nginx -d ваш_домен -d www.ваш_домен

Certbot внесет необходимые изменения в конфигурацию веб-сервера.

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

После успешной настройки SSL и доступности домена, откройте его в браузере для запуска мастера установки WordPress. Выберите язык, установите название сайта, имя пользователя, пароль администратора и адрес электронной почты. После завершения первичной установки, немедленно перейдите в раздел "Настройки" -> "Постоянные ссылки" и выберите структуру, например, "Название записи" для лучшей SEO-оптимизации. Для дальнейшей безопасности и оптимизации регулярно обновляйте WordPress, используйте сложные пароли и рассмотрите плагины кеширования.

Первичная настройка WordPress через веб-интерфейс

После завершения подготовки сервера и настройки WordPress в файле wp-config.php, откройте доменное имя или IP-адрес вашего сервера в веб-браузере. Вы будете перенаправлены на страницу приветствия WordPress, где необходимо выполнить следующие шаги:

  1. Выбор языка: Выберите желаемый язык для вашей установки WordPress и нажмите «Продолжить».

  2. Настройка информации о сайте: Введите название вашего сайта, желаемое имя пользователя администратора, надежный пароль (дважды) и ваш адрес электронной почты. Рекомендуется использовать сложный пароль.

  3. Видимость для поисковых систем: Опционально отметьте галочку «Попросить поисковые системы не индексировать сайт», если вы не хотите, чтобы ваш сайт был доступен для поисковиков до его полного завершения. Это можно изменить позже.

  4. Нажмите кнопку «Установить WordPress». После успешной установки вы увидите страницу подтверждения.

Настройка постоянных ссылок (Permalinks)

После завершения первичной настройки WordPress, следующим важным шагом является конфигурация постоянных ссылок (Permalinks). Они играют ключевую роль в улучшении читаемости URL-адресов и SEO-показателей вашего сайта.

В административной панели WordPress перейдите в «Настройки» > «Постоянные ссылки». Здесь вы можете выбрать одну из предложенных структур. Для большинства сайтов и лучшей SEO-оптимизации рекомендуется выбрать вариант «Название записи» (Post name). Эта структура создает чистые и понятные URL-адреса, например, вашсайт.ru/primer-zapisi/. После выбора нажмите «Сохранить изменения» внизу страницы.

Рекомендации по безопасности и дальнейшей оптимизации

После настройки постоянных ссылок, уделите особое внимание безопасности. Всегда используйте сложные, уникальные пароли для администратора WordPress и учетных записей баз данных. Регулярно обновляйте ядро WordPress, темы и плагины, чтобы своевременно закрывать известные уязвимости. Рассмотрите установку проверенного плагина безопасности (например, Wordfence или Sucuri). Для оптимизации производительности сайта, обязательно настройте кэширование с помощью специализированных плагинов (WP Super Cache, W3 Total Cache) и оптимизируйте все изображения.

Заключение

Мы успешно прошли весь путь от подготовки сервера Ubuntu до финальной настройки WordPress, включая глубокое погружение в выбор веб-сервера, установку базы данных, настройку PHP, а также критически важные аспекты безопасности и оптимизации. Успешная установка и эффективное управление вашим сайтом WordPress на Ubuntu — это лишь первый шаг.

Помните о непрерывной важности:

  • Регулярных обновлений системы и WordPress

  • Резервного копирования данных

  • Мониторинга производительности и безопасности

Продолжайте изучать возможности WordPress и вашего сервера, чтобы обеспечить стабильную, безопасную и быструю работу вашего веб-проекта.


Добавить комментарий