Установка WordPress на LAMP в Debian 10

WordPress – это самая популярная в мире система управления контентом (CMS), которая позволяет быстро развернуть сайт или блог на бэкенде MariaDB и PHP.

WordPress идеально подходит для быстрого запуска сайта; после установки почти все задачи по управлению можно выполнить через удобный интерфейс.

Этот мануал поможет вам установить WordPress на стек LAMP на сервере Debian 10.

Требования

1: Создание базы данных и пользователя MariaDB

Сначала нужно подготовить отдельную БД и пользователя для WordPress. WordPress использует MySQL для хранения и управления данными сайта. MariaDB – это форк MySQL – уже установлена на сервере.

Откройте сессию root в MariaDB:

sudo mariadb

Примечание: Если вы создали другой аккаунт с привилегиями администратора при настройке MariaDB, вы можете использовать его. Для этого введите:

mariadb -u username -p

После этого MariaDB попросит пароль.

Сначала нужно создать БД для WordPress; в данном мануале эта БД будет условно называться wordpress, но вам лучше выбрать более описательное имя. Итак, чтобы создать БД, введите:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Примечание: Каждая команда MySQL должна заканчиваться символом точки с запятой.

Теперь нужно создать для новой базы данных отдельного пользователя. В целом использование индивидуальных БД и пользователей для разных сервисов очень полезно с точки зрения управления и безопасности. В руководстве пользователь условно называется wordpress_user.

Следующая команда создаст пользователя, установит пароль и передаст все права на новую БД.

GRANT ALL ON wordpress.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'password';

Теперь WordPress сможет использовать индивидуальную БД и пользователя. Сбросьте привилегии.

FLUSH PRIVILEGES;

Выйдите из оболочки MariaDB:

EXIT;

2: Установка расширений PHP

Стандартная установка LAMP предоставляет только базовые функции своих компонентов. Но для корректной работы WordPress вам нужны дополнительные расширения PHP.

Чтобы установить их, обновите индекс пакетов и введите следующую команду:

sudo apt update
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

Примечание: Каждый плагин WordPress имеет свой набор требований. Некоторым может потребоваться установка дополнительных пакетов PHP. Проверьте документацию плагина, чтобы узнать его требования к PHP. Большинство плагинов можно установить с помощью apt, как показано выше.

Перезапустить Apache и обновить настройки можно позже. Для этого используется команда:

sudo systemctl restart apache2

3: Поддержка .htaccess и модуля rewrite

Теперь нужно внести поправки в настройки Apache. После установки стека у вас должен быть конфигурационный файл сайта в каталоге /etc/apache2/sites-available/. Для примера мы будем использовать /etc/apache2/sites-available/wordpress.conf, а вы должны отредактировать свой файл.

Кроме того, мы будем использовать /var/www/wordpress в качестве корневого каталога установки WordPress. Вы должны использовать корневой каталог, указанный в вашей конфигурации.

Примечание: Возможно, вы используете стандартную конфигурацию 000-default.conf (и корневой каталог /var/www/html). Это нормально, если вы хотите разместить на этом сервере только один веб-сайт. Если нет, лучше разделить конфигурацию на логические фрагменты, по одному файлу на сайт.

Сейчас файлы .htaccess не поддерживаются. WordPress и многие плагины этой системы широко используют функции .htaccess.

Откройте конфигурационный файл сайта:

sudo nano /etc/apache2/sites-available/wordpress.conf

Чтобы включить поддержку файлов .htaccess, нужно установить директиву AllowOverride в блоке Directory, который указывает на каталог document root. Добавьте директиву в конец блока VirtualHost:

<Directory /var/www/wordpress/>
AllowOverride All
</Directory>

Сохраните и закройте файл.

Чтобы включить rewrite, наберите:

sudo a2enmod rewrite

Прежде чем обновить настройки, проверьте ошибки в синтаксисе:

sudo apache2ctl configtest

Команда должна вернуть:

Syntax OK

Если команда нашла ошибки, их нужно исправить и повторить проверку. После этого нужно перезапустить Apache:

sudo systemctl restart apache2

4: Загрузка WordPress

Теперь сервер готов к установке WordPress. Из соображений безопасности рекомендуется устанавливать последнюю версию WordPress с сайта проекта.

Примечание: Сейчас для работы понадобится утилита curl. Чтобы установить ее, введите:

sudo apt install curl

