У меня будет еще один ресурс посвященный моему второму хобби (постройка вездехода своими руками) которое я для себя открыл не давно помимо текущего которое совмещается с работой (Системное администрирование). И в процессе его постройки у меня накопилось много наработок, которые я хочу опубликовать как блог, а в качестве движка выступит CMS WordPress, т.к. мой практический опыт с ним довольно таки внушителен.

Так вот данная заметка – это переработка заметки: "Полное руководство по настройке WordPress on Ubuntu 22.04 Server", если операционная система Ubuntu 24.04 LTS Server и на текущую дату 29.08.2025 самый последний релиз CMS системы WordPress. Сперва разберу все на тестовой системе прежде чем переносить на VPS которая также будет у AdminVPS.

Шаг №1: На свой тестовый полигон под управлением Proxmox 7.4-3 закачиваю дистрибутив Ubuntu 24.04 Server (ubuntu-24.04.3-live-server-amd64.iso) в Storage: local – который скачиваю отсюда: https://releases.ubuntu.com/

ssh -l root srv-proxmox2

root@srv-proxmox2:~# cd /var/lib/vz/template/iso/

root@srv-proxmox2:/var/lib/vz/template/iso# wget https://releases.ubuntu.com/24.04/ubuntu-24.04.3-live-server-amd64.iso

Шаг №2: Создаю контейнер виртуальной машины и устанавливаю в него Ubuntu 24.04 LTS Server

  • CPU: 1 sockets (2 cores)
  • Type: host
  • Bus/Device: VirtIO Block
  • Storage: m2st (M.2 Диск)
  • HDD: 70Gb
  • RAM: 4Gb
  • Login: ekzorchik
  • Pass:  712mbddr@

Шаг №3: Произвожу предварительную настройку операционной системы перед дальнейшем использованием:

sudo rm -f /etc/localtime

sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

sudo locale-gen en_US.UTF-8

echo "LC_ALL="en_US.UTF-8"" | sudo -s tee /etc/default/locale

echo "LANG="en_US.UTF-8"" | sudo tee -a /etc/default/locale

echo "LANGUAGE="en.US.UTF-8"" | sudo tee -a /etc/default/locale

Шаг №4: Моя проработка будет строиться на стеке LEMP (Linux, Nginx, MySQL, PHP), с учетом этого произвожу установку необходимых пакетов из дефолтных репозитариев:

ekzorchik@srv-us2404a:~$ sudo apt-get install php-cli nginx mysql-server mysql-client php-fpm php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-zip php-curl -y

Текущая версия интерпретатора PHP:

ekzorchik@srv-us2404a:~$ php -v

PHP 8.3.6 (cli) (built: Jul 14 2025 18:30:55) (NTS)

Copyright (c) The PHP Group

Zend Engine v4.3.6, Copyright (c) Zend Technologies

with Zend OPcache v8.3.6, Copyright (c), by Zend Technologies

Текущая версия Web-сервиса на базе nginx:

ekzorchik@srv-us2404a:~$ nginx -v

nginx version: nginx/1.24.0 (Ubuntu)

Шаг №5: Произвожу настройку nginx & php:

ekzorchik@srv-us2404a:~$ sudo unlink /etc/nginx/sites-available/default

ekzorchik@srv-us2404a:~$ sudo unlink /etc/nginx/sites-enabled/default

ekzorchik@srv-us2404a:~$ sudo rm -f /var/www/html/index.nginx-debian.html

ekzorchik@srv-us2404a:~$ sudo nano /etc/php/8.3/fpm/php.ini

upload_max_filesize = 32M

post_max_size = 32M

memory_limit = 128M

max_execution_time = 300

max_input_time = 60

ekzorchik@srv-us2404a:~$ sudo nano /etc/php/8.3/fpm/pool.d/www.conf

user = www-data

group = www-data

listen = /run/php/php8.3-fpm.sock

listen.owner = www-data

listen.group = www-data

проверяю внесенные изменения в fpm

ekzorchik@srv-us2404a:~$ sudo php-fpm8.3 --test

[29-Aug-2025 13:33:48] NOTICE: configuration file /etc/php/8.3/fpm/php-fpm.conf test is successful

ekzorchik@srv-us2404a:~$

Перезапускаю Nginx & PHP-FPM:

ekzorchik@srv-us2404a:~$ sudo systemctl restart nginx php8.3-fpm.service

Шаг №6: Создаю под CMS сервис WordPress базу, пользователя и пароль:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

default-authentication-plugin=mysql_native_password

sudo systemctl restart mysql && sudo systemctl status mysql | head -n5

● mysql.service - MySQL Community Server

Loaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: enabled)

Active: active (running) since Fri 2025-08-29 13:38:15 MSK; 21ms ago

Process: 13269 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)

Main PID: 13277 (mysqld)

