WordPress - это бесплатная и открытая система управления контентом (CMS), написанная на PHP и использующая базу данных MySQL или MariaDB. По данным W3Techs на июль 2025 года, WordPress используется на 43.1% веб-сайтов с известной CMS. Изначально созданный как платформа для блогов в 2003 году, WordPress эволюционировал в мощный инструмент для создания любых типов веб-сайтов. Его популярность обусловлена простотой использования, гибкостью и обширным сообществом разработчиков.
В этой статье мы предоставим актуальное руководство по установке WordPress на сервере Ubuntu с учётом современных требований безопасности и производительности.
Предварительные требования
Перед началом установки WordPress убедитесь, что на вашем сервере Ubuntu выполнены следующие условия:
- Веб-сервер Apache: Установлен с включённым модулем mod_rewrite (для ЧПУ):
sudo a2enmod rewrite
sudo systemctl restart apache2 - PHP 8.0 или выше: С установленными обязательными модулями:
sudo apt install php-mysql php-curl php-gd php-xml php-mbstring php-zip
sudo systemctl restart apache2 - MySQL 8.0 или выше: С настроенной базой данных в кодировке utf8mb4:
mysql --version
Скачивание WordPress
- Скачайте архив
wget https://wordpress.org/latest.tar.gz
- Распакуйте архив полностью
tar -xzf latest.tar.gz
Настройка базы данных
Создайте базу данных с поддержкой Unicode и пользователя с минимальными привилегиями:
CREATE USER 'wp_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'secure_password';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Важно: Использование mysql_native_password обеспечивает совместимость с WordPress.
Настройка WordPress
- Скопируйте образец конфигурации
cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
- Добавьте солевые ключи
Сгенерируйте уникальные ключи на api.wordpress.org/secret-key/1.1/salt/ и вставьте в wp-config.php вместо:define('AUTH_KEY', 'вставьте ваш уникальный ключ');
define('SECURE_AUTH_KEY', 'вставьте ваш уникальный ключ');
// ... остальные ключи - Настройте доступ к БД
Отредактируйте в wp-config.php:define('DB_NAME', 'wordpress');
define('DB_USER', 'wp_user');
define('DB_PASSWORD', 'secure_password');
define('DB_HOST', 'localhost'); - Установите безопасные права
cd /var/www/html
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;
sudo chown -R www-data:www-data /var/www/html
Запуск скрипта установки
- Откройте установку в браузере
Перейдите по адресу http://ваш_IP_адрес или http://localhost - Заполните информацию о сайте:
- Название сайта
- Имя пользователя (не используйте "admin")
- Надёжный пароль
- Email администратора
- Завершите установку
Нажмите "Установить WordPress" и войдите в административную панель
Устранение проблем с установкой
Ошибка подключения к базе данных
- Проверьте аутентификацию пользователя MySQL:
SELECT plugin FROM mysql.user WHERE User = 'wp_user';
Должно возвращаться: mysql_native_password
- Проверьте статус MySQL:
sudo systemctl status mysql
Проблемы с правами доступа
- Проверьте владельца файлов:
ls -l /var/www/html
- Исправьте права:
sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;
Отсутствие функциональности
- Установите недостающие PHP-модули:
sudo apt install php-json php-xmlrpc php-soap php-intl
sudo systemctl restart apache2
Проблемы с SEO-ссылками (ЧПУ)
- Включите mod_rewrite:
sudo a2enmod rewrite
- В файле .htaccess добавьте:
<Directory /var/www/html>
AllowOverride All
</Directory>
Установка WordPress на Ubuntu требует внимания к современным требованиям безопасности, особенно при использовании MySQL 8.0 и PHP 8.0+. Следуя этому руководству, вы создадите оптимизированную и защищённую среду для вашего сайта. Регулярно обновляйте WordPress и его компоненты для поддержания безопасности.
Таблица: Основные команды для установки WordPress
Команда | Описание |
---|---|
sudo a2enmod rewrite | Включает поддержку ЧПУ |
sudo apt install php-mysql php-curl | Устанавливает обязательные PHP-модули |
cp -a wordpress/. /var/www/html/ | Копирует все файлы WordPress |
CREATE USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password | Создаёт совместимого пользователя БД |
find . -type d -exec chmod 755 {} \; | Безопасные права для директорий |
find . -type f -exec chmod 644 {} \; | Безопасные права для файлов |