## Установка WordPress: техническая часть ### Проверим пользователя Убедимся, что мы находимся в нужной папке (директории) и не под пользователем root: ``` serveruser@ИМЯСЕРВЕРА:/root$ ``` Если у Вас как на примере выше (вместо serveruser может быть другой пользователь, главное, чтобы не root), то все хорошо. А если у Вас так: ``` root@ИМЯСЕРВЕРА:~# ``` То выполите инструкции по созданию нового пользователя из этой статьи: [Установка Nginx, MySQL 8, PHP8.1-FPM на Ubuntu 22.04 LTS с нуля](https://dnevnik.dev/2022/07/11/ustanovka-nginx-mysql-8-php8-1-fpm-na-ubuntu-22-04-lts-s-nulya/). ### Скачаем WordPress Перейдем в нужный каталог, введем: ``` cd /var/www/ ``` Затем, нужно создать каталог для нашего будущего сайта (у меня НАЗВАНИЕ_САЙТА это dnevnik): ``` sudo mkdir НАЗВАНИЕ_САЙТА sudo chown -R www-data:www-data НАЗВАНИЕ_САЙТА sudo find /var/www/НАЗВАНИЕ_САЙТА/ -type d -exec chmod 750 {} \; sudo find /var/www/НАЗВАНИЕ_САЙТА/ -type f -exec chmod 640 {} \; ``` Если нужно проверить, свободно ли выбранное Вами название сайта, то сделать это можно здесь: [https://reg.ru](https://www.reg.ru/domain/new/?rlink=reflink-10793423). Переместимся в созданный каталог, и скачаем WordPress: ``` cd НАЗВАНИЕ_САЙТА sudo -u www-data wget https://wordpress.org/latest.tar.gz ``` Распакуем архив: ``` sudo -u www-data tar -xzvf latest.tar.gz ``` И удалим его: ``` sudo -u www-data rm latest.tar.gz ``` Затем переместим содержимое папки wordpress в родительскую для ее директорию: ``` sudo -u www-data mv wordpress/* . ``` И удалим папку wordpress: ``` sudo -u www-data rm -R wordpress ``` ### Создадим базу данных в MySQL Войдем в командную строку MySQL: ``` sudo mysql ``` Создадим новую базу данных: ``` CREATE DATABASE НАЗВАНИЕ_САЙТА; ``` Создадим нового пользователя: ``` CREATE USER 'НАЗВАНИЕ_САЙТА'@'localhost' IDENTIFIED BY 'aef@234R345t2iJhfvar'; ``` «aef@234R345t2iJhfvar» — это пароль пользователя НАЗВАНИЕ_САЙТА. Дадим пользователю НАЗВАНИЕ_САЙТА права на базу данных НАЗВАНИЕ_САЙТА: ``` GRANT ALL ON НАЗВАНИЕ_САЙТА.* TO 'НАЗВАНИЕ_САЙТА'@'localhost'; ``` Выйдем из командной строки MySQL: ``` exit ``` Теперь давайте войдем в командную строку MySQL под новым MySQL-пользователем: ``` mysql -u НАЗВАНИЕ_САЙТА -p ``` Вас попросят ввести пароль, введите его. Если Вы не меняли его в примере выше, то он будет такой: ``` aef@234R345t2iJhfvar ``` Вот мы и вошли под новым пользователем. Посмотрим, какие базы данных ему видны, введем: ``` SHOW DATABASES; ``` Результат будет такой: ``` +---------------------------+ | Database | +---------------------------+ | information_schema | | НАЗВАНИЕ_САЙТА | +---------------------------+ 2 rows in set (0.06 sec) ``` Видим нашу базу НАЗВАНИЕ_САЙТА, отлично, выйдем из командной строки MySQL: ``` exit ``` Давайте двигаться дальше, настроим Nginx. ### Настроим Nginx Тут нужно сказать, что я буду иметь в виду под «НАЗВАНИЕ_САЙТА», «НАЗВАНИЕ_САЙТА.ДОМЕН» и «www.НАЗВАНИЕ_САЙТА.ДОМЕН». На примере моего сайта это будет так: НАЗВАНИЕ_САЙТА = dnevnik НАЗВАНИЕ_САЙТА.ДОМЕН = dnevnik.dev www.НАЗВАНИЕ_САЙТА.ДОМЕН = www.dnevnik.dev Если Вам нужен домен, советую приобретать его здесь: [https://reg.ru](https://www.reg.ru/domain/new/?rlink=reflink-10793423). К примеру, домен этого сайта (dnevnik.dev) зарегистрирован именно там. Создадим новый конфигурационный файл для Nginx, для этого введем: ``` sudo vim /etc/nginx/sites-available/НАЗВАНИЕ_САЙТА ``` Команда выше создаст новый пустой файл. Вставим в него содержимое: ``` server { listen 80; server_name НАЗВАНИЕ_САЙТА.ДОМЕН www.НАЗВАНИЕ_САЙТА.ДОМЕН; root /var/www/НАЗВАНИЕ_САЙТА; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; } location ~ /\.ht { deny all; } } ``` И для сохранения файла, нажмите «:wq», а затем Enter. Файл сохранен. Активируем конфигурацию этой командой: ``` sudo ln -s /etc/nginx/sites-available/НАЗВАНИЕ_САЙТА /etc/nginx/sites-enabled/ ``` Перезапустим Nginx, чтобы изменения вступили в силу: ``` sudo systemctl reload nginx ``` ======================================== Сначала вы проверяете, что порт 80 уже работает, ``` sudo netstat -plunt | grep 80 tcp6 0 0 :::80 :::* LISTEN 1573456/apache2 ``` Если он запущен, то отключите apache: ``` sudo service apache2 stop ``` Теперь запустите Nginx: ``` sudo service nginx start ``` ======================================== Теперь нужно настроить WordPress. ### Настроим WordPress Переместимся в директорию сайта: ``` cd /var/www/НАЗВАНИЕ_САЙТА ``` Переименуем файл wp-config-sample.php: ``` sudo -u www-data mv wp-config-sample.php wp-config.php ``` И откроем его для редактирования: ``` sudo -u www-data vim wp-config.php ``` Увидим что-то вроде этого: ```