- Home »

Установка WordPress на Ubuntu — пошаговое руководство
Если ты когда-нибудь задумывался, как быстро и без лишней боли развернуть WordPress на своем собственном сервере под Ubuntu — этот пост для тебя. Здесь не будет воды про «что такое WordPress» и «зачем нужен сайт», зато будет концентрат практики: как всё работает, как не наступить на грабли, какие команды реально нужны, и как автоматизировать процесс. В конце — советы, лайфхаки, сравнения и даже немного магии автоматизации. Всё, чтобы ты мог не просто поднять WP, а сделать это как профи, с пониманием, что происходит под капотом.
Как это работает: архитектура WordPress на Ubuntu
WordPress — это PHP-приложение, работающее в связке с веб-сервером (чаще всего Apache или Nginx) и базой данных (обычно MySQL или MariaDB). Ubuntu — один из самых популярных дистрибутивов для серверов, и его репозитории позволяют быстро ставить нужные компоненты. Вся магия в том, что ты сам управляешь окружением: можешь оптимизировать, автоматизировать, масштабировать. Это не shared-хостинг, где ты ограничен панелькой и чужими настройками.
- Веб-сервер: Apache или Nginx — принимают HTTP-запросы, отдают статику, проксируют PHP.
- PHP: интерпретирует код WordPress, генерирует HTML.
- База данных: хранит контент, настройки, пользователей.
- Ubuntu: управляет всем этим, обеспечивает безопасность, обновления, автоматизацию.
Схема простая, но в деталях кроется дьявол: от правильной настройки зависит скорость, безопасность и стабильность твоего сайта.
Как быстро и просто всё настроить: пошаговый гайд
Давай без лишних слов — вот пошаговый чеклист, как развернуть WordPress на Ubuntu (актуально для Ubuntu 22.04 LTS и новее). Все команды — под рутом или через sudo
.
-
Обнови систему:
sudo apt update && sudo apt upgrade -y
-
Поставь Apache (или Nginx):
sudo apt install apache2 -y
# или для Nginx:
# sudo apt install nginx -y
-
Установи PHP и нужные модули:
sudo apt install php php-mysql php-gd php-xml php-mbstring php-curl php-zip libapache2-mod-php -y
Для Nginx вместо
libapache2-mod-php
ставьphp-fpm
:
sudo apt install php-fpm -y
-
Установи MariaDB (или MySQL):
sudo apt install mariadb-server mariadb-client -y
Для MySQL:
sudo apt install mysql-server mysql-client -y
-
Создай базу данных и пользователя для WordPress:
sudo mysql -u root
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:
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
sudo mv wordpress /var/www/html/
-
Настрой права:
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress
-
Создай виртуальный хост (для Apache):
sudo nano /etc/apache2/sites-available/wordpress.conf
Вставь:
<VirtualHost *:80>
ServerName your-domain.com
DocumentRoot /var/www/html/wordpress<Directory /var/www/html/wordpress>
AllowOverride All
</Directory>ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Активируй сайт и mod_rewrite:
sudo a2ensite wordpress
sudo a2enmod rewrite
sudo systemctl reload apache2
-
Для Nginx — свой конфиг:
sudo nano /etc/nginx/sites-available/wordpress
Пример конфига:
server {
listen 80;
server_name your-domain.com;
root /var/www/html/wordpress;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/php7.4-fpm.sock;
}location ~ /\.ht {
deny all;
}
}
Активируй сайт:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
-
SSL (Let’s Encrypt, опционально):
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache
# или для Nginx:
# sudo apt install python3-certbot-nginx -y
# sudo certbot --nginx
Подробнее: https://certbot.eff.org/
-
Финал: открой браузер, перейди на
http://your-domain.com
и следуй мастеру установки WordPress.
Примеры, схемы, практические советы
Вот несколько кейсов из жизни, чтобы ты не повторял чужих ошибок:
Кейс | Что пошло не так | Решение |
---|---|---|
WordPress не видит базу данных | Неправильно указаны имя БД, пользователь или пароль в wp-config.php |
Проверь DB_NAME , DB_USER , DB_PASSWORD и DB_HOST . Для локального сервера localhost — ок. |
Права на файлы/папки | WordPress не может загружать файлы, обновлять плагины | Проверь владельца: sudo chown -R www-data:www-data /var/www/html/wordpress |
Ошибка 403/404 при включении ЧПУ | Не включён mod_rewrite (Apache) или не прописан try_files (Nginx) |
Для Apache: sudo a2enmod rewrite . Для Nginx: смотри пример конфига выше. |
Сайт тормозит | Нет кеширования, PHP работает как mod_php, не настроен OPcache | Поставь php-opcache , используй php-fpm , подключи кеширующий плагин WP. |
Похожие решения, программы и утилиты
- LAMP/LEMP-стек: Можно поставить всё одной командой:
sudo tasksel install lamp-server
(но ручная настройка — гибче). - WP-CLI: Крутая утилита для управления WordPress из консоли: https://wp-cli.org/
- Docker: Если хочется изоляции и быстрого деплоя — официальный WordPress-образ.
- Автоматизация через Ansible: Для массового развертывания — роль для Ansible.
- Bitnami: Готовые образы WordPress для разных платформ: https://bitnami.com/stack/wordpress
Статистика и сравнение с другими решениями
Решение | Гибкость | Скорость установки | Безопасность | Автоматизация | Для кого |
---|---|---|---|---|---|
WordPress на Ubuntu вручную | Максимальная | Средняя | Высокая (при правильной настройке) | Любая (скрипты, Ansible, WP-CLI) | Технари, DevOps, админы |
Shared-хостинг | Минимальная | Быстро | Средняя | Ограничена | Новички, блогеры |
Docker-образ WordPress | Высокая | Очень быстро | Зависит от образа | Очень просто | DevOps, CI/CD |
Bitnami-образ | Средняя | Очень быстро | Хорошая | Образы, скрипты | Те, кто не хочет возиться с ручной настройкой |
Интересные факты и нестандартные способы использования
- WordPress можно использовать не только для блогов, но и как headless CMS — отдавать контент через REST API для мобильных приложений или SPA.
- С помощью WP-CLI можно автоматизировать обновления, создание пользователей, импорт/экспорт данных — идеально для массового обслуживания сайтов.
- WordPress на Ubuntu отлично дружит с Git — можно деплоить темы и плагины через git hooks.
- Можно настроить staging-сервер на том же VPS для тестирования обновлений перед выкатыванием на прод.
- WordPress легко интегрируется с CI/CD пайплайнами (GitHub Actions, GitLab CI) — автоматизация деплоя и тестов.
Какие новые возможности открываются: автоматизация и скрипты
- Скрипты bash для автоматического обновления WP, плагинов, тем — экономия времени на рутину.
- Мониторинг через Prometheus + Grafana — отслеживай нагрузку, ошибки, аптайм.
- Автоматическое резервное копирование БД и файлов по расписанию (cron + rsync/mysqldump).
- Массовое клонирование сайтов для разработки или тестирования через WP-CLI и скрипты.
- Интеграция с облачными сервисами (S3, Cloudflare) для хранения бэкапов и ускорения загрузки.
Выводы и рекомендации
Установка WordPress на Ubuntu — это не только способ получить свой сайт, но и отличный способ прокачать навыки администрирования, автоматизации и DevOps. Ты получаешь полный контроль: можешь оптимизировать производительность, внедрять CI/CD, автоматизировать всё, что только можно. Это решение для тех, кто хочет не просто сайт, а инфраструктуру под себя.
- Если нужен быстрый старт и контроль — ставь WordPress на свой VPS или выделенный сервер. Заказать VPS или выделенный сервер — и ты в игре.
- Не забывай про безопасность: обновления, бэкапы, SSL, права на файлы.
- Используй WP-CLI и скрипты для автоматизации — это реально экономит часы жизни.
- Для масштабирования — Docker, Ansible, CI/CD — твои лучшие друзья.
- И помни: сервер — это твоя песочница. Экспериментируй, автоматизируй, учись на ошибках и делись опытом.
Если остались вопросы — пиши в комментарии, делись своими кейсами и лайфхаками. Удачного аптайма!
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.