Как да инсталираме WordPress с Nginx на Ubuntu 22.04?

Тази статия има за цел да демонстрира как да инсталирате и конфигурирате системата за управление на съдържание (CMS) на WordPress на Ubuntu 22.04 с Nginx.

WordPress е една от най-използваните безплатни системи за управление на съдържание с отворен код по света. WordPress е написан на PHP и използва MySQL/MariaDB за съхранение на своите данни. Освен това идва с много функции, безброй плъгини и теми, които да ви помогнат да създадете онлайн уебсайт/магазин по възможно най-лесния начин.

Използвайте стъпките по-долу, за да инсталирате WordPress с Nginx на Ubuntu 22.04.

1) Инсталирайте Nginx, PHP и разширения

Можете да инсталирате PHP, наличен в хранилищата по подразбиране на Ubuntu, като използвате следната команда:

sudo apt install -y nginx php-dom php-simplexml php-ssh2 php-xml php-xmlreader php-curl php-exif php-ftp php-gd php-iconv php-imagick php-json php-mbstring php-posix php-sockets php-tokenizer php-fpm php-mysql php-gmp php-intl php-cli

Потвърдете инсталираната PHP версия:

php –version


$ php --version
PHP 8.1.2-1ubuntu2.10 (cli) (built: Jan 16 2023 15:19:49) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2-1ubuntu2.10, Copyright (c), by Zend Technologies

2) Конфигурирайте PHP на вашата система

Направете следните PHP конфигурации:


sudo vim /etc/php/*/fpm/php.ini

Направете корекциите по-долу:


file_uploads = On
upload_max_filesize = 100M
allow_url_fopen = On
short_open_tag = On
memory_limit = 256M
cgi.fix_pathinfo = 0
max_execution_time = 360
date.timezone = Europe/Sofia

Запазете файла, стартирайте и активирайте PHP-FPM.

sudo systemctl restart php*-fpm.service

Проверете дали услугата работи:

systemctl status php*-fpm.service


$ systemctl status php*-fpm.service
● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-02-09 15:17:23 UTC; 23h ago
       Docs: man:php-fpm8.1(8)
   Main PID: 13867 (php-fpm8.1)
     Status: "Processes active: 0, idle: 3, Requests: 719, slow: 0, Traffic: 0req/sec"
      Tasks: 4 (limit: 5634)
     Memory: 831.6M
        CPU: 1min 52.872s
     CGroup: /system.slice/php8.1-fpm.service
             ├─13867 "php-fpm: master process (/etc/php/8.1/fpm/php-fpm.conf)" "" "" "" "" "" "" "">
             ├─13869 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ">
             ├─15052 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ">
             └─20548 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ">

Feb 09 15:17:23 test systemd[1]: Starting The PHP 8.1 FastCGI Process Manager...
Feb 09 15:17:23 test systemd[1]: Started The PHP 8.1 FastCGI Process Manager.

3) Инсталирайте и конфигурирайте сървъра на база данни MariaDB

WordPress използва MySQL/MariaDB база данни за съхраняване на ist данни. В това ръководство ще използваме базата данни MariaDB, която може да бъде инсталирана по следния начин:

sudo apt install -y mariadb-server mariadb-client

Стартирайте и активирайте MariaDB:

sudo systemctl start mariadb

sudo systemctl enable mariadb

sudo mysql_secure_installation

Enter current password for root (enter for none): Just press Enter

Set root password? [Y/n] Y

New password: xxx << Enter Password

Re-enter new password: xxx << Re-Enter Password

…..

Remove anonymous users? [Y/n] Y

….

Disallow root login remotely? [Y/n] Y

…..

Remove test database and access to it? [Y/n] Y

…..

Reload privilege tables now? [Y/n] Y

….

Thanks for using MariaDB!

==========================

Сега създайте базата данни за WordPress:

sudo mysql -u root -p

Докато сте в обвивката на MariaDB, изпълнете командите по-долу, за да създадете база данни за WordPress CMS.

CREATE DATABASE test;
CREATE USER 'test_user'@'localhost' IDENTIFIED BY ' parola';
GRANT ALL ON test.* TO 'test_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT

Не забравяйте да замените test с подходящото име на базата данни, test_user с потребителското име на базата данни и parola с подходящата потребителска парола.

4) Изтеглете WordPress 

cd /tmp

wget https://wordpress.org/latest.tar.gz

След като го изтеглите, извлечете файла и го преместете в директорията / var/www

tar -xvzf latest.tar.gz

sudo mv wordpress /var/www/wordpress

5) Конфигурирайте уеб сървър Nginx

 Създайте файл с виртуален хост за WordPress:

sudo vim /etc/nginx/conf.d/wordpress.conf

Във файла добавете следното:

server {
    listen 80;
    listen [::]:80;
    server_name  test.urocibg.eu www.test.urocibg.eu;
    root /var/www/wordpress;
    index  index.php index.html index.htm;
    access_log /var/log/nginx/wpress_access.log;
    error_log /var/log/nginx/wpress_error.log;

    client_max_body_size 100M;
    autoindex off;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
    }
}

Не забравяйте да замените test.urocibg.eu със собственото си име на домейн.

Запазете файла и излезте.

Проверете синтаксиса на файла:

sudo nginx -t

Рестартирайте Nginx:

sudo systemctl restart nginx

6) Уеб инсталатора на WordPress

Вече WordPress трябва да е достъпен на URL адреса http://domain_name .

Уеб инсталатора на WordPress
Федя Серафиев

Федя Серафиев

Федя Серафиев e собственик на уебсайта urocibg.eu. Той намира удовлетворение в това да помага на хората да решават и най-сложните технически проблеми. Сегашната му цел е да пише лесни за следване статии, така че подобни проблеми изобщо да не възникват.

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: