WordPress — одна из самых популярных платформ для создания сайтов. Она открыта, гибка и идеально подходит как для новичков, так и для опытных веб-разработчиков. В этом гайде мы пошагово разберём, как развернуть WordPress на сервере с Apache2. Статья будет разделена на четыре части, чтобы детально осветить каждый этап:
- Подготовка окружения.
- Установка Apache, MySQL и PHP (LAMP-стека).
- Настройка базы данных и установка WordPress.
- Финальная настройка безопасности и оптимизация.
Часть 1: Подготовка окружения
Обновление системы
Сначала обновим все пакеты до последних версий. Это залог стабильности и безопасности вашего будущего сайта. Подключитесь к вашему серверу через SSH (например, используя терминал или PuTTY для Windows).
sudo apt update
sudo apt upgrade -y
Эти команды обновят список пакетов и установят последние версии программ. Дождитесь завершения обновления, это может занять некоторое время.
Установка необходимых компонентов
Для работы WordPress нам понадобятся Apache2, MySQL (или другая СУБД) и PHP. Но обо всём по порядку.
Проверка установки Apache
В большинстве дистрибутивов Apache может быть предустановлен. Проверим его наличие:
apache2 -v
Если Apache отсутствует, установите его:
sudo apt install apache2 -y
После установки убедимся, что Apache запущен и работает:
sudo systemctl status apache2
Если всё в порядке, увидите статус active (running).
Настройка брандмауэра (UFW)
WordPress работает на портах 80 (HTTP) и 443 (HTTPS). Открываем их для доступа:
sudo ufw allow in "Apache Full"
Теперь активируем UFW:
sudo ufw enable
Установка MySQL
WordPress требует базу данных для хранения контента. MySQL — надёжный и широко используемый вариант.
Устанавливаем MySQL сервер:
sudo apt install mysql-server -y
После установки проверим статус:
sudo systemctl status mysql
Настройка MySQL безопасности
MySQL имеет встроенный скрипт для улучшения безопасности:
sudo mysql_secure_installation
Этот скрипт поможет установить пароль для root-пользователя MySQL, удалить тестовые базы и отключить анонимных пользователей. Следуйте инструкциям на экране.
На этом подготовка окружения завершена. В следующей части мы установим PHP и завершим настройку LAMP-стека.
Часть 2: Установка Apache, MySQL и PHP (LAMP-стека)
В первой части мы подготовили окружение, установили Apache и MySQL, и настроили брандмауэр. Теперь перейдём к установке PHP и завершим настройку LAMP-стека — основного набора программ для работы WordPress.
Установка PHP
WordPress написан на PHP, поэтому нам нужно установить последнюю стабильную версию. В Ubuntu это можно сделать командой:
sudo apt install php libapache2-mod-php php-mysql -y
Дополнительно установим некоторые расширения, которые понадобятся WordPress:
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y
После установки проверим версию PHP:
php -v
Вы должны увидеть что-то вроде PHP 8.1.2 (версия зависит от вашего дистрибутива).
Настройка PHP
Теперь немного подправим конфигурацию PHP для лучшей производительности WordPress. Откройте файл php.ini:
sudo nano /etc/php/*/apache2/php.ini
(Звёздочка указывает на версию PHP, например, php/8.1/apache2/php.ini.)
Отредактируйте следующие параметры (можете найти их с помощью Ctrl + W):
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
Эти настройки улучшат производительность и позволят загружать на сайт более крупные файлы.
Сохраняем изменения (Ctrl + O, затем Ctrl + X) и перезапускаем Apache:
sudo systemctl restart apache2
Проверка работы LAMP-стека
Чтобы убедиться, что всё работает правильно, создадим простой тестовый файл PHP.
sudo nano /var/www/html/info.php
Добавьте следующий код:
<?php
phpinfo();
?>
Сохраните файл и откройте в браузере:
http://ваш_сервер/info.php
Вы должны увидеть страницу с подробной информацией о PHP. Если всё в порядке, не забудьте удалить этот файл из соображений безопасности:
sudo rm /var/www/html/info.php
Создание базы данных для WordPress
Теперь настроим базу данных MySQL для WordPress. Запустите клиент MySQL:
sudo mysql -u root -p
Введите пароль, который вы установили ранее, и создайте новую базу данных:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Создайте нового пользователя и задайте ему пароль:
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'your_strong_password';
Дайте пользователю права на созданную базу данных:
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
На этом установка LAMP-стека завершена. В следующей части займёмся загрузкой и настройкой самого WordPress!
Часть 3: Установка и настройка WordPress
Мы успешно установили и настроили Apache, MySQL и PHP. Теперь пришло время установить WordPress и привязать его к нашей базе данных.
Скачивание WordPress
Перейдём в директорию /var/www/html
, где обычно располагаются файлы веб-сайтов на сервере Apache:
cd /var/www/html
Удалим стандартный файл index.html
, чтобы он не мешал:
sudo rm index.html
Теперь скачиваем последнюю версию WordPress:
sudo wget https://wordpress.org/latest.tar.gz
Распаковываем архив:
sudo tar -xvzf latest.tar.gz
Перемещаем файлы из распакованной папки в корневую директорию:
sudo mv wordpress/* .
Удаляем остатки архива и пустую папку:
sudo rm -rf wordpress latest.tar.gz
Настройка прав доступа
WordPress требует, чтобы веб-сервер имел доступ к файлам. Устанавливаем необходимые права:
sudo chown -R www-data:www-data /var/www/html/
sudo chmod -R 755 /var/www/html/
Настройка файла wp-config.php
WordPress использует файл wp-config.php для подключения к базе данных. Создадим его из шаблона:
sudo cp wp-config-sample.php wp-config.php
Откройте файл для редактирования:
sudo nano wp-config.php
Найдите следующие строки и укажите параметры вашей базы данных:
define('DB_NAME', 'wordpress'); // Имя базы данных
define('DB_USER', 'wp_user'); // Имя пользователя
define('DB_PASSWORD', 'your_strong_password'); // Пароль пользователя
define('DB_HOST', 'localhost'); // Обычно localhost
Сохраняем изменения и закрываем файл (Ctrl + O, затем Ctrl + X).
Завершение установки через веб-интерфейс
Теперь перейдите в браузере по адресу вашего сервера:
http://ваш_домен_или_IP
Вы увидите экран приветствия WordPress. Следуйте инструкциям:
- Выбор языка: Установите нужный язык интерфейса.
- Основные параметры сайта: Укажите название сайта, логин и пароль администратора.
- Установка: Нажмите кнопку для завершения установки.
После установки вы сможете войти в панель администратора по адресу:
http://ваш_домен_или_IP/wp-admin
Установка и настройка плагинов
На этом этапе WordPress уже полностью готов к работе. Но для улучшения безопасности и функциональности стоит установить несколько плагинов:
- Akismet — защита от спама.
- Yoast SEO — для оптимизации сайта.
- UpdraftPlus — резервное копирование.
- Wordfence — защита от взломов.
Установка плагинов доступна через меню «Плагины» в админке WordPress.
В следующей части займёмся финальной настройкой безопасности и оптимизацией производительности сайта!
Часть 4: Финальная настройка безопасности и оптимизация
Теперь, когда WordPress установлен и работает, пришло время позаботиться о безопасности и производительности вашего сайта. Эти шаги помогут защитить сайт от взломов и ускорить его работу.
Шаг 15: Настройка базовой безопасности WordPress
Отключите редактор файлов в админке
Редактор тем и плагинов внутри админки может стать уязвимостью, если злоумышленник получит доступ. Отключим его:
Откройте файл wp-config.php:
sudo nano /var/www/html/wp-config.php
Добавьте в конец файла:
define('DISALLOW_FILE_EDIT', true);
Измените префикс таблиц базы данных
По умолчанию WordPress использует префикс wp_ для таблиц. Лучше изменить его на что-то уникальное во время установки или через плагины, чтобы усложнить работу злоумышленникам.
Настройка прав доступа к файлам и папкам
Убедитесь, что у файлов и папок установлены правильные права доступа. Для этого выполните команды:
sudo find /var/www/html/ -type d -exec chmod 755 {} \;
sudo find /var/www/html/ -type f -exec chmod 644 {} \;
755 для папок — владелец может читать, записывать и выполнять файлы, остальные — только читать и выполнять.
644 для файлов — владелец может читать и записывать файлы, остальные — только читать.
Включение HTTPS с помощью SSL
Для защиты данных пользователей настройте SSL-сертификат. Если у вас нет сертификата, можно использовать бесплатный Let’s Encrypt.
Установка Certbot:
sudo apt install certbot python3-certbot-apache -y
Получение сертификата:
sudo certbot --apache
Следуйте инструкциям на экране, выберите домен и укажите email для уведомлений. После установки перезапустите Apache:
sudo systemctl restart apache2
Теперь ваш сайт доступен по HTTPS!
Оптимизация производительности
- Включите кэширование: Установите и активируйте плагин, например, WP Super Cache или W3 Total Cache. Они значительно ускоряют загрузку страниц.
- Оптимизируйте изображения: Используйте плагины вроде Smush или ShortPixel для автоматической оптимизации изображений.
- Отключите неиспользуемые плагины и темы: Удалите всё лишнее — это снизит нагрузку на сервер и уменьшит потенциальные уязвимости.
Регулярные обновления
WordPress, плагины и темы необходимо регулярно обновлять. Это критически важно для безопасности. Включите автообновления или проверяйте их вручную в панели администратора.
Комментарии
0