Как установить WordPress с Nginx на сервере FreeBSD 10.1

Вступление

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

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

Предпосылки и цели

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

В этом руководстве мы будем добавлять компоненты в настроенный стек FEMP (FreeBSD, Nginx, MySQL и PHP). Вы можете узнать, как настроить Nginx, MySQL и PHP на вашем сервере FreeBSD 10.1 с нашим руководством https://www.digitalocean.com/community/tutorials/how-to-install-an-nginx-mysql-and-php -femp-stack-on-freebsd-10-1 [здесь] здесь.

После установки и настройки Nginx, MySQL и PHP на вашем сервере вы можете продолжить работу с этим руководством. Наша цель в этом руководстве - установить последнюю версию WordPress на наш сервер FreeBSD.

Существует существующий пакет WordPress, который можно установить с помощью команды FreeBSD + pkg +, но в настоящее время он опирается на PHP версии 5.4, которая теперь будет получать только обновления безопасности. Его окончание жизни будет в сентябре 2015 года.

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

Установите дополнительные расширения PHP, которые требуются WordPress

Когда мы настраивали PHP на нашем сервере FreeBSD в руководстве FEMP, мы установили пакет + php56 + и пакет + + php56-mysql + `, чтобы наш экземпляр PHP мог запрашивать данные из базы данных MySQL, если это необходимо.

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

К счастью, их можно легко установить с помощью команды + pkg +. Загрузите и установите необходимые расширения, набрав:

sudo pkg install php56-xml php56-hash php56-gd php56-curl php56-tokenizer php56-zlib php56-zip

После завершения установки, если вы используете оболочку + tcsh + по умолчанию, запустите перефразировку, чтобы оболочка могла найти ваши новые файлы:

rehash

Все пакеты, которые мы установили, являются расширениями PHP. Чтобы наш экземпляр PHP-FPM использовал эти новые расширения, нам нужно перезапустить процесс:

sudo service php-fpm restart

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

Создание и настройка базы данных MySQL

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

Для начала вам нужно будет использовать команду + mysql для аутентификации в вашей системе баз данных от имени администратора:

mysql -u root -p

Вам будет предложено ввести пароль пользователя root MySQL, который вы настроили в предыдущем руководстве (при запуске сценария + mysql_secure_installation +). Как только вы введете правильный пароль, вы попадете в приглашение MySQL.

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

CREATE DATABASE wordpress;

Если у вас возникли проблемы с приведенной выше командой, убедитесь, что в конце вашего оператора стоит точка с запятой (;). Язык запросов SQL требует, чтобы все операторы заканчивались точкой с запятой.

После того, как мы создадим нашу базу данных, наш следующий шаг - создать выделенного пользователя, которого мы будем использовать для доступа к базе данных. Рекомендуется создавать и использовать отдельного пользователя MySQL для каждого приложения, которое хранит данные в MySQL. Это помогает минимизировать объем проблем безопасности.

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

CREATE USER wordpressuser@localhost IDENTIFIED BY '';

Не забудьте изменить компонент ++ в приведенной выше команде на безопасный пароль. Вам нужно будет запомнить это значение позже.

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

GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost;

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

FLUSH PRIVILEGES;

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

exit

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

Скачать и настроить WordPress

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

Команда WordPress делает это легко, всегда упаковывая последнюю версию в архив по адресу «+ / latest.tar.gz » на своем сайте. Мы можем загрузить это в наш домашний каталог, используя утилиту FreeBSD ` fetch +`:

cd ~
fetch http://wordpress.org/latest.tar.gz

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

tar xzvf latest.tar.gz

Каталог, который будет создан, будет называться + wordpress. Удалите архив + .tar.gz + и перейдите в этот каталог, чтобы мы могли начать настройку:

rm latest.tar.gz
cd wordpress

Внутри есть пример файла конфигурации, который мы можем использовать в качестве шаблона для нашей установки. Скопируйте файл в файл + wp-config.php +, который будет прочитан WordPress:

cp wp-config-sample.php wp-config.php

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

vi wp-config.php

Внутри есть три значения, которые вы должны изменить, чтобы WordPress правильно подключался и использовал вашу систему MySQL. Переменная + DB_NAME + определяет имя базы данных MySQL, которую вы создали, + DB_USER + должен быть установлен на пользователя, которого вы сделали, и + DB_PASSWORD + должен быть изменен, чтобы содержать пароль, выбранный для этого пользователя:

. . .

/** The name of the database for WordPress */
define('DB_NAME', '');

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

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

. . .

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

Затем мы можем скопировать установку WordPress в каталог + / usr / local / www +, где мы храним файлы нашего сайта. Мы будем использовать утилиту + rsync +, поскольку она позволяет нам поддерживать определенные атрибуты файла во время перемещения:

sudo rsync -avP ~/wordpress /usr/local/www

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

sudo chown -R www:www /usr/local/www/wordpress

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

Настроить Nginx

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

Откройте файл конфигурации Nginx с привилегиями + sudo, чтобы внести изменения:

sudo vi /usr/local/etc/nginx/nginx.conf

Если вы следовали инструкциям из последнего руководства, ваш файл должен выглядеть примерно так (мы удалили комментарии ниже для ясности):

user  www;
worker_processes  2;
error_log /var/log/nginx/error.log info;

events {
   worker_connections  1024;
}

http {
   include       mime.types;
   default_type  application/octet-stream;

   access_log /var/log/nginx/access.log;

   sendfile        on;
   keepalive_timeout  65;

   server {
       listen       80;
       server_name   www.;
       root /usr/local/www/nginx;
       index index.php index.html index.htm;

       location / {
           try_files $uri/ $uri/ =404;
       }

       error_page      500 502 503 504  /50x.html;
       location = /50x.html {
           root /usr/local/www/nginx-dist;
       }

       location ~ \.php$ {
               try_files $uri =404;
               fastcgi_split_path_info ^(.+\.php)(/.+)$;
               fastcgi_pass unix:/var/run/php-fpm.sock;
               fastcgi_index index.php;
               fastcgi_param SCRIPT_FILENAME $request_filename;
               include fastcgi_params;
       }
   }
}

Нам нужно будет сделать две корректировки, чтобы обеспечить правильную работу вашего WordPress.

Во-первых, нам нужно настроить корень документа, поскольку наши файлы WordPress находятся в каталоге + / usr / local / www / wordpress +:

server {

   . . .

   root ;

   . . .

}

Другое изменение, которое нам нужно сделать, - это директива + try_files + внутри блока + location / +. В настоящее время конфигурация сообщает Nginx, что сначала нужно найти запрос в виде файла. Если он не может найти файл, который соответствует, он пытается найти каталог, который соответствует запросу. Если это не дает никаких результатов, Nginx выдает ошибку 404, указывающую, что ресурс не может быть найден.

Нам нужно изменить это так, чтобы вместо окончания ошибки 404 запрос переписывался в файл + index.php +. Исходный запрос и аргументы будут переданы как параметры запроса. Мы можем настроить это, изменив директиву + try_files + так:

server {

   . . .

   location / {
       try_files $uri $uri/ ;
   }

   . . .

}

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

user  www;
worker_processes  2;
error_log /var/log/nginx/error.log info;

events {
   worker_connections  1024;
}

http {
   include       mime.types;
   default_type  application/octet-stream;

   access_log /var/log/nginx/access.log;

   sendfile        on;
   keepalive_timeout  65;

   server {
       listen       80;
       server_name   www.;
       root ;
       index index.php index.html index.htm;

       location / {
           try_files $uri $uri/ ;
       }

       error_page      500 502 503 504  /50x.html;
       location = /50x.html {
           root /usr/local/www/nginx-dist;
       }

       location ~ \.php$ {
               try_files $uri =404;
               fastcgi_split_path_info ^(.+\.php)(/.+)$;
               fastcgi_pass unix:/var/run/php-fpm.sock;
               fastcgi_index index.php;
               fastcgi_param SCRIPT_FILENAME $request_filename;
               include fastcgi_params;
       }
   }
}

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

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

sudo nginx -t

Если ошибок не найдено, перезапустите службу:

sudo service nginx restart

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

Наша установка WordPress теперь полностью настроена на стороне сервера. Мы можем завершить оставшуюся часть процесса с помощью веб-браузера.

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

http://

Сначала WordPress спросит, какой язык вы хотите использовать:

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

После того, как вы сделаете свой выбор, вы попадете на начальную страницу конфигурации, чтобы настроить установку WordPress:

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

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

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

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

изображение: https: //assets.digitalocean.com/articles/freebsd_lemp_wp/admin_interface.png [интерфейс администратора WordPress]

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

Заключение

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

Related