sudo systemctl is-active mysql.service

active

ekzorchik@srv-us2404a:~$ sudo mysql -u root -e "alter user 'root'@'localhost' identified with mysql_native_password by '712mbddr@';"

ekzorchik@srv-us2404a:~$ sudo mysql -u root -p712mbddr@ -e "delete from mysql.user where user=''"

mysql: [Warning] Using a password on the command line interface can be insecure.

ekzorchik@srv-us2404a:~$ sudo mysql -u root -p712mbddr@ -e "delete from mysql.user where user='root' and host not in ('localhost','127.0.0.1','::1')"

mysql: [Warning] Using a password on the command line interface can be insecure.

ekzorchik@srv-us2404a:~$ sudo mysql -u root -p712mbddr@ -e "drop database if exists test"

mysql: [Warning] Using a password on the command line interface can be insecure.

ekzorchik@srv-us2404a:~$ sudo mysql -u root -p712mbddr@ -e "delete from mysql.db where db='test' or db='test\\_%'"

mysql: [Warning] Using a password on the command line interface can be insecure.

ekzorchik@srv-us2404a:~$ sudo mysql -u root -p712mbddr@ -e "drop database if exists db_wp0"

mysql: [Warning] Using a password on the command line interface can be insecure.

ekzorchik@srv-us2404a:~$ sudo mysql -u root -p712mbddr@ -e "create database db_wp0 character set utf8 collate utf8_general_ci";

mysql: [Warning] Using a password on the command line interface can be insecure.

ekzorchik@srv-us2404a:~$ sudo mysql -u root -p712mbddr@ -e "drop user if exists 'us_wp'@'localhost'"

mysql: [Warning] Using a password on the command line interface can be insecure.

ekzorchik@srv-us2404a:~$ sudo mysql -u root -p712mbddr@ -e "create user 'us_wp'@'localhost' identified by '612mbddr@'"

mysql: [Warning] Using a password on the command line interface can be insecure.

ekzorchik@srv-us2404a:~$ sudo mysql -u root -p712mbddr@ -e "grant all on db_wp0.* to 'us_wp'@'localhost'";

mysql: [Warning] Using a password on the command line interface can be insecure.

ekzorchik@srv-us2404a:~$ sudo mysql -u root -p712mbddr@ -e "SELECT user, host, plugin, authentication_string FROM mysql.user;"

mysql: [Warning] Using a password on the command line interface can be insecure.

+------------------+-----------+-----------------------+------------------------------------------------------------------------+

| user             | host      | plugin                | authentication_string                                                  |

+------------------+-----------+-----------------------+------------------------------------------------------------------------+

| debian-sys-maint | localhost | caching_sha2_password | $A$005$,wRm

[/_)f*:dEh.TCclutKBFTkjqsUmxx1E4.wSCQ8OgAqWZ6hwcqR/ |

| mysql.infoschema | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| mysql.session    | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| mysql.sys        | localhost | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| root             | localhost | mysql_native_password | *06311EC3368F51D40BE586479970CB6B5CD288D8                              |

| us_wp            | localhost | mysql_native_password | *CECC15C42396D57A6401A98CB92227E2C21A1092                              |

+------------------+-----------+-----------------------+------------------------------------------------------------------------+

ekzorchik@srv-us2404a:~$ sudo mysql -u us_wp -p612mbddr@ -e "show variables like 'version';"

mysql: [Warning] Using a password on the command line interface can be insecure.

+---------------+-------------------------+

| Variable_name | Value                   |

+---------------+-------------------------+

| version       | 8.0.43-0ubuntu0.24.04.1 |

+---------------+-------------------------+

ekzorchik@srv-us2404a:~$

Итого:

  • Mysql in root: 712mbddr@
  • DB: у меня будет именоваться, как db_wp0
  • User: us_wp
  • Pass: 612mbddr@

Шаг №7: Скачиваю с официального сайта пакет CMS WordPress и размещаю его в директории Web-сервиса Nginx, т.е. /var/www/html:

ekzorchik@srv-us2404a:~$ sudo wget -c https://wordpress.org/latest.tar.gz

ekzorchik@srv-us2404a:~$ tar zxf latest.tar.gz

ekzorchik@srv-us2404a:~$ rm -f latest.tar.gz

ekzorchik@srv-us2404a:~$ sudo mv wordpress/ /var/www/html/wordpress

ekzorchik@srv-us2404a:~$ sudo chown -R www-data:www-data /var/www/html/wordpress/

ekzorchik@srv-us2404a:~$ sudo chmod -R 755 /var/www/html/wordpress/

Шаг №8: Создаю конфигурацию сайта которая будет взаимодействовать через Web-сервис Nginx с развернутым CMS сервисом WordPress:

ekzorchik@srv-us2404a:~$ sudo nano /etc/nginx/sites-available/wordpress.conf

