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

Установите WordPress с Nginx на Ubuntu 18.04


WordPress — одна из самых популярных систем управления контентом (CMS) с открытым исходным кодом, занимающая колоссальные 60% рынка по сравнению с другими CMS, такими как Drupal или Joomla. WordPress можно использовать для разработки любого веб-сайта, будь то блог, малый бизнес или крупное предприятие. Благодаря бесплатным и премиальным плагинам и темам сайт WordPress можно быстро расширить, чтобы предложить расширенные функции. Также можно разработать собственную тему и плагины с нуля, которые будут встраивать уникальные функции в любой сайт WordPress. В этом руководстве мы рассмотрим установку WordPress CMS с использованием стека LEMP, то есть с NGINX в качестве веб-сервера в Ubuntu 18.04.

Предпосылки

  • Вы можете открыть сеанс SSH на сервере Ubuntu 18.04, используя root или пользователя с включенной поддержкой sudo.
  • Зарегистрированное доменное имя или субдомен, указывающий на установку WordPress.
  • A-запись DNS домена, указывающая на IP-адрес вашего сервера.

Это руководство требует использования доменных имен. Всякий раз, когда вы видите переменные SUBDOMAIN, DOMAIN или TLD, замените их значениями собственного доменного имени.

Обновите свою Ubuntu 18.04

Прежде чем приступить к установке NGINX, всегда рекомендуется обновить Ubuntu 18.04 до последней версии. Следующие команды apt-get сделают это за вас.

# apt-get update 
# apt-get upgrade

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

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:        18.04
Codename:       bionic

Установите WordPress с NGINX на Ubuntu

Выполните следующие действия, чтобы установить WordPress с NGINX на сервер Ubuntu.

Шаг 1: Установите NGINX

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

# apt-get install nginx

После установки NGINX запустится автоматически. Вы можете убедиться в этом с помощью следующей команды systemctl.

 # systemctl status nginx
 ● nginx.service - A high-performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-02-12 09:12:08 UTC; 11s ago
     Docs: man:nginx(8)
  Process: 17726 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 17714 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 17729 (nginx)
    Tasks: 2 (limit: 1152)
   CGroup: /system.slice/nginx.service
           ├─17729 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           └─17732 nginx: worker process

Вывод приведенной выше команды подтверждает, что NGINX загружен и активен с PID 17729.

Шаг 2: Установите MariaDB

MariaDB доступна в стандартном репозитории Ubuntu. Его также можно установить из отдельного репозитория MariaDB. Но мы будем придерживаться установки из репозитория Ubuntu по умолчанию. Выполните следующие команды из терминала, чтобы установить его, и при желании вы можете запустить mysql_secure_installation, чтобы сделать его безопасным.

# apt-get install mariadb-server 
# systemctl enable mariadb.service
# mysql_secure_installation

Пароль по умолчанию для root-пользователя MariaDB пуст. Чтобы обновить пароль пользователя root, получите приглашение MySQL и обновите пароль, выполнив следующую команду из оболочки MySQL.

$ mysql -u root -p
MariaDB [(none)]> use mysql;
MariaDB [mysql]> update user SET PASSWORD=PASSWORD("Passw0rd!") WHERE USER='root';

Установка MariaDB в вашей системе Ubuntu 18.04 завершена. Теперь приступайте к установке PHP на следующем шаге.

Шаг 3: Установите PHP

Последняя версия PHP (7.2) доступна в репозиториях Ubuntu 18.04 и является кандидатом на установку по умолчанию, поэтому просто выполните следующую команду в терминале, чтобы установить ее.

# apt-get install php7.2 php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

Помимо установки php7.2, приведенная выше команда apt-get также устанавливает несколько других пакетов, таких как пакеты MySQL, XML, Curl и GD, и гарантирует, что ваш сайт WordPress может взаимодействовать с базой данных, поддерживать XMLRPC, а также обрезать и изменять размер изображений автоматически. Кроме того, пакет php-fpm (Fast Process Manager) необходим NGINX для обработки PHP-страниц вашей установки WordPress. Помните, что служба FPM запустится автоматически после завершения установки PHP.

Шаг 4: Создайте базу данных WordPress

После установки и настройки MariaDB на вашем сервере создайте пользователя и базу данных специально для установки WordPress. Для этого войдите на сервер MariaDB с помощью команды mysql -u root -p и выполните шаги, описанные ниже.

$ mysql -u root -p
Enter password:

