Установка WordPress со стеком LAMP в Ubuntu 20.04

В этом обучающем руководстве будет использован стек LAMP (Linux, Apache, MySQL, PHP), который является одним из вариантов для серверной архитектуры, поддерживающей WordPress с помощью операционной системы Linux, веб-сервера Apache, базы данных MySQL и языка программирования PHP. Мы установим и настроим WordPress через LAMP на сервере Linux Ubuntu 20.04.

Предварительные требования

Для выполнения этого обучающего руководства вам понадобится доступ к серверу Ubuntu 20.04. Кроме того, вам потребуется выполнить следующие шаги перед началом работы:

  • Настройте ваш сервер с помощью нашего руководства по первоначальной настройке сервера Ubuntu 20.04 и убедитесь, что у вас задан пользователь sudo без прав root.
  • Установите стек LAMP с помощью нашего руководства по LAMP для установки и настройки данного программного обеспечения.
  • Защитите ваш сайт: WordPress принимает пользовательский контент и хранит данные о пользователях, поэтому важно обеспечить уровень безопасности. TLS/SSL — это технология, которая позволяет вам шифровать трафик с сайта для защиты вашего соединения. Для выполнения этого условия существует два варианта:
    • Если у вас есть доменное имя…, вы можете обеспечить защиту вашего сайта с помощью Let’s Encrypt, предоставляющего бесплатные доверенные сертификаты. Воспользуйтесь нашим руководством по Let’s Encrypt для Apache для выполнения настройки.
    • Если у вас нет домена… и вы просто используете данную конфигурацию для тестирования или в личных целях, вы можете использовать самоподписанный сертификат. Данный способ обеспечивает аналогичный тип шифрования, но без подтверждения домена. Воспользуйтесь нашим руководством по самоподписанным сертификатам SSL для Apache для настройки.

Завершив выполнение действий по первоначальной настройке, выполните вход на ваш сервер с помощью пользователя sudo и перейдите к выполнению шагов ниже.

Шаг 1 — Создание базы данных MySQL и пользователя для WordPress

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

Для начала войдите в учетную запись root в MySQL (административную) с помощью следующей команды (обратите внимание, что это не root user вашего сервера):

mysql -u root -p

 Copy

Вам будет предложено ввести пароль, который вы задали для учетной записи root при установке программного обеспечения MySQL.

Примечание. Если вы не можете получить доступ к базе данных MySQL через root, как пользователь sudo, вы можете обновить пароль root user, войдя в базу данных следующим образом:

sudo mysql -u root

 Copy

После того как вы увидите командную строку MySQL, вы можете обновить пароль root user. Для этого замените new_password​​​ выбранным новым надежным паролем.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';

 Copy

Теперь вы можете ввести EXIT; и войти в базу данных с помощью пароля и следующей команды:

mysql -u root -p

 Copy

В базе данных мы можем создать отдельную базу данных, которую будет контролировать WordPress. Вы можете использовать любое название, а в данном руководстве мы будем использовать wordpress. Создайте базу данных для WordPress, введя следующую команду:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

 Copy

Примечание. Каждый оператор MySQL должен заканчиваться точкой с запятой (;). Убедитесь, что это правило не нарушено, если вы столкнетесь с какими-либо проблемами.

Затем мы создадим отдельную учетную запись пользователя MySQL, которую будем использовать исключительно для работы с нашей новой базы данных. Создание отдельных баз данных и учетных записей может быть полезно с точки зрения управления и безопасности. В данном руководстве мы будем использовать имя wordpressuser, но вы можете выбрать любое подходящее название.

Мы создадим учетную запись, установим пароль и предоставим доступ к созданной нами базе данных. Для этого мы воспользуемся следующей командой: Не забудьте задать надежный пароль для пользователя базы данных на этом шаге password​​​:

CREATE USER 'wordpressuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

 Copy

Затем сообщите базе данных о том, что наш wordpressuser должен иметь полный доступ к созданной базе данных:

GRANT ALL ON wordpress.* TO 'wordpressuser'@'%';

 Copy

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

FLUSH PRIVILEGES;

 Copy

Выйдите из MySQL, введя следующую команду:

EXIT;

 Copy

На следующем шаге мы заложим некоторые основы для плагинов WordPress, загрузив расширение PHP для нашего сервера.

