Wolkra

Bələdçilər

VPS-də WordPress necə quraşdırılır

Ubuntu 24.04-də Caddy, PHP-FPM və MariaDB ilə VPS-də WordPress quraşdırın: verilənlər bazası, avtomatik HTTPS, WP-CLI, keşləmə, ehtiyat nüsxələr və yeniləmələr, addım-addım.

Yenilənib: 5 dəq oxu

VPS-də WordPress işlətmək üçün veb server (burada Caddy), WordPress-in tələb etdiyi genişlənmələrlə PHP-FPM və MariaDB quraşdırın; verilənlər bazası və istifadəçi yaradın; WordPress-i WP-CLI ilə yükləyin; və Caddy-nin HTTPS-i aktiv edə bilməsi üçün domeni serverə yönəldin. Ubuntu 24.04-də bütün quraşdırma təxminən 20 dəqiqə çəkir.

Əl ilə işdən qaçmaq istəyirsinizsə, Wolkra-dakı WordPress bir kliklə tətbiqi eyni stack-i avtomatik quraşdırır. Bu bələdçi altında nə baş verdiyini göstərir ki, onu özünüz işlədə və düzəldə biləsiniz.

Başlamazdan əvvəl

  • Ubuntu 24.04 olan server (Debian 12 eyni addımlarla işləyir), tövsiyə olunan yaddaş 2 GB.
  • İlk addımlar yerinə yetirilib: yeniləmələr, sudo istifadəçisi, SSH açarları.
  • Serverə yönələn A qeydi (IPv6 istifadə edirsinizsə, AAAA da) olan domen. Bu bələdçidə: blog.example.com.
  • UFW-də və istənilən bulud firewall-unda 80 və 443 portları açıqdır.
bash
sudo ufw allow 80,443/tcp

1. PHP və MariaDB quraşdırın

bash
sudo apt update
sudo apt install -y mariadb-server \
  php-fpm php-mysql php-curl php-gd php-intl php-mbstring \
  php-xml php-zip php-imagick php-bcmath unzip

Ubuntu 24.04 PHP 8.3, Debian 12 isə PHP 8.2 quraşdırır. Hansının sizdə olduğunu yoxlayın:

bash
php -v
ls /run/php/

php8.3-fpm.sock kimi socket adını qeyd edin. O, 5-ci addımda lazım olacaq.

2. MariaDB-ni qoruyun və verilənlər bazasını yaradın

bash
sudo mariadb-secure-installation

Defolt dəyərləri qəbul edin: root üçün unix socket autentifikasiyasını saxlayın, anonim istifadəçiləri və test verilənlər bazasını silin.

WordPress üçün verilənlər bazası və istifadəçi yaradın:

bash
DBPASS=$(openssl rand -hex 20)
echo "Database password: $DBPASS"
sudo mariadb <<SQL
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp'@'localhost' IDENTIFIED BY '$DBPASS';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp'@'localhost';
FLUSH PRIVILEGES;
SQL

Parolu saxlayın; WP-CLI-a tezliklə lazım olacaq.

3. Caddy quraşdırın

Caddy rəsmi Debian/Ubuntu repozitoriyası təqdim edir:

bash
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | \
  sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \
  sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install -y caddy

4. WP-CLI quraşdırın və WordPress-i yükləyin

bash
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

Sayt qovluğunu yaradın və onun sahibi PHP istifadəçisi olsun:

bash
sudo mkdir -p /var/www/blog
sudo chown www-data:www-data /var/www/blog
cd /var/www/blog
sudo -u www-data wp core download
sudo -u www-data wp config create \
  --dbname=wordpress --dbuser=wp --dbpass="$DBPASS" --dbhost=localhost
sudo -u www-data wp core install \
  --url=https://blog.example.com \
  --title="My Blog" \
  --admin_user=admin_$(openssl rand -hex 3) \
  --admin_email=YOUR_EMAIL \
  --prompt=admin_password