MariaDB [mysql]> CREATE DATABASE wordpress_db;
Query OK, 1 row affected (0.00 sec)

MariaDB [mysql]> GRANT ALL ON wordpress_db.* TO 'wpuser'@'localhost' IDENTIFIED BY 'Passw0rd!' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

MariaDB [mysql]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

MariaDB [mysql]> exit

Не пугайтесь, что нет команды для создания пользователя базы данных «wpuser». Он будет автоматически создан с помощью команды GRANT выше. Я узнал об этом недавно и решил удивить любого, кто читает этот урок. :)

Шаг 5. Настройте NGINX для WordPress

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

# mkdir -p /var/www/html/wordpress/public_html

Чтобы создать блок сервера NGINX для вашего домена WordPress, перейдите в папку /etc/nginx/sites-available. Это расположение по умолчанию для серверных блоков NGINX. Используйте свой любимый редактор, чтобы создать файл конфигурации для блока сервера NGINX, и отредактируйте его, как показано ниже.

# cd /etc/nginx/sites-available
# cat wordpress.conf
server {
            listen 80;
            root /var/www/html/wordpress/public_html;
            index index.php index.html;
            server_name SUBDOMAIN.DOMAIN.TLD;

	    access_log /var/log/nginx/SUBDOMAIN.access.log;
    	    error_log /var/log/nginx/SUBDOMAIN.error.log;

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

            location ~ \.php$ {
                         include snippets/fastcgi-php.conf;
                         fastcgi_pass unix:/run/php/php7.2-fpm.sock;
            }
            
            location ~ /\.ht {
                         deny all;
            }

            location = /favicon.ico {
                         log_not_found off;
                         access_log off;
            }

            location = /robots.txt {
                         allow all;
                         log_not_found off;
                         access_log off;
           }
       
            location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                         expires max;
                         log_not_found off;
           }
}

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

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Чтобы активировать блок сервера, создайте символическую ссылку на указанный выше файл конфигурации в папке /etc/nginx/sites-enabled.

# cd /etc/nginx/sites-enabled
# ln -s ../sites-available/wordpress.conf .

Перезагрузите NGINX, чтобы применить новые настройки домена WordPress.

# systemctl reload nginx

Шаг 6: Загрузите и настройте WordPress

На этом шаге загрузите заархивированный файл WordPress с помощью wget и разархивируйте его в корень установки WordPress, которую мы создали на предыдущем шаге. Для этого выполните следующие команды из терминала.

# cd /var/www/html/wordpress/public_html
# wget https://wordpress.org/latest.tar.gz
# tar -zxvf latest.tar.gz
# mv wordpress/* .
# rm -rf wordpress

Измените владельца и примените правильные разрешения к извлеченным файлам и папкам WordPress. Для этого используйте следующую команду из терминала.

# cd /var/www/html/wordpress/public_html
# chown -R www-data:www-data *
# chmod -R 755 *

Теперь укажите имя базы данных, пользователя базы данных и пароль в файле конфигурации WordPress, чтобы он мог подключиться к базе данных MariaDB, которую мы создали ранее. По умолчанию WordPress предоставляет образец файла конфигурации, и мы будем использовать его для создания собственного файла конфигурации. Для этого сначала переименуйте пример файла конфигурации WordPress в wp-config.php и отредактируйте его в своем любимом редакторе.

# cd /var/www/html/wordpress/public_html
# mv wp-config-sample.php wp-config.php
# vi wp-config.php
 ...
 ...
 define('DB_NAME', 'wordpress_db');
 define('DB_USER', 'wpuser');
 define('DB_PASSWORD', 'Passw0rd!');
 ...
 ...

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

Теперь вы готовы установить свой сайт WordPress с помощью вашего любимого браузера.

Шаг 7: Установите WordPress

Чтобы завершить установку WordPress, укажите в своем любимом веб-браузере SUBDOMAIN.DOMAIN.TLD и выполните шаги, описанные ниже.

Программа установки предложит вам выбрать язык. Выберите язык и нажмите «Продолжить».

Теперь укажите информацию о сайте, такую как название сайта, имя пользователя, пароль, адрес электронной почты и нажмите кнопку «Установить WordPress».

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

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

Поздравляем! Ваш веб-сайт WordPress установлен и готов к настройке в соответствии с вашими требованиями.

Заключение

WordPress — самая популярная CMS, и мы узнали, как установить ее с помощью NGINX на сервер Ubuntu. Теперь вы можете приступить к созданию своего веб-сайта с его помощью.