У меня будет еще один ресурс посвященный моему второму хобби (постройка вездехода своими руками) которое я для себя открыл не давно помимо текущего которое совмещается с работой (Системное администрирование). И в процессе его постройки у меня накопилось много наработок, которые я хочу опубликовать как блог, а в качестве движка выступит 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
нажимаем "Войти"
. (если навести курсор мыши на "Войти"
будет ссылка: http://172.35.35.1/wp-login.php
)
Авторизуемся в CMS WordPress
которую только что развернули с данными аутентификации заданными выше:
Имя пользователя или email: ekzorchik
Пароль: 712mbddr@
Запомнить меня: отмечаем галочкой
Язык: Русский
и нажимаем "Войти"
И после успешной авторизации – Добро пожаловать в WordPress
, текущая версия – 6.8.2
Подведем итог, сейчас я разобрал как на Ubuntu 24.04 Server
на момент написания для себя пошаговой заметки развернуть CMS WordPress
версии 6.8.2
и как показала практика выше все выше указанное справедливо что у меня было сделано для предыдущей версии которая была в заметке связки Ubuntu 22.04 + CMS WordPress.
На заметку: Если будет что-то интересное в дальнейшем, то все интересное будет оформлено в пошаговых руководствах и опубликовано у меня на блогах.
На этом я завершаю свое повествование, надеюсь, что Вы найдете много интересного и полезного в этом, до новых вхождений, с уважением автор блога Олло Александр aka ekzorchik.