Как установить WordPress c Nginx на CentOS 7
Как установить WordPress c Nginx на CentOS 7
How to install WordPress with Nginx on CentOS 7
В этом руководстве описывается, как установить WordPress на CentOS 7. Это довольно простой процесс, который занимает менее десяти минут.

WordPress является самой популярной в мире платформой для блогов и CMS с открытым исходным кодом, которая сегодня обеспечивает четверть всех веб-сайтов в Интернете. Он основан на PHP и MySQL и содержит множество функций, которые могут быть расширены с помощью бесплатных и премиальных плагинов и тем. WordPress - это самый простой способ создать свой интернет-магазин, сайт или блог.
Мы будем использовать стек LEMP с Nginx в качестве веб-сервера, сертификат SSL, последнюю версию PHP 7.2 и MySQL / MariaDB в качестве сервера базы данных.
Убедитесь, что выполнены следующие предварительные условия, прежде чем продолжить:
- Доменное имя должно указывать на публичный IP-адрес вашего сервера. В этом уроке мы будем использовать
example.com
. - Вы вошли как пользователь с привилегиями sudo.
- установлен Nginx
- У вас установлен сертификат SSL для вашего домена. Вы можете создать бесплатный SSL-сертификат Let's Encrypt
Создание базы данных MySQL
WordPress хранит свои данные и конфигурацию в базе данных MySQL. Первым шагом является создание базы данных MySQL, учетной записи пользователя MySQL и предоставление доступа к базе данных .
Если у вас уже нет MySQL или MariaDB, установленного на вашем сервере Ubuntu, вы можете выполнить установку, следуя одной из следующих инструкций:
- Установите MySQL на CentOS 7 .
- Установите MariaDB на CentOS 7 .
Войдите в оболочку MySQL, выполнив следующую команду:
mysql -u root -p
В оболочке MySQL выполните следующие операторы SQL, чтобы создать базу данных с именем wordpress
user wordpressuser
и предоставить пользователю все необходимые разрешения:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'change-with-strong-password';
FLUSH PRIVILEGES;
EXIT;
Установка PHP 7.2
CentOS 7 поставляется с версией PHP 5.4. Рекомендуемая версия PHP для WordPress - PHP 7.2.
Чтобы установить PHP и все необходимые расширения PHP, выполните следующие команды:
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php72
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl
Мы установили PHP FPM, потому что мы будем использовать Nginx в качестве веб-сервера.
По умолчанию PHP FPM будет работать как пользователь apache
на порту 9000. Мы изменим пользователя на nginx
и переключимся с сокета TCP на сокет Unix. Для этого откройте /etc/php-fpm.d/www.conf
файл и отредактируйте строки, выделенные желтым цветом:
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
Убедитесь, что /var/lib/php
каталог имеет правильное владение, используя следующую команду chown :
sudo chown -R root:nginx /var/lib/php
После внесения изменений включите и запустите службу PHP FPM:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Загрузка Wordpress
Перед загрузкой архива Wordpress, сначала создайте каталог, в который мы поместим файлы WordPress:
sudo mkdir -p /var/www/html/example.com
Следующим шагом является загрузка последней версии WordPress со страницы загрузки WordPress с помощью следующей команды wget :
cd /tmp
wget https://wordpress.org/latest.tar.gz
По завершении загрузки извлеките архив WordPress и переместите файлы в корневой каталог документов домена:
tar xf latest.tar.gz
sudo mv /tmp/wordpress/* /var/www/html/example.com/
Установите правильные разрешения, чтобы веб-сервер мог иметь полный доступ к файлам и каталогам сайта:
sudo chown -R nginx: /var/www/html/example.com
Настройка Nginx
К настоящему времени у вас уже должен быть установлен Nginx с SSL-сертификатом в вашей системе, если не проверены предварительные условия для этого урока.
Чтобы создать новый блок сервера для нашего экземпляра WordPress, мы будем использовать настройки Nginx с официального сайта Nginx.
Откройте ваш текстовый редактор и создайте новый блок сервера nginx :
sudo nano /etc/nginx/conf.d/example.com.conf
Добавьте следующие строки:
# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.com example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
# Redirect WWW -> NON WWW
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
root /var/www/html/example.com;
index index.php;
# SSL parameters
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
Перед перезапуском службы Nginx проверьте конфигурацию, чтобы убедиться в отсутствии синтаксических ошибок:
sudo nginx -t
Если ошибок нет, результат должен выглядеть следующим образом:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
и вы можете перезапустить Nginx, набрав:
sudo systemctl restart nginx
Завершение установки WordPress
Теперь, когда Wordpress загружен и настройка сервера завершена, вы можете завершить установку через веб-интерфейс.
Откройте браузер, введите свой домен, и появится экран, подобный следующему:

Выберите язык, который вы хотите использовать, и нажмите на Continue
кнопку.
Далее вы увидите следующую информационную страницу, нажмите на Let's go!
кнопку.

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

Запустите установку WordPress, нажав на Run the Installation
кнопку.

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

Нажмите Install WordPress
и после завершения установки вы попадете на страницу, сообщающую, что WordPress установлен.
Для доступа к странице входа в WordPress нажмите Log in
кнопку.

Введите ваше имя пользователя и пароль.

Вы будете перенаправлены на панель администрирования WordPress.

Отсюда вы можете начать настройку установки WordPress, установив новые темы и плагины.
Вывод
Поздравляем, вы успешно установили WordPress с Nginx на вашем сервере CentOS 7.