Перейдите в каталог, открытый для записи, а затем загрузите сжатый пакет WordPress.

cd /tmp
curl -O https://wordpress.org/latest.tar.gz

Распакуйте пакет:

tar xzvf latest.tar.gz

Эти файлы нужно переместить в document root. Но прежде нужно добавить фиктивный файл .htaccess, который WordPress сможет использовать позже. Чтобы создать файл, введите:

touch /tmp/wordpress/.htaccess

Затем нужно скопировать образец конфигурации WordPress:

cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

Также можно создать каталог upgrade , чтобы WordPress не столкнулся с конфликтом привилегий после обновления его программного обеспечения:

mkdir /tmp/wordpress/wp-content/upgrade

Теперь можно скопировать файлы в document root. Чтобы сохранить права на файлы, используйте опцию –a. Точка после исходного каталога указывает, что в этом каталоге нужно скопировать все файлы, включая скрытые файлы (например, только что созданный файл .htaccess)

sudo cp -a /tmp/wordpress/. /var/www/wordpress

5: Настройка каталога WordPress

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

Для начала нужно установить надежные права доступа к файлам и права собственности. Обычный пользователь и веб-сервер должны иметь доступ и возможность настраивать определенные файлы и каталоги.

Передайте права на все файлы в каталоге document root пользователю и группе www-data. Это пользователь, который запускает Apache. Веб-сервер должен читать и изменять файлы WordPress, чтобы обслуживать сайт и выполнять автоматические обновления. Обновите права:

sudo chown -R www-data:www-data /var/www/wordpress

Затем нужно запустить две команды find, чтобы установить правильные привилегии на каталоги и файлы WordPress:

sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

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

В него нужно добавить секретные ключи для безопасности WordPress. WordPress предлагает удобный генератор для этих значений, так что вам не нужно самостоятельно создавать сложные ключи. Кроме того, они используются только внутренне, поэтому не вам не придется запоминать много сложных значений.

Чтобы получить ключи WordPress, введите:

curl -s https://api.wordpress.org/secret-key/1.1/salt/

Команда вернёт ряд уникальных значений:

define('AUTH_KEY',         '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H');
define('SECURE_AUTH_KEY',  'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3');
define('LOGGED_IN_KEY',    'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88');
define('NONCE_KEY',        'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g');
define('AUTH_SALT',        'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES  07VC*Lj*lD&?3w!BT#-');
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY');
define('LOGGED_IN_SALT',   'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|');
define('NONCE_SALT',       'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');

Важно! Не копируйте эти секретные ключи – это просто образец. Вы должны сгенерировать свои значения.

Эти строки можно добавить в конфигурации. Скопируйте и откройте конфигурационный файл WordPress:

sudo nano /var/www/wordpress/wp-config.php

Найдите следующий раздел:

. . .
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');
. . .

Удалите эти строки и вставьте вместо них сгенерированные ключи:

. . .
define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');
. . .

Затем нужно отредактировать параметры базы данных. Укажите имя БД, имя пользователя и пароль MariaDB.

Также нужно определить метод внесения данных WordPress в файловую систему. Поскольку веб-сервер имеет право на запись в файловой системе, вы можете выбрать direct. Если не внести эту настройку, при выполнении некоторых действий WordPress будет запрашивать учётные данные FTP.

Этот параметр можно добавить в раздел настройки соединений БД.

. . .
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wordpress_user');
/** MySQL database password */
define('DB_PASSWORD', 'password');
. . .
define('FS_METHOD', 'direct');

Сохраните и закройте файл.

6: Веб-интерфейс WordPress

После настройки сервера можно завершить установку WordPress в браузере.

http://server_domain_or_IP

WordPress предложит выбрать язык установки, после чего появится главная страница настройки. Укажите название сайта и имя пользователя для доступа к CMS. Система самостоятельно сгенерирует надёжный пароль.

Примечание: Использовать имя вроде «admin» не рекомендуется.

Затем введите адрес вашей электронной почты и настройте индексацию сайта в поисковых системах.

Нажмите кнопку Install WordPress. После этого появится страница входа. Введите свои учётные данные, чтобы получить доступ к панели инструментов.

Заключение

Теперь система управления контентом WordPress установлена и готова к работе. Настройте постоянные ссылки (Settings > Permalinks) или выберите новую тему для своего сайта (Appearance > Themes).

Tags: , , ,