Установка nginx, php, mysql(mariadb) на Ubuntu

– Будьте любезны, в каком направлении мне идти?
– В известном тебе, – ответил Кот.
– Оно мне неизвестно.
– Значит, в неизвестном. Во всяком случае, известно, что в известное время ты окажешься та-ам или ту-ут, – мурлыкнул Кот.

Установка nginx:

apt update
apt install nginx

Установка PHP и драйвера MariaDB

apt install php-fpm php-mysqlnd php-xml

Создание виртуальных доменов

mkdir /var/www/domain.com
chmod -R 755 /var/www/domain.com

В директории /etc/nginx/sites-available создаем файл domain.com.conf

Содержимое файла domain.com.conf

server {
     listen 80;
     server_name domain.com;

     root /var/www/domain.com;

     # Add index.php to the list if you are using PHP
     index index.php index.html index.htm index.nginx-debian.html;
 
     server_name domain.com;
 
    location / {
               try_files $uri $uri/ =404;
               if (!-e $request_filename) {
                  rewrite ^.+/?(/wp-.*) $1 last;
            rewrite ^.+/?(/.*\.php)$ $1 last;
                  rewrite ^(.+)$ /index.php?q=$1 last;
      }
}

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

Теперь нужно перезагрузить web сервер

service nginx restart

Проверка работы php

В папке /var/www/domain.com , создадим файл index.php и напишем в нем:

<?php phpinfo(); ?>

Далее, открываем в браузере свой сайт, в примере мы используем domain.com и если всё сделано правильно, то видим такую картину:

Устанавливаем mariadb

sudo apt install mariadb-server mariadb-client

Настройки безопасности

mysql_secure_installation

Отвечаем на вопросы:

Создаем базу данных и пользователя.

Входим в mariadb:

mysql -u root

Если вы установили пароль на root:

mysql -u root -p
CREATE DATABASE domaindb;
CREATE USER 'nameus'@'localhost' IDENTIFIED BY 'user_password';

За место user_password введите пароль пользователя.

GRANT ALL ON domaindb.* TO nameus@localhost;
quit;

Развертывание WordPress

cd /var/www/domain.com
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
mv wordpress/* .
rmdir wordpress
chown -R www-data:www-data /var/www/domain.com
chmod -R 755 /var/www/domain.com