WordPress + LAMP
WordPress — востребованный open-source движок для создания блогов и веб-сайтов. Многие веб-сайты используют специализированные системы управления.
Данное руководство поможет настроить WordPress на облачном сервере с помощью командной строки. Развёртывание через команды сложнее, чем простое скачивание готовой конфигурации, но при этом командная строка позволяет произвести более гибкую настройку и эффективное администрирование.
Платформа WordPress требует наличия облачной инфраструктуры и доменного имени. Это руководство показывает способ установки WordPress на стеке LAMP. Расшифровывается как LINUX APACHE MYSQL PHP. Стек — серверная установка (совокупность необходимых инструментов для поддержки веб приложения).
Требования
Для начала работы вам потребуется доступ к серверу Linux Ubuntu 20.0. А затем нужно выполнить следующие действия:
- Настройте ваш сервис и проверьте, чтобы был задан пользователя sudo без прав администратора (root).
- Разверните и проведите отладку стека LAMP
- Защита для сайта — важный элемент, требующий отдельного внимания. Данные пользователя всегда будут главной добычей для злоумышленников, поэтому настройте шифрование трафика, с помощью технологии TLS/SSL. Здесь есть два варианта:
- Если доменное имя уже готово к использованию, то подключите LETS ENCRYPT. Модуль предоставляет бесплатные подлинные сертификаты.
- В случае, если домен не подобран, то воспользуйтесь самоподписанным сертификатом
Зайдите на сервер пользователем sudo и начните настройку системы по следующему алгоритму:
ШАГ 1 — База данных
Войдите в учетную запись с правами администратора MYSQL
mysql -u root -p
При этом профиль пользователя не меняется !
Пройдите авторизацию, введите данные учетной записи. Если забыли старый пароль, создайте новый с помощью команды:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
Удобно, можно контролировать базы данных MYSQL через WordPress.
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Команда создаст базу для WordPress, которая нужна для администрирования.
Чтобы привязать базы данных, используйте команду:
CREATE USER 'wordpressuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
В wordpressuser разрешите абсолютный доступ к ранее созданной базе MYSQL:
GRANT ALL ON wordpress.* TO 'wordpressuser'@'%'; mysql> EXIT; - выйдите из программы
ШАГ 2 — PHP расширение для сервера
PHP реализует коммуникацию всех модулей веб-сайта. Команды, приведенные ниже устанавливают актуальные расширения PHP:
sudo apt update sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
Лучше почитать документацию расширений для того, чтобы установить необходимые инструменты.
Перезагрузите APACHE. Новые расширения автоматически загрузятся, будут готовы к использованию.
sudo systemctl restart apache2
ШАГ 3 — Конфигурация Apache для переопределения и перезаписи .htaccess
Измените настройки Apache. Предварительно, файл для сайта должен находиться по адресу /etc/apache2/sites-available
Также, мы будем использовать /var/www/wordpress в качестве корневой директории для нашей установки WordPress. Вы должны использовать корневой веб-узел, указанный в вашей собственной конфигурации. Если вы следовали указаниям нашего руководства по LAMP, вы можете использовать ваше доменное имя вместо wordpress в обоих случаях. После определения пути, перейдите к работе с .htaccess, потому что APACHE нужно обрабатывать изменения настроек в разных директориях. До настройки файлы .htaccess не работают.
sudo nano /etc/apache2/sites-available/wordpress.conf .Эта команда открывает файл с надстройками Apache. Внутри файла будет закрытый блок Directory. Адрес рядом с первым тегом обозначает корневую папку документа. Вставьте данный кусок кода в блок файла надстроек VirtualHost, перед этим проверьте корректность адреса корневой директории.
<Directory /var/www/wordpress/> AllowOverride All </Directory>
В редакторе nano нажмите сочетание клавиш CTRL и X, затем Y, затем ENTER.
Активация перезаписи mod_rewrite используется для настройки постоянных ссылок WP. Постоянные ссылки упрощают навигацию по веб-сайту для пользователя, а также структурируют вашу разработку.
sudo a2enmod rewrite http://example.com/2012/post-name/ http://example.com/2012/12/30/post-name
Активация изменений
Команда sudo apache2ctl configtest тестирует работу сервера. Проделайте это, чтобы убедиться в отсутствии ошибок при редактировании конфигурационных файлов.
ШАГ 4 — Выгрузка WordPress
Бэкэнд сайта настроен, пришло время загружать WordPress. Код системы постоянно обновляется, поэтому настоятельно рекомендуем вам использовать последние версии во избежании проблем с безопасностью.
cd /tmp curl -O https://wordpress.org/latest.tar.gz
Эти команды скачивают систему
Извлечь файлы:
tar xzvf latest.tar.gz
Далее необходимо перенести файлы в корневую папку, создать файл .htaccess
touch /tmp/wordpress/.htaccess
Можно создать директорию, отвечающую за обновления в автоматическом режиме
mkdir /tmp/wordpress/wp-content/upgrade
Перемещаем все файлы в корневую директорию.
sudo cp -a /tmp/wordpress/. /var/www/wordpress*
Не забывайте, у вас может быть другая директория (отличная от /wordpress).
ШАГ 5 — Настройка главной папки WordPress
Очень важно установить привязку к корневой директории.
sudo chown -R www-data:www-data /var/www/wordpress*
Группа команд, которые устанавливают необходимые разрешения
sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \; sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;
Сгенерируйте секретный ключ безопасности, который обеспечивает приватность и конфиденциальность использования.
curl -s https://api.wordpress.org/secret-key/1.1/salt/
Вставьте полученные значения в файл настроек, скопировав вывод скрипта
sudo nano /var/www/wordpress*/wp-config.php
В кавычки вместо ‘put your un…’ вставьте сгенерированные ключи
Поскольку мы предоставили веб-серверу разрешение на запись там, где ему потребуется, мы можем прямо установить метод файловой системы «direct». Если бы мы не внесли это изменение в текущие настройки, это привело бы к тому, что при выполнении некоторых действий WordPress будет запрашивать данные учетной записи для FTP.
ШАГ 6 — Завершение установки с помощью графического интерфейса
После детальной настройки сервера, завершить установку системы через специальный интерфейс.
Введите в браузер адрес домена или публичный адрес вашего сервера:
https://server_domain_or_IP
Установите язык:
Далее, установите имя пользователя, пароль генерируется автоматически. Введите электронную почту (адрес). Важно, разрешите (или нет) индексацию вашего веб-сайт поисковыми машинами.
Перейдите на следующую страницу:
Совершите авторизацию в учетной записи WordPress:
Готово! Веб-страница ждёт заполнения и развития.
Дополнительно
Выставьте постоянные ссылки для постов (Настройки — Permalinks(Постоянные ссылки)). Можно изменить тему интерфейса (Внешний вид — Темы). Также, есть возможность добавлять пользователей, которые могут редактировать наполнение веб-сайта (Пользователи — Добавить нового +).