Как установить WordPress с LAMP на Debian 9

Вступление

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

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

Предпосылки

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

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

  • * Создайте пользователя + sudo + на вашем сервере *: Мы выполним шаги, описанные в этом руководстве, используя пользователя без * root * с привилегиями + sudo +. Вы можете создать пользователя с привилегиями + sudo +, следуя нашему Debian 9 первоначальному руководству по установке сервера.

  • * Установите стек LAMP *: для корректной работы WordPress потребуется веб-сервер, база данных и PHP. Настройка стека LAMP (Linux, Apache, MariaDB и PHP) удовлетворяет всем этим требованиям. Чтобы установить и настроить это программное обеспечение, следуйте th guide.

  • * Защитите свой сайт с помощью SSL *: WordPress обслуживает динамический контент и обрабатывает аутентификацию и авторизацию пользователей. TLS / SSL - это технология, которая позволяет вам шифровать трафик с вашего сайта для обеспечения безопасности вашего соединения. Способ настройки SSL будет зависеть от того, есть ли у вас доменное имя для вашего сайта.

  • * Если у вас есть доменное имя …​ * Самый простой способ защитить ваш сайт - это Let Let Encrypt, который предоставляет бесплатные доверенные сертификаты. Чтобы это настроить, следуйте нашему https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-debian-9 руководству по шифрованию[Let для Apache].

  • * Если у вас нет домена …​ * и вы просто используете эту конфигурацию для тестирования или личного использования, вы можете использовать вместо этого самозаверяющий сертификат. Это обеспечивает тот же тип шифрования, но без проверки домена. Следуйте нашему self-подписанному руководству по SSL для Apache чтобы настроить.

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

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

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

Чтобы начать, откройте приглашение MariaDB в качестве учетной записи * root *:

sudo mariadb

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

Создайте базу данных для WordPress, набрав:

CREATE DATABASE  DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

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

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

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

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

FLUSH PRIVILEGES;

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

EXIT;

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

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

При настройке нашего стека LAMP нам требовался только минимальный набор расширений, чтобы PHP мог взаимодействовать с MariaDB. 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

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

sudo systemctl restart apache2

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

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

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

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

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

Откройте файл конфигурации Apache для своего сайта. Обратите внимание, что если у вас есть файл конфигурации Apache для вашего веб-сайта, имя этого файла будет другим:

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

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

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

<Directory >
   AllowOverride All
</Directory>

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

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

sudo a2enmod rewrite

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

sudo apache2ctl configtest

Если синтаксис вашего файла конфигурации правильный, вы увидите следующее в выходных данных:

OutputSyntax OK

Если эта команда сообщает о каких-либо ошибках, вернитесь и убедитесь, что в файле конфигурации не было ошибок синтаксиса. В противном случае перезапустите Apache, чтобы изменения вступили в силу:

sudo systemctl restart apache2

Далее мы скачаем и настроим сам 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 на свой веб-сервер и выполнили некоторые начальные шаги настройки. Далее мы обсудим некоторые дальнейшие изменения конфигурации, которые дадут WordPress те привилегии, которые ему необходимы для работы, а также доступ к базе данных MariaDB и учетной записи пользователя, которую вы создали ранее.

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

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

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

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

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

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

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

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

После этого вам нужно будет внести некоторые изменения в основной файл конфигурации WordPress.

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

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

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

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

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

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

sudo nano /var/www//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',         '');
define('SECURE_AUTH_KEY',  '');
define('LOGGED_IN_KEY',    '');
define('NONCE_KEY',        '');
define('AUTH_SALT',        '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT',   '');
define('NONCE_SALT',       '');

. . .

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

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

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

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

. . .

define('DB_NAME', '');

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

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

. . .

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

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

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

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

https://

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

изображение: https: //assets.digitalocean.com/articles/wordpress_lamp_1604/language_selection.png [выбор языка WordPress]

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

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

изображение: https: //assets.digitalocean.com/articles/wordpress_lamp_1604/setup_installation.png [установка установки WordPress]

Когда все будет готово, нажмите кнопку * Установить WordPress *. Вы попадете на страницу, которая предлагает вам войти в систему:

изображение: https: //assets.digitalocean.com/articles/wordpress_lamp_1604/login_prompt.png [приглашение для входа в WordPress]

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

изображение: https: //assets.digitalocean.com/articles/wordpress_lamp_1604/admin_screen.png [приглашение для входа в WordPress]

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

Заключение

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

Related