Как установить WordPress c Nginx на CentOS 7

Как установить WordPress c Nginx на CentOS 7

21 Декабря 2019 | WordPress

В этом руководстве описывается, как установить WordPress на CentOS 7. Это довольно простой процесс, который занимает менее десяти минут.

Как установить WordPress c Nginx на 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

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

Если у вас уже нет MySQL или MariaDB, установленного на вашем сервере Ubuntu, вы можете выполнить установку, следуя одной из следующих инструкций:


Войдите в оболочку 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;

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 файл и отредактируйте строки, выделенные желтым цветом:

/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:


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 с SSL-сертификатом в вашей системе, если не проверены предварительные условия для этого урока.

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

Откройте ваш текстовый редактор и создайте новый блок сервера nginx :


sudo nano /etc/nginx/conf.d/example.com.conf


Добавьте следующие строки:

/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;
    }

}

Не забудьте заменить example.com доменом WordPress и указать правильный путь к файлам SSL-сертификатов. Все HTTP-запросы будут перенаправлены на HTTPS

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

Откройте браузер, введите свой домен, и появится экран, подобный следующему:




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

Далее вы увидите следующую информационную страницу, нажмите на Let's go! кнопку.



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



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



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

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

Введите свой адрес электронной почты и выберите, хотите ли вы отговорить поисковые системы от индексации сайта (не рекомендуется).



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

Для доступа к странице входа в WordPress нажмите Log in кнопку.



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



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



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

Поздравляем, вы успешно установили WordPress с Nginx на вашем сервере CentOS 7. 

    Комментарии

    Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Загрузка комментариев...