server {

        listen 80;

        server_name 172.35.35.1;

        root /var/www/html/wordpress;

        index index.php;

        access_log /var/log/access-wp.log;

        error_log /var/log/error-wp.log;

        location / {

                try_files $uri $uri/ /index.php?$args;

        }

        location ~ \.php$ {

                include snippets/fastcgi-php.conf;

                fastcgi_pass unix:/run/php/php8.3-fpm.sock;

                gzip on; #

                gzip_disable "msie6";

                gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;

        location ~ /\. {

                deny all;

                }

        location ~ /.well-known {

                allow all;

                }

        location ~* /(?:uploads|files)/.*\.php$ {

                deny all;

                }

        location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {

                access_log off;

                log_not_found off;

                expires max;

                }

}

}

ekzorchik@srv-us2404a:~$ sudo ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled/wordpress.conf

ekzorchik@srv-us2404a:~$ sudo nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

ekzorchik@srv-us2404a:~$

Шаг №9: Произвожу настройку (ниже указаны параметры, которые изменяем в wp-config.php) CMS WordPress на работу с базой, пользователем и паролем MySQL:

ekzorchik@srv-us2404a:~$ sudo mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php

ekzorchik@srv-us2404a:~$ sudo nano /var/www/html/wordpress/wp-config.php

define( 'DB_NAME', 'db_wp0' );

define( 'DB_USER', 'us_wp' );

define( 'DB_PASSWORD', '612mbddr@' );

define( 'DB_HOST', 'localhost' );

define( 'DB_CHARSET', 'utf8' );

define( 'DB_COLLATE', '' );

define( 'AUTH_KEY',         'put1 your unique phrase here' );

define( 'SECURE_AUTH_KEY',  'put2 your unique phrase here' );

define( 'LOGGED_IN_KEY',    'put3 your unique phrase here' );

define( 'NONCE_KEY',        'put4 your unique phrase here' );

define( 'AUTH_SALT',        'put5 your unique phrase here' );

define( 'SECURE_AUTH_SALT', 'put6 your unique phrase here' );

define( 'LOGGED_IN_SALT',   'put7 your unique phrase here' );

define( 'NONCE_SALT',       'put8 your unique phrase here' );

table_prefix = 'wp_cms_db';

ekzorchik@srv-us2404a:~$ sudo chown -R www-data:www-data /var/www/html/wordpress

ekzorchik@srv-us2404a:~$ sudo systemctl restart nginx php8.3-fpm.service

На заметку: Не возбраняется после restart набрать status дабы убедиться, что сервисы запустились.

Шаг №10: Теперь произведу Web-настройку CMS WordPress через браузер с основной системы, к примеру, в Windows 10 Pro запускаем браузер, пусть будет Google Chrome и открываем URL, где в качестве IP адреса указываем IP адрес Ubuntu 24.04, т.е. строка адреса примет вид: http://172.35.35.1/wp-admin/install.php

  • Язык: выбираю "Русский"

и нажимаю "Продолжить"

далее произвожу знаменитую пятиминутную установку WordPress:

  • Название сайта: tips_db_home
  • Имя пользователя: ekzorchik
  • Пароль: 712mbddr@
  • Ваш e-mail: support@ekzorchik.ru
  • Видимость для поисковых систем: галочку не ставлю

Знаменитая пятиминутка при установки WordPress.

и нажимаю "Установить WordPress"

Если все сделано правильно, и Вы нигде не ошиблись если решили воспользоваться моей заметкой выше, Вы получите следующий вид установки WordPress

WordPress успешно рапортует, что он установлен на моей системе Ubuntu 24.04 LTS Server.

нажимаем "Войти". (если навести курсор мыши на "Войти" будет ссылка: http://172.35.35.1/wp-login.php)

Авторизуемся в CMS WordPress которую только что развернули с данными аутентификации заданными выше:

  • Имя пользователя или email: ekzorchik
  • Пароль: 712mbddr@
  • Запомнить меня: отмечаем галочкой
  • Язык: Русский

Производим авторизаю в CMS WordPress.

и нажимаем "Войти"

И после успешной авторизации – Добро пожаловать в WordPress, текущая версия – 6.8.2

Авторизация прошла успешно в CMS WordPress, текущая версия 6.8.2

Подведем итог, сейчас я разобрал как на Ubuntu 24.04 Server на момент написания для себя пошаговой заметки развернуть CMS WordPress версии 6.8.2 и как показала практика выше все выше указанное справедливо что у меня было сделано для предыдущей версии которая была в заметке связки Ubuntu 22.04 + CMS WordPress.

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

На этом я завершаю свое повествование, надеюсь, что Вы найдете много интересного и полезного в этом, до новых вхождений, с уважением автор блога Олло Александр aka ekzorchik.