YOUR_EMAIL yerinə öz e-poçt ünvanınızı yazın. Asanlıqla təxmin edilməyən admin istifadəçi adı təxmin hücumlarını çətinləşdirir. --prompt parolu shell tarixçənizdə qoymaq əvəzinə onu soruşur.

5. Caddy-ni konfiqurasiya edin

/etc/caddy/Caddyfile faylını bununla əvəz edin:

text
blog.example.com {
    root * /var/www/blog
    encode zstd gzip
    php_fastcgi unix//run/php/php8.3-fpm.sock
    file_server

    @blocked path /xmlrpc.php /wp-config.php /.git/* /.env
    respond @blocked 404

    header {
        Strict-Transport-Security "max-age=31536000"
        X-Content-Type-Options "nosniff"
        Referrer-Policy "strict-origin-when-cross-origin"
    }
}

Öz PHP socket adınızı istifadə edin. Sonra:

bash
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy

Caddy sertifikatı ilk sorğuda alır. https://blog.example.com/wp-admin/ ünvanını açın və daxil olun. Daha çox seçim Caddy reverse proxy bələdçisindədir.

6. PHP-ni tənzimləyin

Defolt dəyərlər media yükləmələri üçün kiçikdir. /etc/php/8.3/fpm/conf.d/99-wordpress.ini faylını yaradın (versiyanı uyğunlaşdırın):

ini
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 120
opcache.enable = 1
opcache.memory_consumption = 128
bash
sudo systemctl restart php8.3-fpm

OPcache kompilyasiya olunmuş PHP-ni yaddaşda saxlayır və pulsuz əldə edilən ən böyük sürət artımıdır.

7. Keşləmə əlavə edin

Əksər bloqlar üçün səhifə keşi plagini kifayətdir. Daha işlək saytlar üçün obyekt keşi kimi Redis əlavə edin:

bash
sudo apt install -y redis-server php-redis
sudo systemctl restart php8.3-fpm
cd /var/www/blog
sudo -u www-data wp plugin install redis-cache --activate
sudo -u www-data wp redis enable

Redis defolt olaraq yalnız localhost-u dinləyir. Belə də saxlayın.

8. WordPress cron-u sistemdən işlədin

WordPress planlaşdırılmış tapşırıqları səhifə baxışlarında işə salır: bu, sakit saytlarda etibarsız, işlək saytlarda isə israfçıdır. Əvəzinə əsl cron tapşırığından istifadə edin:

bash
sudo -u www-data wp config set DISABLE_WP_CRON true --raw
echo '*/5 * * * * www-data cd /var/www/blog && /usr/local/bin/wp cron event run --due-now --quiet' | \
  sudo tee /etc/cron.d/wordpress

9. Yenilənmiş saxlayın

WordPress sındırılmalarının çoxu köhnəlmiş plaginlər vasitəsilə baş verir. Həftədə bir yeniləyin və ya avtomatlaşdırın:

bash
cd /var/www/blog
sudo -u www-data wp core update
sudo -u www-data wp plugin update --all
sudo -u www-data wp theme update --all

İstifadə etmədiyiniz plaginləri və mövzuları silin. Hər biri boşluğu ola biləcək koddur.

10. Ehtiyat nüsxə çıxarın

Sizə iki şey lazımdır: verilənlər bazası və wp-content.

bash
sudo mkdir -p /var/backups/blog
cd /var/www/blog
sudo -u www-data wp db export - | gzip | sudo tee /var/backups/blog/db-$(date +%F).sql.gz >/dev/null
sudo tar czf /var/backups/blog/files-$(date +%F).tar.gz -C /var/www/blog wp-content

Bunu hər gecə işləyəcək şəkildə planlaşdırın və başqa yerə köçürün. Wolkra-da avtomatik gündəlik server ehtiyat nüsxələri (server qiymətinin 20%-i, 7 bərpa nöqtəsi) əlavə edin və böyük yeniləmələrdən əvvəl snapshot götürün. Bax: ehtiyat nüsxə strategiyası bələdçisi.

11. Əsas təhlükəsizliyi gücləndirin

  • SSH-ı yalnız açarlarla saxlayın və ƏS-i yenilənmiş saxlayın (Ubuntu serverini qorumaq).
  • Plagin vasitəsilə WordPress administratorları üçün iki faktorlu girişi aktiv edin.
  • Paneldə fayl redaktəsini söndürün:
bash
sudo -u www-data wp config set DISALLOW_FILE_EDIT true --raw
  • Plagin və ya Fail2ban ilə giriş cəhdlərini məhdudlaşdırın.

12. E-poçtu etibarlı göndərin

WordPress parol bərpası, şərh bildirişləri və sifariş məktublarını defolt olaraq PHP-nin mail() funksiyası ilə göndərir və onlar çox vaxt spam-a düşür. SMTP plagini və düzgün poçt provayderindən istifadə edin, provayderin təsvir etdiyi kimi domeniniz üçün SPF və DKIM qeydləri əlavə edin. Server poçtu özü göndərirsə, konsolda onun IP-si üçün reverse DNS-i serverin hostname-inə təyin edin; bax: IP ünvanları.

13. Hər şeyin işlədiyini yoxlayın

Quraşdırmadan sonra qısa yoxlama:

bash
curl -I https://blog.example.com
sudo -u www-data wp --path=/var/www/blog core verify-checksums
sudo -u www-data wp --path=/var/www/blog cron event list
systemctl status caddy php8.3-fpm mariadb --no-pager

verify-checksums əsas faylları rəsmi buraxılışla müqayisə edir və sonradan dəyişiklikləri aşkarlamağın da sürətli yoludur.

Ölçü və böyümə

Bir neçə həftə konsol qrafiklərində yaddaşı və CPU-nu izləyin. PHP worker-ləri çatışmırsa, /etc/php/8.3/fpm/pool.d/www.conf faylında pm.max_children dəyərini artırın və ya serveri daha böyük plana keçirin. Bütün Wolkra planlarında trafik ölçülmür, ona görə işlək ay hesabı artırmır. Saytları bu yolla işlətmək haqqında ətraflı: WordPress hostinqi.

Tez-tez verilən suallar

WordPress üçün VPS paylaşılan hostinqdən yaxşıdırmı?

VPS sizə öz resurslarınızı, PHP və keşləmə üzərində tam nəzarəti verir, eyni hesabda səs-küylü qonşular olmur. Bununla yanaşı, paylaşılan hostinqin sizin üçün gördüyü yeniləmələr və təhlükəsizlik də sizin üzərinizə düşür.

VPS-də WordPress-ə nə qədər yaddaş lazımdır?

Verilənlər bazası olan tək sayt diqqətlə qurulsa 1 GB-da işləyir. 2 GB daha rahatdır, WooCommerce ilə işlək mağazalar isə çox vaxt 4 GB tələb edir.

Niyə Nginx və ya Apache əvəzinə Caddy?

Caddy HTTPS sertifikatlarını özü alır və yeniləyir, cəmi bir neçə sətir konfiqurasiya tələb edir. Nginx və Apache də eyni dərəcədə yaxşı işləyir, lakin daha çox quraşdırma tələb edir.

WordPress-i əvvəlcədən quraşdırılmış ala bilərəmmi?

Bəli. Wolkra-nın WordPress bir kliklə tətbiqi Caddy, PHP, MariaDB və WP-CLI-ı sizin üçün qurur və server açıldıqdan bir neçə dəqiqə sonra hazır olur.

WordPress-in ehtiyat nüsxəsini necə çıxarmalı?

Həm verilənlər bazasının, həm də wp-content qovluğunun ehtiyat nüsxəsini çıxarın. Hər gecə WP-CLI ilə verilənlər bazasının ixracı və faylların nüsxəsi, serverdən kənarda saxlanılmaqla, kifayətdir.

Frankfurtda server işə salın

Hesab yaradın, balansı artırın və ayda €3.49-dan server işlədin, yalnız istifadə etdiyiniz saatlar üçün ödəyin. Bütün planlarda ölçülməyən trafik.