Как установить WordPress с LAMP на Ubuntu 18.04

Предыдущая версия этого руководства была написанаJustin Ellingwood

Вступление

WordPress - самая популярная CMS (система управления контентом) в Интернете. Это позволяет легко настраивать гибкие блоги и веб-сайты поверх бэкэнда MySQL с обработкой PHP. WordPress получил невероятное распространение и является отличным выбором для быстрого запуска и запуска веб-сайта. После настройки почти все администрирование может быть выполнено через веб-интерфейс.

В этом руководстве мы сконцентрируемся на настройке экземпляра WordPress в стеке LAMP (Linux, Apache, MySQL и PHP) на сервере Ubuntu 18.04.

Предпосылки

Для завершения этого урока вам понадобится доступ к серверу Ubuntu 18.04.

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

  • Create a sudo user on your server: мы будем выполнять шаги этого руководства, используя пользователя без полномочий root с правамиsudo. Вы можете создать пользователя с привилегиямиsudo, следуя нашемуUbuntu 18.04 initial server setup guide.

  • Install a LAMP stack: WordPress потребуется веб-сервер, база данных и PHP для правильной работы. Настройка стека LAMP (Linux, Apache, MySQL и PHP) удовлетворяет всем этим требованиям. Следуйтеthis guide, чтобы установить и настроить это программное обеспечение.

  • Secure your site with SSL: WordPress обслуживает динамический контент и обрабатывает аутентификацию и авторизацию пользователей. TLS/SSL is the technology that allows you to encrypt the traffic from your site so that your connection is secure. Способ настройки SSL будет зависеть от того, есть ли у вас доменное имя для вашего сайта.

    • If you have a domain name… самый простой способ защитить ваш сайт - это Let's Encrypt, который предоставляет бесплатные доверенные сертификаты. Следуйте нашимLet’s Encrypt guide for Apache, чтобы настроить это.

    • If you do not have a domain…, и вы используете эту конфигурацию только для тестирования или личного использования, вместо этого вы можете использовать самозаверяющий сертификат. Это обеспечивает тот же тип шифрования, но без проверки домена. Следуйте нашимself-signed SSL guide for Apache, чтобы настроить.

Когда вы закончите установку, войдите на свой сервер как пользовательsudo и продолжите ниже.

[[step-1 -–- create-a-mysql-database-and-user-for-wordpress]] == Шаг 1. Создание базы данных MySQL и пользователя для WordPress

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

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

mysql -u root -p

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

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

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

[.note] #Note: Каждый оператор MySQL должен заканчиваться точкой с запятой (;). Убедитесь, что он присутствует, если у вас возникли проблемы.
#

Далее мы собираемся создать отдельную учетную запись пользователя MySQL, которую мы будем использовать исключительно для работы с нашей новой базой данных. Создание однофункциональных баз данных и учетных записей - хорошая идея с точки зрения управления и безопасности. В этом руководстве мы будем использовать имяwordpressuser. Не стесняйтесь изменить это, если хотите.

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

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

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

FLUSH PRIVILEGES;

Выйдите из MySQL, набрав:

EXIT;

[[step-2 -–- install-additional-php-extensions]] == Шаг 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

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

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

sudo systemctl restart apache2

[[step-3 -–- adjusting-apache-39-s-configuration-to-allow-for-htaccess-overrides-and-rewrites]] == Шаг 3. Настройка конфигурации Apache для разрешения переопределений и перезаписи файлов .htaccess

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

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

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

Включение переопределений .htaccess

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

Откройте файл конфигурации Apache для вашего сайта:

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

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

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


    AllowOverride All

Когда вы закончите, сохраните и закройте файл.

Включение модуля перезаписи

Затем мы можем включитьmod_rewrite, чтобы мы могли использовать функцию постоянной ссылки WordPress:

sudo a2enmod rewrite

Включение изменений

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

sudo apache2ctl configtest

Вывод может иметь сообщение, которое выглядит так:

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/apache2.conf. ServerName может быть доменом вашего сервера или IP-адресом. Однако это всего лишь сообщение, которое не влияет на функциональность нашего сайта. Пока вывод содержитSyntax OK, вы готовы продолжить.

Перезапустите Apache, чтобы изменения вступили в силу:

sudo systemctl restart apache2

Далее мы скачаем и настроим сам WordPress.

[[step-4 -–- download-wordpress]] == Шаг 4. Скачивание WordPress

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

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

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

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

tar xzvf latest.tar.gz

Мы будем перемещать эти файлы в корень нашего документа на мгновение. Прежде чем мы это сделаем, мы можем добавить фиктивный файл.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

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

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

[[step-5 -–- configuring-the-wordpress-directory]] == Шаг 5 - Настройка каталога WordPress

Прежде чем приступить к настройке WordPress через Интернет, нам нужно настроить некоторые элементы в нашем каталоге WordPress.

Регулировка владения и разрешений

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

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

Обновите владение с помощьюchown:

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/

Вы получите уникальные значения, которые выглядят примерно так:

[.warning] #Warning! Важно каждый раз запрашивать уникальные значения. NOT скопируйте значения, показанные ниже!
#

Outputdefine('AUTH_KEY',         '1jl/vqfs

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

Теперь откройте файл конфигурации WordPress:

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

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

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

. . .

Удалите эти строки и вставьте значения, скопированные из командной строки:

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

. . .

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

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

Этот параметр можно добавить ниже параметров подключения к базе данных или в любом месте файла:

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

. . .

define('DB_NAME', 'wordpress');

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

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

. . .

define('FS_METHOD', 'direct');

Сохраните и закройте файл, когда вы закончите.

[[step-6 -–- complete-the-installation-through-the-web-interface]] == Шаг 6 - Завершение установки через веб-интерфейс

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

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

https://server_domain_or_IP

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

WordPress language selection

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

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

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

WordPress setup installation

Когда вы нажмете вперед, вы попадете на страницу, которая предложит вам войти в систему:

WordPress login prompt

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

WordPress login prompt

Заключение

WordPress должен быть установлен и готов к использованию! Некоторые общие следующие шаги - это выбрать настройку постоянных ссылок для ваших сообщений (можно найти вSettings > Permalinks) или выбрать новую тему (вAppearance > Themes). Если вы впервые используете WordPress, немного изучите интерфейс, чтобы ознакомиться с вашей новой CMS.

Related