Установка Wordpress (NGINX + PHP + MariaDB) в Ubuntu 18.04


0. Предварительные настройки системы

Переключитесь на root пользователя (все нижеследующие команды выполнять под root):
sudo -i
(Дополнительно) Настройте часовой пояс:
timedatectl set-timezone Europe/Moscow
Обновите систему:
apt update && apt dist-upgrade -y
Перезагрузите сервер:
reboot

1. Установка и настройка MariaDB

(Дополнительно) Добавьте официальный репозиторий для MariaDB (в данной статье 10.3) https://downloads.mariadb.org/mariadb/repositories:
apt install software-properties-common dirmngr gpg-agent
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.timeweb.ru/mariadb/repo/10.3/ubuntu bionic main'
Установите сервер MariaDB:
apt update
apt install mariadb-server
Настройте MariaDB (необходимо изменить пароль для root пользователя, остальное можно оставить по умолчанию):
mysql_secure_installation
 Создайте базу данных для Wordpress:
mysql -u root -p
mysql> CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'wppswd';
mysql> FLUSH PRIVILEGES;
mysql> QUIT;

2. Установка и настройка PHP

(Дополнительно) Добавьте репозиторий для новых версий PHP:
add-apt-repository ppa:ondrej/php
apt update
Установите PHP-FPM:
apt install php7.2 php7.2-common php7.2-cli php7.2-fpm php7.2-gd php7.2-mysql php7.2-mbstring php7.2-curl php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-json php7.2-opcache php7.2-readline php7.2-imap php7.2-intl php7.2-ldap php-apcu
Отредактируйте php.ini:
nano /etc/php/7.2/fpm/php.ini
Измените нижеследующие параметры (не забудьте убрать ; спереди изменяемого параметра):
cgi.fix_pathinfo = 0
date.timezone = Europe/Moscow
Перезапустите php-fpm:
systemctl restart php7.2-fpm.service

3. Установка и настройка NGINX

(Дополнительно) Добавьте репозиторий для новых Stable версий NGINX:
add-apt-repository ppa:ondrej/nginx
apt update
Или для новых Mainline версий NGINX (т.к. это самый свежий релиз могут возникнуть разного рода проблемы, для надёжности рекомендую использовать Stable версию):
add-apt-repository ppa:ondrej/nginx-mainline
apt update
Установите NGINX:
apt install nginx
Запуск и автозагрузка NGINX:
systemctl start nginx
systemctl enable nginx
Удалите ссылку на конфигурационный файл по умолчанию:
rm /etc/nginx/sites-enabled/default
Создайте конфигурационного файла для Wordpress:
nano /etc/nginx/sites-available/wordpress.conf
Необходимо заполнить нижеследующее:
server {
    listen 80;

    server_name localhost; # Доменное имя

    root /var/www/html/wordpress;

    index index.php;

    charset utf-8;

    access_log  /var/log/nginx/access_wordpress.log;
    error_log  /var/log/nginx/error_wordpress.log;

    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)$ {
       log_not_found off;
       access_log off;
       expires max;
    }

    location / {
       try_files $uri $uri/ /index.php?$args;   
    }

     location ~* /(?:uploads|files)/.*\.(php|php3|php4|php5|php6|phps|phtml)$ {
       deny all;
    }

    location ~ \.php$ {     
       fastcgi_pass unix:/run/php/php7.2-fpm.sock;
       fastcgi_index index.php;
       fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       include fastcgi_params; 
    } 
Активируйте конфигурацию:
ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled/
Проверьте конфигурационный файл:
nginx -t
Результат должен быть такой:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Перезапустите NGINX:
nginx -s reload

4. Установка и настройка Wordpress

Загрузите последнюю версии Wordpress (в данной статье RU):
cd /tmp && wget https://ru.wordpress.org/latest-ru_RU.tar.gz
Разархивируйте в директорию веб-сервера:
tar -xvzf latest-ru_RU.tar.gz -C /var/www/html
Измените владельца файлов и директорий для Wordpress:
chown -R www-data:www-data /var/www/html/wordpress/
Далее перейдите на http://IP_адрес_сервера:80 и внесите данные для подключения к базе данных:
Имя базы данных: wordpress
Имя пользователя: wordpress
Пароль: wppswd
Сервер базы данных: localhost
Префикс: wp_
После этого задайте название блога, пользователя и пароль с почтой.

Поздравляю, Wordpress установлен успешно.

Комментариев нет

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