Шаг 2 — Установка дополнительных расширений PHP

При настройке нашего стека LAMP нам требуется только минимальный набор расширений, чтобы реализовать коммуникацию PHP с MySQL. WordPress и многие плагины используют дополнительные расширения PHP.

Мы можем загрузить и установить некоторые из самых популярных расширений PHP, которые будет использовать WordPress, введя следующую команду:

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

 Copy

Это заложит основу для установки дополнительных плагинов на наш сайт WordPress.

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

Нам понадобится перезапустить Apache для загрузки этих новых расширений. Мы будем работать с настройками Apache в следующем разделе, поэтому вы можете выполнить этот шаг позже или же перезагрузить сейчас, чтобы завершить процесс настройки расширения PHP.

sudo systemctl restart apache2

 Copy

Шаг 3 — Настройка конфигурации Apache для получения доступа к переопределению и перезаписи .htaccess

Теперь мы внесем несколько незначительных изменений в нашу конфигурацию Apache. Согласно руководствам по предварительным требованиям, у вас должен быть файл конфигурации для вашего сайта в директории /etc/apache2/sites-available.

В этом обучающем руководстве в качестве примера мы будем использовать /etc/apache2/sites-available/wordpress.conf, а вам необходимо заменить путь к вашему файлу конфигурации в соответствующем месте. Также мы будем использовать /var/www/wordpress​​​ в качестве корневой директории для нашей установки WordPress. Вы должны использовать корневой веб-узел, указанный в вашей собственной конфигурации. Если вы следовали указаниям нашего руководства по LAMP, вы можете использовать ваше доменное имя вместо wordpress в обоих случаях.

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

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

Активация переопределения .htaccess

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

Откройте файл конфигурации Apache для вашего веб-сайта с помощью текстового редактора, например nano.

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

 Copy

Чтобы разрешить использование файлов .htaccess, нам нужно настроить директиву AllowOverride внутри блока Directory, которая будет указывать на корневую директорию документа. Добавьте следующий текстовый блок внутри блока VirtualHost в вашем файле конфигурации, убедившись, что вы используете правильную корневую веб-директорию:/etc/apache2/sites-available/wordpress.conf

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

 Copy

После завершения редактирования сохраните и закройте файл. В редакторе nano вы можете сделать это, нажав сочетание клавиш CTRL и X, затем Y, затем ENTER.

Активация модуля перезаписи

Теперь мы сможем активировать mod_rewrite для использования постоянных ссылок в WordPress:

sudo a2enmod rewrite

 Copy

Это позволит вам получать более удобные для восприятия постоянные ссылки для ваших постов, как в двух следующих примерах:

http://example.com/2012/post-name/
http://example.com/2012/12/30/post-name

Команда a2enmod​​​ вызывает скрипт, который активирует заданный модуль в конфигурации Apache.

Активация изменений

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

sudo apache2ctl configtest

 Copy

Вывод может выглядеть следующим образом:

OutputAH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Если вы хотите скрыть верхнюю строку, добавьте директиву ServerName в ваш основной (глобальный) файл конфигурации Apache в /etc/apache2/apache2conf. Вместо ServerName вы можете использовать домен или IP-адрес вашего сервера. Однако это просто сообщение, которое не влияет на функциональность вашего сайта. Если вывод содержит Syntax OK, вы можете двигаться дальше.

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

sudo systemctl restart apache2

 Copy

Теперь мы загрузим и настроим непосредственно WordPress.

Шаг 4 — Загрузка WordPress

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

Перейдите в директорию с возможностью записи (мы рекомендуем временную, например /tmp) и загрузите сжатый релиз.

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

 Copy

Извлеките сжатый файл для создания структуры директории WordPress:

tar xzvf latest.tar.gz

 Copy

Мы сразу же перенесем эти файлы в корневую директорию документов. Перед этим мы можем добавить пустой файл .htaccess, чтобы он был доступен для использования в WordPress позднее.

Создайте файл, введя следующую команду:

touch /tmp/wordpress/.htaccess

 Copy

Мы также заменим имя примера файла конфигурации на имя файла, который использует WordPress:

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

 Copy

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

mkdir /tmp/wordpress/wp-content/upgrade

 Copy

