Как установить WordPress с Nginx в Ubuntu 18.04

WordPress на сегодняшний день является самой популярной платформой для ведения блогов и CMS с открытым исходным кодом, на которой работает более четверти веб-сайтов в мире. Он основан на PHP и MySQL и содержит массу функций, которые можно расширить с помощью бесплатных и платных плагинов и тем. WordPress — это самый простой способ создать свой интернет-магазин, сайт или блог.

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

Мы будем использовать стек LEMP с Nginx в качестве веб-сервера, сертификатом SSL, последней версией PHP 7.2 и MySQL / MariaDB в качестве сервера базы данных.

Подготовка

Прежде чем продолжить работу с этим руководством, убедитесь, что вы выполнили следующие предварительные требования:

  • У вас есть доменное имя, указывающее на общедоступный IP-адрес вашего сервера. Мы будем использовать example.com .
  • Вы вошли в систему как пользователь с привилегиями sudo .
  • У вас установлен Nginx, следуя этим инструкциям .
  • SSL-сертификат установлен для вашего домена. Вы можете установить бесплатный SSL-сертификат Let's Encrypt, следуя этим инструкциям .

Обновите индекс пакетов и системные пакеты до последних версий:

sudo apt updatesudo apt upgrade

Создание базы данных MySQL

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

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

Войдите в оболочку MySQL, набрав следующую команду и введите пароль при появлении запроса:

mysql -u root -p

Из оболочки MySQL выполните следующие операторы SQL, чтобы создать базу данных с именем wordpress , пользователем с именем 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;

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

Установка PHP

PHP 7.2, который является версией PHP по умолчанию в Ubuntu 18.04, полностью поддерживается и рекомендуется для WordPress.

Чтобы установить PHP и все необходимые расширения PHP, выполните следующую команду:

sudo apt install 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

Мы установили PHP-FPM, потому что мы будем использовать Nginx в качестве веб-сервера.

Служба PHP-FPM автоматически запустится после завершения процесса установки.

Скачивание WordPress

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

sudo mkdir -p /var/www/html/example.com

Наш следующий шаг — загрузить последнюю версию WordPress со страницы загрузки WordPress с помощью следующей команды wget :

cd /tmpwget https://wordpress.org/latest.tar.gz

После завершения загрузки распакуйте архив WordPress и переместите извлеченные файлы в корневой каталог документов домена:

tar xf latest.tar.gzsudo mv /tmp/wordpress/* /var/www/html/example.com/

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

Поскольку и Nginx, и PHP работают как пользователь и группа www-data , для установки правильного владения выполните следующую команду chown :

sudo chown -R www-data: /var/www/html/example.com

Настройка Nginx

К настоящему времени у вас уже должен быть установлен Nginx с сертификатом SSL в вашей системе, если нет, проверьте предварительные требования для этого руководства.

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

Откройте текстовый редактор и создайте следующий файл:

/etc/nginx/sites-available/example.com
# 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$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }

    location ~* .(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }

}
Не забудьте заменить example.com на свой домен WordPress и указать правильный путь к файлам сертификатов SSL. Фрагменты, используемые в этой конфигурации, созданы в этом руководстве .

Включите блокировку сервера, создав символическую ссылку на каталог sites-enabled :

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Перед перезапуском сервиса 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 и базы данных, которые вы создали ранее.

Начните установку, нажав кнопку « Run the Installation .

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

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

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

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

Введите свое имя пользователя и пароль и нажмите кнопку « Log in .

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

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

Выводы

Поздравляем, вы успешно установили WordPress с Nginx на свой сервер Ubuntu 18.04.Первые шаги с WordPress — хорошая отправная точка, чтобы узнать больше о том, как начать работу с WordPress.

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

Оставьте комментарий

Ваш адрес email не будет опубликован.