Поиск по сайту:

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


Введение

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

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

Предпосылки

Для выполнения этого урока вам понадобятся:

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

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

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

    Первый шаг, который вы сделаете, — подготовительный. Несмотря на то, что MySQL уже установлен, вам все равно нужно создать базу данных для управления и хранения информации о пользователях, которую WordPress будет использовать. Чтобы начать работу, войдите в корневую (административную) учетную запись MySQL, выполнив следующую команду:

    1. sudo mysql

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

    Однако, если для вашего пользователя root включена аутентификация по паролю, вы можете запустить следующую команду и ввести информацию о пароле при появлении запроса:

    1. mysql -u root -p

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

    1. CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

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

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

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

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

    1. FLUSH PRIVILEGES;

    Выход из MySQL:

    1. EXIT;

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

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

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

    Сначала обновите список пакетов:

    1. sudo apt update

    Затем загрузите и установите некоторые из самых популярных расширений PHP для использования с WordPress:

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

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

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

    1. sudo systemctl restart apache2

    На следующем шаге вы внесете некоторые изменения в конфигурацию Apache.

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

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

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

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

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

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

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

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

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

    Когда вы закончите, сохраните и закройте файл. Если вы используете nano, вы можете выйти, нажав CTRL + X, затем Y и ENTER.

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

    1. sudo a2enmod rewrite

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

    1. sudo apache2ctl configtest

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

    Output
    AH00558: 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, чтобы изменения вступили в силу:

    1. sudo systemctl restart apache2

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

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

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

    Сначала перейдите в доступный для записи каталог:

    1. cd /tmp

    Затем загрузите сжатый выпуск, выполнив следующее:

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

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

    1. tar xzvf latest.tar.gz

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

    Создайте файл, выполнив следующее:

    1. touch /tmp/wordpress/.htaccess

    Затем сделайте копию примера файла конфигурации и назовите его wp-config.php, имя файла, которое WordPress фактически читает:

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

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

    1. mkdir /tmp/wordpress/wp-content/upgrade

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

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

    Далее вам нужно настроить и настроить элементы в вашем каталоге WordPress.

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

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

    Настройка прав собственности и разрешений

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Output
    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. Убедитесь, что путь к файлу совпадает с корневой информацией вашего собственного документа, как показано ниже:

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

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

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

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

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

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

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

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

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

    https://server_domain_or_IP
    

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

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

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

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

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

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

    Оттуда вы можете начать использовать и настраивать свой сайт WordPress.

    Заключение

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