Теперь мы можем скопировать все содержимое директории в корневую директорию. Мы используем точку в конце директории источника, чтобы указать, что все находящиеся в директории файлы должны быть скопированы, включая скрытые файлы (например, созданный нами файл .htaccess):

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

 Copy

Убедитесь, что вы заменили директорию /var/www/wordpress директорией, установленной на вашем сервере.

Шаг 5 — Настройка директории WordPress

Перед настройкой WordPress с помощью веб-интерфейса, нам нужно изменить некоторые элементы в директории WordPress.

Настройка принадлежности и разрешений

Важным шагом, который нам нужно сделать, является настройка разумных разрешений файла и принадлежности.

Для начала мы укажем принадлежность всех файлов пользователю и группе www-data. Именно этот пользователь используется веб-сервером Apache, а Apache будет выполнять чтение и запись файлов WordPress для обслуживания веб-сайта и выполнения автоматических обновлений.

Обновите принадлежность с помощью команды chown, которая позволяет изменять принадлежность файла. Обязательно укажите соответствующую директорию вашего сервера.

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

 Copy

Далее мы запустим две команды find для установки корректных разрешений для директорий и файлов WordPress:

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

 Copy

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

Настройка файла конфигурации WordPress

Теперь нам нужно внести некоторые изменения в основной файл конфигурации WordPress.

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

Чтобы получить безопасные значения из генератора секретных ключей WordPress, введите:

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

 Copy

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

Предупреждение! Важно каждый раз запрашивать уникальные значения. НЕ копируйте приведенные ниже значения!

Outputdefine('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

 Copy

Найдите раздел, содержащий фиктивные значения для этих настроек./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');

. . .

 Copy

Удалите эти строки и добавьте значения, которые вы скопировали из командной строки:/var/www/wordpress/wp-config.php

. . .

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');

. . .

 Copy

Далее мы изменим некоторые параметры подключения базы данных в начале файла. Вам нужно изменить имя базы данных, пользователя базы данных и соответствующий пароль, которые мы ранее настроили в MySQL.

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

Эта настройка может быть добавлена под настройками подключения базы данных или в любом другом месте в файле:/var/www/wordpress/wp-config.php

. . .

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );

/** MySQL database username */
define( 'DB_USER', 'wordpressuser' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );


. . .

define('FS_METHOD', 'direct');

 Copy

Сохраните файл и закройте его после завершения.

Шаг 6 — Завершение установки через веб-интерфейс

Теперь, когда настройка сервера завершена, мы можем завершить установку через веб-интерфейс.

В вашем веб-браузере перейдите на домен вашего сервера или его публичный IP-адрес:

https://server_domain_or_IP

Выберите язык, который вы хотите использовать:

Выбор языка WordPress

После этого вы должны попасть на главную страницу настройки.

Выберите имя для вашего сайта WordPress, а также выберите имя пользователя. Рекомендуется выбрать что-то уникальное и избегать общих имен, таких как «admin», из соображений безопасности. Надежный пароль создается автоматически. Сохраните этот пароль или выберите другой надежный пароль.

Введите адрес электронной почты и укажите, хотите ли вы, чтобы поисковые машины индексировали ваш сайт:

Настройка установки WordPress

При нажатии далее вы перейдете на страницу входа:

Запрос входа в WordPress

После входа вы перейдете в панель управления WordPress:

Запрос входа в WordPress

На этом этапе вы можете начать разрабатывать ваш веб-сайт WordPress! Если вы впервые работаете с WordPress, краткое изучите интерфейс для знакомства с вашей новой CMS.

Заключение

Поздравляем, WordPress уже установлен и готов к использованию!

На этом этапе вы можете начать делать следующее:

  • Выберите параметры для постоянных ссылок для ваших постов в WordPress. Их можно найти в Settings > Permalinks​​​ (Настройки > Постоянные ссылки).
  • Выберите новую тему в Appearance > Themes​​​ (Внешний вид > Темы).
  • Установите новые плагины для повышения функциональности вашего сайта в Plugins > Add New (Плагины > Добавить новый).
  • Если вы собираетесь сотрудничать с кем-то, вы можете также добавить пользователей в Users > Add New (Пользователи > Добавить новый)

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

Рубрика: jpg

Добавить комментарий