WordPress является популярной системой управления контентом (CMS). Она может быть использована для создания блогов и сайтов, быстро и легко, и почти все это можно поделать через веб – интерфейс.
В большинстве случаев, WordPress устанавливается с помощью LAMP или стек LEMP (т.е. с использованием либо Apache или Nginx в качестве веб – сервера). В этом руководстве мы создадим WordPress с Caddy вместо этого. Caddy представляет собой новый веб – сервер, который быстро набирает популярность благодаря широкому спектру уникальных функций, таких как поддержка HTTP/2 и автоматического шифрования TLS с Let’s Encrypt, популярного бесплатного поставщика сертификатов.
В этой статье, вы будете устанавливать и настраивать WordPress при поддержке Caddy.
Для выполнения этого урока вам потребуется:
Для того, чтобы запустить WordPress, вам нужен веб-сервер, база данных MySQL и язык PHP скриптов. У вас уже есть веб-сервер Caddy и база данных MySQL, установленные из предпосылок, поэтому последнее требование. это установить PHP.
Во-первых, убедитесь, что ваши пакеты находятся в актуальном состоянии.
sudo yum update
Установка PHP и PHP расширений для WordPress зависит от, как поддержка в MySQL, curl, XML, и многобайтные строки.
sudo yum install php php-fpm php-mysql php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc
После завершения установки, вы можете убедиться в том, что PHP был установлен правильно, проверив версию РНР.
php -v
Вы увидите вывод, подобный этому, в котором отображается номер версии РНР.
Вывод PHP version
PHP 5.4.16 (cli) (built: Nov 6 2016 00:29:02) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
Прежде чем мы сможем двигаться дальше, мы должны немного изменить файл конфигурации для службы PHP, чтобы мог его использовать наш непривилегированный caddy пользователь для запуска сервера. Конфигурация по умолчанию на CentOS предполагает, что Apache является сервером выбора.
Откройте файл конфигурации PHP-FPM с помощью vi или вашим любимым текстовым редактором.
sudo vi /etc/php-fpm.d/www.conf
Найдите фрагмент, который определяет учетную запись пользователя и группу.
/etc/php-fpm.d/www.conf
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache Choosed to be able to access some dir as httpd user = apache ; RPM: Keep a group allowed to write in log dir. group = apache
Изменение обоих значений Caddy следующим образом :
/etc/php-fpm.d/www.conf
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache Choosed to be able to access some dir as httpd user = caddy ; RPM: Keep a group allowed to write in log dir. group = caddy
Сохраните и закройте файл, чтобы выйти. Для Caddy, чтобы иметь возможность общаться с PHP, запустите службу PHP.
sudo systemctl start php-fpm
Все зависимости WordPress установлены, так что в следующем шаге мы настроим базу данных MySQL для использования в WordPress.
WordPress использует базу данных MySQL для хранения всей своей информации. В установке MySQL по умолчанию, создаются только корневая учетная запись администратора. Эта учетная запись не должна использоваться, потому что ее неограниченные привилегии на сервер базы данных представляют собой угрозу безопасности. Здесь мы создадим специального пользователя MySQL для WordPress и для базы данных, для которых новому пользователю будет разрешен доступ.
Во- первых, войдите в MySQL в качестве корневой учетной записи администратора.
mysql -u root -p
Вам будет предложено ввести пароль, установленный в MySQL для корневой учетной записи во время установки.
Создание новой базы данных для WordPress, которая будет использоваться для веб – сайта WordPress. Вы можете использовать другое имя, но убедитесь, что вы помните его для последующего использования дополнительных настроек.
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Затем создайте нового пользователя, которому будет разрешен доступ к этой базе данных. Здесь мы используем имя пользователя andreyex для простоты, но вы можете выбрать свое собственное имя. Не забудьте заменить password на сильный и надежный пароль.
GRANT ALL ON wordpress.* TO 'andreyex'@'localhost' IDENTIFIED BY 'password';
Очистка привилегии уведомления сервера MySQL об изменений.
FLUSH PRIVILEGES;
Теперь вы можете спокойно выйти из MySQL.
EXIT;
WordPress имеет специальную учетную запись базы данных и пользователя, поэтому все компоненты системы настроены. Следующим шагом является установка самого WordPress.
Установка WordPress включает в себя загрузку последней версии в корневой веб-каталог и убедившись, что он доступен на веб-сервере, закончить установку с помощью графического интерфейса WordPress. На этом этапе мы просто загрузим версию, потому что нам нужно настроить веб-сервер, прежде чем мы сможем получить доступ к GUI.
Во- первых, измените текущий каталог /var/www, веб-корень, который хранит ваши файлы сайта.
cd /var/www
Загрузите последний сжатый релиз WordPress. Это важно использовать последнюю версию, поскольку программное обеспечение часто обновляется с обновлениями безопасности.
sudo curl -O https://wordpress.org/latest.tar.gz
Распакуйте архив, который вы скачали.
sudo tar zxf latest.tar.gz
Это автоматически создаст новую папку с именем wordpress. Теперь вы можете безопасно удалить скачанный архив, так как он возможно никогда больше не пригодиться.
sudo rm latest.tar.gz
Последний шаг, чтобы изменить права доступа к файлам и каталогам в WordPress, так чтобы все файлы были доступны для записи Caddy. Это позволит WordPress автоматически обновляться до новых версий.
sudo chown -R caddy:caddy wordpress
Далее, вам необходимо изменить конфигурацию веб-сервера для обслуживания вашего сайта.
Здесь мы изменим файл конфигурации Caddyfile, чтобы сообщить Caddy, где находится наша установка WordPress и в соответствии с именем домена, если она будет опубликована для посетителей.
Откройте файл конфигурации с помощью vi или вашим любимым текстовым редактором
sudo vi /etc/caddy/Caddyfile
Скопируйте и вставьте следующую конфигурацию в файл. Вы можете удалить любой пример конфигурации из предыдущих руководств.
/etc/caddy/ Caddyfile
example.ru { tls admin@example.ru root /var/www/wordpress gzip fastcgi / 127.0.0.1:9000 php rewrite { if {path} not_match ^\/wp-admin to {path} {path}/ /index.php?_url={uri} } }
Caddyfile структурирован следующим образом :
Использование директивы rewrite позволяет URL – адресам так называемые короткие ссылки в WordPress. Эта конфигурация автоматически обеспечивается WordPress в файле .htaccess, если вы используете Apache, то она должна быть настроена для Caddy отдельно.
После изменения файла конфигурации, сохраните файл и выйдите.
Перезапустите Caddy, чтобы применить новые настройки файла конфигурации.
sudo systemctl restart caddy
Когда запуститься Caddy, он автоматически получит сертификат SSL от Let’s Encrypt для вашего сайта с помощью надежного шифрования TLS. Теперь вы можете получить доступ к на сайт WordPress, перейдя на домен с помощью веб-браузера. Когда вы сделаете это, вы заметите знак зеленого замка в адресной строке, это означает, что сайт отображается через защищенное соединение.
Теперь вы установили и настроили Caddy и все необходимое программное обеспечение для размещения WordPress сайта. Последний шаг, чтобы закончить настройку WordPress, используя свой графический интерфейс.
WordPress имеет мастер установки GUI для завершения его установки, в том числе подключения к базе данных и настройки своего первого сайта.
Когда вы посещаете новый WordPress экземпляр в вашем браузере в первый раз, вы увидите список языков. Выберите язык, который вы хотели бы использовать. На следующем экране, он описывает информацию, необходимую о вашей базе данных. Нажмите Далее, следующая страница будет запрашивать подробную информацию о подключении к базе данных. Заполните эту форму следующим образом :
При нажатии кнопки Submit, WordPress проверит, насколько предоставленные данные верны. Если появляется сообщение об ошибке, дважды проверьте, что вы ввели свои данные базы данных правильно.
После того, как WordPress успешно подключается к базе данных, вы увидите сообщение, которое начинается с текста: All right, sparky! You’ve made it through this part of the installation. WordPress can now communicate with your database..
Теперь вы можете нажать кнопку Выполнить установку, чтобы начать установку. Через короткий промежуток времени, WordPress представит вам последний экран с запросом о деталях веб – сайта, такие как название сайта, имя пользователя учетной записи администратора, пароль и адрес электронной почты. Сильный пароль будет автоматически сгенерирован для вас, но вы можете выбрать свой собственный, если вы хотите.
После нажатия на кнопку Установить WordPress, вы будете перенаправлены на приборную панель WordPress. Вы закончили установку WordPress, и вы можете использовать WordPress, чтобы свободно настроить свой веб – сайт и писать посты и страницы.
Теперь у вас есть рабочая установка WordPress, обслуживаемая с помощью веб – сервера Caddy. Caddy будет автоматически получать SSL сертификаты Let’s Encrypt, работать ваш сайт будет через защищенное соединение, и использовать HTTP/2 и сжатия Gzip для быстрого обслуживания сайта. Вы можете прочитать больше о Caddy и уникальных особенностей и директив конфигурации для Caddyfile в официальной документации Caddy.
Если вы хотите использовать плагины с новым WordPress. Например, обратите внимание, что некоторые плагины полагаются файлы .htaccess на веб – сервер Apache. Кроме Apache Web – серверы стали обычным явлением с WordPress, поэтому не многие из этих .htaccess-зависимых плагинов существует. Тем не менее, немногие, которые существуют не будут работать из коробки с Caddy, потому что он не использует .htaccess. Это хорошая вещь, чтобы иметь в виду, если у вас возникли проблемы с плагинами WordPress при использовании Caddy.
Большинство плагинов, которые полагаются на .htaccess кэшируются плагинами (например, W3 Total Cache), которые используют .htaccess для обхода PHP исключительно для обработки. Другим примером является Wordfence, который представляет собой модуль межсетевого экрана веб – приложения, которое использует .htaccess по умолчанию, но он правильно поддерживает различные модели конфигурации.