ืฉืึทืคึฟืŸ ืึท VPS ืžื•ืกื˜ืขืจ ืžื™ื˜ Drupal 9 ืื•ื™ืฃ Centos 8

ืžื™ืจ ืคืึธืจื–ืขืฆืŸ ืฆื• ื™ืงืกืคึผืึทื ื“ ืื•ื ื“ื–ืขืจ ืžืึทืจืง. ืžื™ืจ ืœืขืฆื˜ื ืก ื“ืขืจืฆื™ื™ืœื˜ ืื™ืจ ื•ื•ื™ ื’ืขืžืื›ื˜ ืึท ื’ื™ื˜ืœืึทื‘ ื‘ื™ืœื“, ืื•ืŸ ื“ื™ ื•ื•ืึธืš ื“ืจื•ืคึผืึทืœ ืืจื•ื™ืก ืื™ืŸ ืื•ื ื“ื–ืขืจ ืžืึทืจืง.

ืžื™ืจ ื–ืึธื’ืŸ ืื™ืจ ื•ื•ืึธืก ืžื™ืจ ืื•ื™ืกื“ืขืจื•ื•ื™ื™ืœื˜ ืื™ื ืื•ืŸ ื•ื•ื™ ื“ื™ ื‘ื™ืœื“ ืื™ื– ื‘ืืฉืืคืŸ.

ืฉืึทืคึฟืŸ ืึท VPS ืžื•ืกื˜ืขืจ ืžื™ื˜ Drupal 9 ืื•ื™ืฃ Centos 8

ื“ืจื•ืคึผืึทืœ - ืึท ื‘ืึทืงื•ื•ืขื ืื•ืŸ ืฉื˜ืึทืจืง ืคึผืœืึทื˜ืคืึธืจืžืข ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืงื™ื™ืŸ ื˜ื™ืคึผ ืคื•ืŸ ื•ื•ืขื‘ื–ื™ื™ื˜ืœ: ืคึฟื•ืŸ ืžื™ืงืจืึธืกื™ื˜ืขืก ืื•ืŸ ื‘ืœืึธื’ืก ืฆื• ื’ืจื•ื™ืก ื’ืขื–ืขืœืฉืึทืคื˜ืœืขืš ืคึผืจืึทื“ื–ืฉืขืงืก, ืื•ื™ืš ื’ืขื ื™ืฆื˜ ื•ื•ื™ ืึท ื™ืงืขืจ ืคึฟืึทืจ ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–, ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ PHP ืื•ืŸ ื ื™ืฆืŸ ืจื™ืœื™ื™ืฉืึทื ืึทืœ ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ื•ื•ื™ ืึท ื“ืึทื˜ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ.

ื“ืจื•ืคึผืึทืœ 9 ื›ื•ืœืœ ืึทืœืข ื“ื™ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ื‘ืึทืงืขื ืขื  ืื™ืŸ ื•ื•ืขืจืกื™ืข 8.9. ื“ืขืจ ืฉืœื™ืกืœ ื—ื™ืœื•ืง ืฆื•ื•ื™ืฉืŸ ื•ื•ืขืจืกื™ืข 9 ืื•ืŸ ื•ื•ืขืจืกื™ืข 8 ืื™ื– ืึทื– ื“ื™ ืคึผืœืึทื˜ืคืึธืจืžืข ื•ื•ืขื˜ ืคืึธืจื–ืขืฆืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ืื•ืŸ ื–ื™ื›ืขืจื”ื™ื™ื˜ ืคื™ืงืกื™ื– ื ืึธืš ื ืื•ื•ืขืžื‘ืขืจ 2021. ื•ื•ืขืจืกื™ืข 9 ืื•ื™ืš ืกื™ืžืคึผืœืึทืคื™ื™ื– ื“ื™ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืคึผืจืึธืฆืขืก, ืžืื›ืŸ ื“ืขื ืคึผืจืึธืฆืขืก ืคื•ืŸ ืึทืคึผื’ืจื™ื™ื“ื™ื ื’ ืคึฟื•ืŸ ื•ื•ืขืจืกื™ืข 8 ืืคื™ืœื• ื’ืจื™ื ื’ืขืจ.

ืกืขืจื•ื•ื™ืจืขืจ ื‘ืื“ืขืจืคืขื ื™ืฉืŸ

ืฆื• ื ื•ืฆืŸ ื“ืจื•ืคึผืึทืœ, ืขืก ืื™ื– ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ื ื•ืฆืŸ 2 ื’ื™ื’ืื‘ื™ื™ื˜ ื‘ืึทืจืึทืŸ ืื•ืŸ 2 ืงืคึผื• ืงืึธืจืขืก.

ื“ื™ ื”ื•ื™ืคึผื˜ ื“ืจื•ืคึผืึทืœ ื˜ืขืงืขืก ื ืขืžืขืŸ ื•ื•ืขื’ืŸ 100 ืžืขื’ืื‘ื™ื™ื˜ืŸ, ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืื™ืจ ื•ื•ืขื˜ ื“ืึทืจืคึฟืŸ ืคึผืœืึทืฅ ืฆื• ืงืจืึธื ื‘ื™ืœื“ืขืจ, ื“ืึทื˜ืึทื‘ื™ื™ืก, ื˜ืขืžืขืก, ื ืึธืš ืžืึทื“ื–ืฉื•ืœื– ืื•ืŸ ื‘ืึทืงืึทืคึผืก, ื•ื•ืึธืก ื•ื•ืขื˜ ืึธืคืขื ื’ืขืŸ ืื•ื™ืฃ ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ ื“ื™ื™ืŸ ืคึผืœืึทืฅ.

ื“ืจื•ืคึผืึทืœ 9 ืจื™ืงื•ื•ื™ื™ืขืจื– PHP 7.4 ืึธื“ืขืจ ื”ืขื›ืขืจ ืžื™ื˜ ืึท ืžื™ื ื™ืžื•ื ื‘ืึทื’ืจืขื ืขืฆื•ื ื’ (memory_limit) ืคึฟืึทืจ 64 ืžื‘ ื–ื›ึผืจื•ืŸ; ืื•ื™ื‘ ื ืึธืš ืžืึทื“ื–ืฉื•ืœื– ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜, ืขืก ืื™ื– ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ 128 ืžืขื’ืื‘ื™ื™ื˜ืŸ.

ื“ืจื•ืคึผืึทืœ ืงืขื ืขืŸ ื ื•ืฆืŸ Apache ืึธื“ืขืจ Nginx ื•ื•ื™ ืึท ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ, ืื•ืŸ MySQL, PostgreSQL ืึธื“ืขืจ SQLite ื•ื•ื™ ืึท ื“ืึทื˜ืึทื‘ื™ื™ืก.

ืžื™ืจ ื•ื•ืขืœืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ Drupal ืžื™ื˜ Nginx ืื•ืŸ MySQL.

ื™ื ืกื˜ืึทืœื™ืจื•ื ื’

ืœืึธืžื™ืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ื“ื™ ืื™ื ืกื˜ืึทืœื™ืจืŸ ืคึผืึทืงืึทื“ื–ืฉืึทื– ืฆื• ื“ื™ ืœืขืฆื˜ืข ื•ื•ืขืจืกื™ืข:

sudo dnf update -y

ืœืึธืžื™ืจ ืœื™ื™ื’ืŸ ืฉื˜ืขื ื“ื™ืง ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืคึฟืึทืจ ื™ื ืงืึทืžื™ื ื’ ืคืึทืจืงืขืจ ืฆื• http/80 ืื•ืŸ https/443 ืคึผืึธืจืฅ:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

ืœืึธืžื™ืจ ืฆื•ืœื™ื™ื’ืŸ ื“ื™ ื ื™ื™ึทืข ืคื™ื™ืจื•ื•ืึทืœ ื›ึผืœืœื™ื:

sudo systemctl reload firewalld

ืœืึธืžื™ืจ ื™ื ืกื˜ืึทืœื™ืจืŸ Nginx:

sudo dnf install nginx -y

ืœืึธืžื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ืื•ืŸ ื’ืขื‘ืŸ ื“ื™ Nginx ืกืขืจื•ื•ืขืจ:

sudo systemctl start nginx
sudo systemctl enable nginx

ื–ื™ื ื˜ ื“ื™ ื”ื•ื™ืคึผื˜ Centos ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ื“ืขืจื•ื•ื™ื™ึทืœ ื ื™ืฆื˜ PHP 7.2, ืœืึธื–ืŸ ืื•ื ื“ื– ืœื™ื™ื’ืŸ ืึท REMI ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืžื™ื˜ PHP 7.4 (ืžื™ื ื™ืžื•ื ื•ื•ืขืจืกื™ืข ืคึฟืึทืจ ื“ืจื•ืคึผืึทืœ 9).
ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืœื™ื™ื’ืŸ ื“ื™ EPEL ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ (ืคืืจืœืื ื’ื˜ ื“ื•ืจืš ื“ื™ REMI ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™):

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

ืœืึธืžื™ืจ ืœื™ื™ื’ืŸ ื“ื™ REMI ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™:

sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

ืœืึธืžื™ืจ ื’ืขื‘ืŸ ื“ื™ php:remi-7.4 ืžืึธื“ื•ืœืข ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ php 7.4:

sudo dnf module enable php:remi-7.4 -y

ื™ื ืกื˜ืึทืœื™ืจืŸ php-fpm ืื•ืŸ php-cli:

sudo dnf install -y php-fpm php-cli

ืœืึธืžื™ืจ ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ PHP ืžืึทื“ื–ืฉื•ืœื– ืคืืจืœืื ื’ื˜ ืคึฟืึทืจ ื“ืจื•ืคึผืึทืœ ืฆื• ืึทืจื‘ืขื˜ืŸ:

sudo dnf install -y php-mysqlnd php-date php-dom php-filter php-gd php-hash php-json php-pcre php-pdo php-session php-simplexml php-spl php-tokenizer php-xml

ืžื™ืจ ื•ื•ืขืœืŸ ืื•ื™ืš ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ืจืขืงืึทืžืขื ื“ื™ื“ PHP mbstring opcache ืžืึทื“ื–ืฉื•ืœื–:

sudo dnf install -y php-mbstring php-opcache

ืœืึธืžื™ืจ ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ MySQL ืกืขืจื•ื•ืขืจ:

sudo dnf install mysql-server -y

ื–ืืœ ืก ืงืขืจ ืื•ื™ืฃ ืื•ืŸ ืึธื ื”ื™ื™ื‘ ื“ื™ MySQL ืกืขืจื•ื•ืขืจ:

sudo systemctl start mysqld
sudo systemctl enable mysqld

ื–ื™ื ื˜ ืžื™ืจ ืžืึทื›ืŸ ืึท ืžื•ืกื˜ืขืจ ืคึฟืึทืจ VDS, ืื•ืŸ ื–ื™ื™ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคึผืึทืžืขืœืขืš, ืžื™ืจ ื•ื•ืขืœืŸ ืœื™ื™ื’ืŸ ืึท Mysqld ืึธื ื”ื™ื™ื‘ ืคืึทืจื”ืึทืœื˜ืŸ ืคื•ืŸ 30 ืกืขืงื•ื ื“ืขืก, ืึทื ื“ืขืจืฉ ืขืก ืงืขืŸ ื–ื™ื™ืŸ ืคึผืจืึธื‘ืœืขืžืก ืžื™ื˜ ื“ื™ ืกืขืจื•ื•ืขืจ ืกื˜ืึทืจื˜ื™ื ื’ ื‘ืขืฉืึทืก ื“ื™ ืขืจืฉื˜ ืกื™ืกื˜ืขื ืฉื˜ื™ื•ื•ืœ:

sudo sed -i '/Group=mysql/a 
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service

ืœืึธืžื™ืจ ื˜ื•ื™ืฉืŸ ื“ื™ ื’ืจื•ืคึผืข ืื•ืŸ ื‘ืึทื ื™ืฆืขืจ ืื•ื ื˜ืขืจ ื•ื•ืึธืก nginx ื•ื•ืขื˜ ืœื•ื™ืคืŸ ื“ื•ืจืš ืžืึทื›ืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• /etc/php-fpm.d/www.conf:

sudo sed -i --follow-symlinks 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sudo sed -i --follow-symlinks 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf

ืœืึธืžื™ืจ ื˜ื•ื™ืฉืŸ ื“ื™ ื‘ืึทื–ื™ืฆืขืจ ืคื•ืŸ ื“ื™ PHP ืกืขืฉืึทื ื– ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืฆื• nginx ืึทืงืึธืจื“ื™ื ื’ืœื™:

sudo chown -R nginx. /var/lib/php/session

ืœืึธืžื™ืจ ืึทืจืึธืคึผื ืขืžืขืŸ ื“ื™ ืฉื•ืจื•ืช ืžื™ื˜ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ ืคื•ืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข /etc/nginx/nginx.conf (ืึทื–ื•ื™ ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ื˜ืึธืคึผืœ ื˜ืจื™ื’ืขืจื– ืคึฟืึทืจ ืกืขื“):

sudo sed -i -e '/^[ t]*#/d'  /etc/nginx/nginx.conf

ืœื™ื™ื’ ื’zip ืงืึทืžืคึผืจืขืฉืึทืŸ ืกืขื˜ื˜ื™ื ื’ืก ืฆื• /etc/nginx/nginx.conf

sudo sed -i '/types_hash_max_size 2048;/a 

    gzip on;
    gzip_static on;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/x-icon image/svg+xml application/x-font-ttf;
    gzip_comp_level 9;
    gzip_proxied any;
    gzip_min_length 1000;
    gzip_disable "msie6";
    gzip_vary on; 
' /etc/nginx/nginx.conf

ืœืึธืžื™ืจ ืœื™ื™ื’ืŸ ื“ื™ ืกืขื˜ื˜ื™ื ื’ืก ืคื•ืŸ ื“ื™ ืื™ื ื“ืขืงืก ื˜ืขืงืข index.php ืฆื• /etc/nginx/nginx.conf:

sudo sed -i '/        root         /usr/share/nginx/html;/a 
        index index.php index.html index.htm;
' /etc/nginx/nginx.conf

ืœืึธืžื™ืจ ืœื™ื™ื’ืŸ ืกืขื˜ื˜ื™ื ื’ืก ืคึฟืึทืจ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืกืขืจื•ื•ืขืจ: ืคืคึผ ืคึผืจืึทืกืขืกื™ื ื’ ื“ื•ืจืš ื“ื™ ืคืคึผ-ืคืคึผื ื›ืึธืœืขืœ, ื“ื™ืกื™ื™ื‘ืึทืœ ื“ื™ ืงืœืึธืฅ ืคึฟืึทืจ ืกื˜ืึทื˜ื™ืง ื˜ืขืงืขืก, ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ ื•ื™ืกื’ื™ื™ืŸ ืฆื™ื™ื˜, ื“ื™ืกื™ื™ื‘ืึทืœ ื“ื™ ืึทืงืกืขืก ืื•ืŸ ื˜ืขื•ืช ืงืœืึธืฅ ืคึฟืึทืจ favicon.ico ืื•ืŸ robots.txt, ืื•ืŸ ืœื™ื™ืงืขื ืขืŸ ืึทืงืกืขืก ืฆื• .ht ื˜ืขืงืขืก ืคึฟืึทืจ ืึทืœืขืžืขืŸ:

sudo sed -i '/        location / {/a 
		try_files $uri $uri/ /index.php?q=$uri&$args;
        }
    
        location ~* ^.+.(js|css|png|jpg|jpeg|gif|ico|woff)$ {
        access_log off;
        expires max;
        }
    
        location ~ .php$ {
        try_files  $uri =404;
        fastcgi_pass   unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_intercept_errors on;
        fastcgi_ignore_client_abort off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
        }
    
        location = /favicon.ico {
        log_not_found off;
        access_log off;
        }
    
        location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
        }
    
        location ~ /.ht {
        deny all;' /etc/nginx/nginx.conf

ื™ื ืกื˜ืึทืœื™ืจืŸ wget ืคืืจืœืื ื’ื˜ ืคึฟืึทืจ ื™ื ืกื˜ืึธืœื™ื ื’ certbot:

sudo dnf install wget -y

ืืจืืคืงืืคื™ืข ื“ื™ certbot ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ื˜ืขืงืข ืคึฟื•ืŸ ื“ื™ ืึธืคืคื™ื˜ืข:

cd ~
wget https://dl.eff.org/certbot-auto

ืžืึทืš ืกืขืจื˜ื‘ืึธื˜ ืฆื• /usr/local/bin/:

mv certbot-auto /usr/local/bin/certbot-auto

ืื•ืŸ ืœืึธื–ืŸ ืื•ื ื“ื– ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ื™ ืจืขื›ื˜ ื•ื•ื™ ื“ื™ ื‘ืึทื–ื™ืฆืขืจ ืฆื• ื•ื•ืึธืจืฆืœ:

chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

ืœืึธืžื™ืจ ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ืกืขืจื˜ื‘ืึธื˜ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืื•ืŸ ืื™ืŸ ื“ืขื ื‘ื™ื ืข ื™ื‘ืขืจืจื™ื™ึทืกืŸ ื–ื™ื™ึทืŸ ืึทืจื‘ืขื˜ (ืึทื ืกื•ื•ืขืจืก: ื™, C):

certbot-auto

ืœืึธืžื™ืจ ืืจืืคืงืืคื™ืข ื“ื™ ืึทืจืงื™ื™ื•ื• ืžื™ื˜ ื“ื™ ืœืขืฆื˜ืข ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹Drupal 9 ืคึฟื•ืŸ ื“ื™ ืึธืคืคื™ื˜ืข:

cd ~
wget https://www.drupal.org/download-latest/tar.gz

ื™ื ืกื˜ืึทืœื™ืจืŸ ื˜ืึทืจ ืฆื• ืึทื ืคึผืึทืง ื“ืขื ืึทืจืงื™ื™ื•ื•:

sudo dnf install tar -y

ื–ืืœ ืก ื•ื™ืกืžืขืงืŸ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื˜ืขืงืขืก ืื™ืŸ ื“ื™ /usr/share/nginx/html/ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ:

rm -rf /usr/share/nginx/html/*

ื–ืืœ ืก ืึทื ืคึผืึทืง ื“ื™ ื˜ืขืงืขืก ืื™ืŸ ื“ื™ ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ:

tar xf tar.gz -C /usr/share/nginx/html/

ื–ืืœ ืก ืžืึทืš ื“ื™ ื˜ืขืงืขืก ืคื•ืŸ ื“ื™ ืกื•ื‘ื“ื™ืจืขืงื˜ืึธืจื™ ืฆื• ื“ื™ ื•ื•ืึธืจืฆืœ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืคื•ืŸ ื“ื™ ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ:

mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/

ื–ืืœ ืก ื•ื™ืกืžืขืงืŸ ื“ื™ ืกื•ื‘ื“ื™ืจืขืงื˜ืึธืจื™:

rm -rf /usr/share/nginx/html/drupal-9.0.7

ื–ืืœ ืก ื•ื™ืกืžืขืงืŸ ื“ื™ ืึทืจืงื™ื™ื•ื• ืžื™ื˜ ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ื˜ืขืงืขืก:

rm -f ./tar.gz

ืœืึธืžื™ืจ ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ื™ ื‘ืึทื–ื™ืฆืขืจ ืคื•ืŸ ื“ื™ nginx ื˜ืขืงืขืก:

chown -R nginx. /usr/share/nginx/html

ืื™ืŸ ื“ืขื ื‘ื™ื ืข ืžื™ืจ ื•ื•ืขืœืŸ ืงืขืจ ืึทื•ื•ืขืง ื“ื™ ืกืขืจื•ื•ืขืจ ืื•ืŸ ื ืขืžืขืŸ ืึท ืžืึธืžืขื ื˜ื‘ื™ืœื“:

shutdown -h now

ื ืึธืš ืœืึธื ื˜ืฉื™ื ื’ ื“ื™ VDS ืคึฟื•ืŸ ื“ื™ ืžืึธืžืขื ื˜ื‘ื™ืœื“, ืžื™ืจ ื•ื•ืขืœืŸ ื“ื•ืจื›ืคื™ืจืŸ ื“ื™ ืขืจืฉื˜ ืกืขื˜ืึทืคึผ ืคื•ืŸ ื“ื™ MySQL ืกืขืจื•ื•ืขืจ ื“ื•ืจืš ืœื•ื™ืคืŸ ื“ื™ ืฉืจื™ืคื˜:

mysql_secure_installation

ื–ืืœ ืก ื’ืขื‘ืŸ ื“ื™ ืคึผืึทืจืึธืœ ื•ื•ืึทืœื™ื“ืึทื˜ืึธืจ:

Would you like to setup VALIDATE PASSWORD component? : y

ืœืึธืžื™ืจ ืฉื˜ืขืœืŸ ื“ื™ ืคึผืึทืจืึธืœ ืคึฟืึทืจ ื“ื™ MySQL ื•ื•ืึธืจืฆืœ ื‘ืึทื ื™ืฆืขืจ:

New password:
Re-enter new password:

ืœืืžื™ืจ ืืจืืคื ืขืžืขืŸ ืื ืื ื™ืžืข ื‘ืื ื•ืฆืขืจ:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y

ื–ืืœ ืก ืคืึทืจืžื™ื™ึทื“ืŸ ื•ื•ืึธืจืฆืœ ืคื•ืŸ ืงืึทื ืขืงื˜ื™ื ื’ ืจื™ืžืึธื•ื˜ืœื™:

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y

ืœืึธืžื™ืจ ื•ื™ืกืžืขืงืŸ ื“ื™ ืคึผืจืึธื‘ืข ื“ืึทื˜ืึทื‘ื™ื™ืก:

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y

ืœืึธืžื™ืจ ืจื™ืœืึธื•ื“ ื“ื™ ืคึผืจื™ื•ื•ื™ืœืขื’ื™ืข ื˜ื™ืฉืŸ:

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

ื ืึธืš ื“ืขื, ืฆื• ืคืึทืจืขื ื“ื™ืงืŸ ื“ื™ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’, ืžื™ืจ ืงืขื ืขืŸ ื’ื™ื™ืŸ ืฆื• vps_ip_address
ืื™ืŸ ื“ืขื ืึทื“ืจืขืก ืžื™ืจ ื•ื•ืขืœืŸ ื–ืขืŸ ื“ื™ ื“ืจื•ืคึผืึทืœ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ื‘ืœืึทื˜.

ืœืึธืžื™ืจ ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ื™ ืฉืคึผืจืึทืš ืฆื• ื ื•ืฆืŸ. ืœืžืฉืœ: ืจื•ืกื™ืฉ. ื“ืจื™ืงื˜ "ื”ื™ื˜ ืื•ืŸ ืคืึธืจื–ืขืฆืŸ"

ืœืึธืžื™ืจ ืกืขืœืขืงื˜ื™ืจืŸ ืึท ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ืคึผืจืึธืคื™ืœ (ื“ื™ ื“ืขืžืึธ ืื™ื– ื’ืขื ื™ืฆื˜ ื‘ืœื•ื™ื– ืฆื• ื‘ืึทืงืขื ืขืŸ ื–ื™ืš ืžื™ื˜ ื“ื™ ืกื™ืกื˜ืขื). ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ืœืึธื–ืŸ ืขืก ื–ื™ื™ืŸ "ื ืึธืจืžืึทืœ".

ืื•ื™ืฃ ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ื‘ืœืึทื˜ ืžื™ืจ ื’ืขื‘ืŸ ืึท ื ืึธืžืขืŸ ืฆื• ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก, ืœืžืฉืœ "ื“ืจื•ืคึผืึทืœ". ื–ืืœ ืก ืึธื ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ื‘ืึทื ื™ืฆืขืจ ื ืึธืžืขืŸ ื•ื•ืึธืจืฆืœ ืื•ืŸ ื“ื™ ืคึผืึทืจืึธืœ ื’ืขื’ืขื‘ืŸ ืฆื• ืื™ื ื•ื•ืขืŸ ืคืœื™ืกื ื“ื™ืง mysql_secure_installation. ื“ืจื™ืงื˜ "ื”ื™ื˜ ืื•ืŸ ืคืึธืจื–ืขืฆืŸ."

ืœืึธืžื™ืจ ื•ื•ืึทืจื˜ืŸ ื‘ื™ื– ื“ื™ ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ืื•ืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืคื•ืŸ ืื™ื‘ืขืจื–ืขืฆื•ื ื’ืขืŸ ืื™ื– ื’ืขืขื ื“ื™ืงื˜ (ื“ืขืจ ืคึผืจืึธืฆืขืก ืงืขืŸ ื ืขืžืขืŸ ืขื˜ืœืขื›ืข ืžื™ื ื•ื˜).

ืžื™ืจ ื•ื•ืขืœืŸ ืึธื ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ืขื ืคึผืœืึทืฅ, ืฉื˜ืขืœืŸ ื“ื™ ืคึผืœืึทืฅ E- ื‘ืจื™ื•ื• (ืื•ื™ืฃ ื‘ื™ื›ืึทืฃ ืคื•ืŸ ื•ื•ืึธืก ืคึผืœืึทืฅ ื ืึธื•ื˜ืึทืคืึทืงื™ื™ืฉืึทื ื– ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืฉื™ืงื˜), ืœืึธื’ื™ืŸ, ืคึผืึทืจืึธืœ ืื•ืŸ E- ื‘ืจื™ื•ื• ืคื•ืŸ ื“ื™ ื“ืจื•ืคึผืึทืœ ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ ื—ืฉื‘ื•ืŸ. ืžื™ืจ ื•ื•ืขืœืŸ ืื•ื™ืš ืฉื˜ืขืœืŸ ื“ื™ ืžื“ื™ื ื” ืื•ืŸ ืฆื™ื™ื˜ ื–ืึธื ืข ืื™ืŸ ื“ื™ ืจืขื’ื™ืึธื ืึทืœ ืกืขื˜ื˜ื™ื ื’ืก. ืื•ืŸ ืคืึทืจืขื ื“ื™ืงืŸ ื“ื™ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ื“ื•ืจืš ื’ืขื‘ืŸ ืึท ืงืœื™ืง "ื”ื™ื˜ ืื•ืŸ ืคืึธืจื–ืขืฆืŸ".

ื ืึธืš ื“ืขื, ืื™ืจ ืงืขื ืขืŸ ื’ื™ื™ืŸ ืฆื• ื“ื™ ืงืึธื ื˜ืจืึธืœ ื˜ืึทืคืœื™ืข ืžื™ื˜ ื“ื™ ื‘ืืฉืืคืŸ ื“ืจื•ืคึผืึทืœ ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ ืœืึธื’ื™ืŸ ืื•ืŸ ืคึผืึทืจืึธืœ.

ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ HTTPS (ืึทืคึผืฉืึทื ืึทืœ)

ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ื”ื˜ื˜ืคึผืก, ื“ื™ VDS ืžื•ื–ืŸ ื”ืึธื‘ืŸ ืึท ื’ื™ืœื˜ื™ืง ื“ื ืก ื ืึธืžืขืŸ, ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืื™ืŸ

/etc/nginx/nginx.conf

ืื™ืŸ ื“ื™ ืกืขืจื•ื•ืขืจ ืึธืคึผื˜ื™ื™ืœื•ื ื’ ื“ื™ ืกืขืจื•ื•ืขืจ ื ืึธืžืขืŸ (ืœืžืฉืœ):

server_name  domainname.ru;

ืœืึธืžื™ืจ ืจื™ืกื˜ืึทืจื˜ nginx:

service nginx restart

ืœืึธืžื™ืจ ืึธื ื”ื™ื™ื‘ืŸ certbot:

sudo /usr/local/bin/certbot-auto --nginx

ืึทืจื™ื™ึทืŸ ื“ื™ื™ืŸ E- ืคึผืึธืกื˜, ืฉื˜ื™ืžืขืŸ ืฆื• ื“ื™ ื˜ืขืจืžื™ื ืขืŸ ืคื•ืŸ ื“ื™ื ืกื˜ (ื), ืึทื‘ืึธื ื™ืจืŸ ืฆื• ื“ื™ ื ื•ื–ืœืขื˜ืขืจ (ืึทืคึผืฉืึทื ืึทืœ) (N), ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ื™ ืคืขืœื“ ื ืขืžืขืŸ ืคึฟืึทืจ ื•ื•ืึธืก ืื™ืจ ื•ื•ื™ืœืŸ ืฆื• ืึทืจื•ื™ืกื’ืขื‘ืŸ ืึท ื‘ืึทื•ื•ื™ื™ึทื–ืŸ (ืึทืจื™ื™ึทืŸ ืคึฟืึทืจ ืึทืœืขืžืขืŸ).

ืื•ื™ื‘ ืึทืœืฅ ืื™ื– ื’ืขื•ื•ืขืŸ ืึธืŸ ืขืจืจืึธืจืก, ืžื™ืจ ื•ื•ืขืœืŸ ื–ืขืŸ ืึท ืึธื ื–ืึธื’ ื•ื•ืขื’ืŸ ื“ื™ ื’ืขืจืึธื˜ืŸ ื™ืฉื•ืึทื ืก ืคื•ืŸ ืกืขืจื˜ื™ืคื™ืงืึทืฅ ืื•ืŸ ืกืขืจื•ื•ืขืจ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ:

Congratulations! You have successfully enabled ...

ื ืึธืš ื“ืขื, ืงืึทื ืขืงืฉืึทื ื– ืฆื• ืคึผืึธืจื˜ 80 ื•ื•ืขื˜ ื–ื™ื™ืŸ ืจื™ื“ืขืจืขืงื˜ื™ื“ ืฆื• 443 (https).

ืœื™ื™ื’ ืฆื• /etc/crontab ืฆื• ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืกืขืจื˜ื™ืคื™ืงืึทืฅ:

# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"

ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ Trusted Host Security (ืจืขืงืึทืžืขื ื“ื™ื“)

ื“ื™ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืื™ื– ื‘ื“ืขื” ื•ื•ื™ ืึท ืœื™ื™ื–ื•ื ื’ ืฆื• ื“ืขื ืคึผืจืึธื‘ืœืขื ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ื“ื™ื ืึทืžื™ืฉ ื‘ืึทื–ืข_ื•ืจืœ ืคืขืกื˜ืงื™ื™ึทื˜, ืื•ืŸ ืื™ื– ื“ื™ื–ื™ื™ื ื“ ืฆื• ืคืึทืจืžื™ื™ึทื“ืŸ HTTP HOST ื›ืขื“ืขืจ ืื ืคืืœืŸ (ื•ื•ืขืŸ ื“ื™ื™ืŸ ืคึผืœืึทืฅ ืžื™ื™ื ื˜ ืึทื– ืขืก ืื™ื– ืขืžืขืฆืขืจ ืึทื ื“ืขืจืฉ).

ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื˜ืจืึทืกื˜ื™ื“ ืคืขืœื“ ื ืขืžืขืŸ ืคึฟืึทืจ ื“ื™ ืคึผืœืึทืฅ ืื™ืŸ ื“ื™ ืกืขื˜ื˜ื™ื ื’ืก ื˜ืขืงืข.

ืื™ืŸ ื˜ืขืงืข

/usr/share/nginx/html/sites/default/settings.php ืœืึธื–ืŸ ืื•ื ื“ื– ืึธืคึผืฉืึทืฆืŸ ืึธื“ืขืจ ืœื™ื™ื’ืŸ ืึท ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืžื™ื˜ ืคึผืึทื˜ืขืจื ื– ืคื•ืŸ ืคืึทืงื˜ื™ืฉ ืคึผืœืึทืฅ ื ืขืžืขืŸ, ืœืžืฉืœ:

$settings['trusted_host_patterns'] = [
  '^www.mydomain.ru$',
];

ื™ื ืกื˜ืึธืœื™ื ื’ PHP APCu (ืจืขืงืึทืžืขื ื“ื™ื“)

ื“ืจื•ืคึผืึทืœ ืฉื˜ื™ืฆื˜ APCu - ืึทืœื˜ืขืจื ืึทื˜ื™ื•ื•ืข PHP User Cache, ื•ื•ืขืจืกื™ืขืก 8 ืื•ืŸ 9 ืžืึทื›ืŸ ืึท ื’ืจืขืกืขืจืข ื ื•ืฆืŸ ืคื•ืŸ APCu ื•ื•ื™ ืึท ืงื•ืจืฅ-ื˜ืขืจืžื™ืŸ ื”ื™ื’ืข ืงืึทืฉ ื•ื•ื™ ืคืจื™ืขืจื“ื™ืงืข ื•ื•ืขืจืกื™ืขืก. ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืงืึทืฉ ื’ืจื™ื™ืก (32 ืžืขื’ืื‘ื™ื™ื˜ืŸ) ืื™ื– ืคึผืึทืกื™ืง ืคึฟืึทืจ ืจื•ื‘ึฟ ื–ื™ื™ื˜ืœืขืš ืื•ืŸ ืงืขื ืขืŸ ื ื™ืฉื˜ ื™ืงืกื™ื“ 512 ืžืขื’ืื‘ื™ื™ื˜ืŸ.

ืฆื• ืึทืงื˜ืึทื•ื•ื™ื™ื˜, ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ PHP APCu ืžืึธื“ื•ืœืข:

dnf -y install php-pecl-apcu

ืจื™ืกื˜ืึทืจื˜ nginx ืื•ืŸ php-fpm:

service nginx restart
service php-fpm restart

ืื•ื™ื‘ ืื™ืจ ื ื•ืฆืŸ ื“ื™ ืจื•ืกื™ืฉืข ืฉืคึผืจืึทืš ืื•ืŸ APCu ืžื™ื˜ ื“ื™ ืจืขืงืึทืžืขื ื“ื™ื“ ื–ื™ืงืึธืจืŸ ื’ืจื™ื™ืก ืคึฟืึทืจ ื“ื™ ืงืึทืฉ, ืื™ืจ ืงืขืŸ ื–ืขืŸ ืึท ื•ื•ืืจืขื ื•ื ื’ ืื™ืŸ ื“ื™ ืงืึธื ื˜ืจืึธืœ ื˜ืึทืคืœื™ืข ืึทื– ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ ื“ื™ ืึทืœืึทืงื™ื™ื˜ื™ื“ ื–ื›ึผืจื•ืŸ ืคึฟืึทืจ ื“ื™ ืงืึทืฉ ืื™ื– ืึทื ื“ืขืจืฉ ืคื•ืŸ ื“ื™ ืจืขืงืึทืžืขื ื“ื™ื“, ืึธื‘ืขืจ ืื™ืŸ ืคืึทืงื˜ ืึทืœืฅ ืึทืจื‘ืขื˜ ืจื™ื›ื˜ื™ืง, ืื•ืŸ ื“ื™ ืื•ืžืจืขื›ื˜ ื•ื•ืืจืขื ื•ื ื’ ื•ื•ืขื˜ ืจื•ื‘ึฟ ืžืกืชึผืžื ื–ื™ื™ืŸ ืงืขืจืขืงื˜ืึทื“ ืื™ืŸ ื“ื™ ื•ื•ื™ื™ึทื˜ืขืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ.

ืึธื“ืขืจ ืื•ื™ื‘ ื“ื™ ื•ื•ืืจืขื ื•ื ื’ ื›ืขืจืฅ ื“ื™ื™ืŸ ืื•ื™ื’ืŸ, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ืœืึทื˜ืข ืคึฟื•ืŸ ืึธืคืกื™ื˜ืข.

ืžื™ืจ ื•ื•ืึธืœื˜ ื•ื•ื™ ืฆื• ื“ืขืจืžืึธื ืขืŸ ืื™ืจ ืึทื– ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ืžืึทื›ืŸ ืึท ื‘ื™ืœื“ ืคึฟืึทืจ ืื•ื ื“ื–

ืขืก ื–ืขื ืขืŸ ื“ืจื™ื™ ืึธืคึผืฆื™ืขืก ืคึฟืึทืจ ื•ื•ื™ ืฆื• ืึธื ื˜ื™ื™ืœ ื ืขืžืขืŸ.

ืฆื•ื’ืจื™ื™ื˜ืŸ ื“ื™ ื‘ื™ืœื“ ื–ื™ืš ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ 3000 ืจื•ื‘ืœ ืฆื• ื“ื™ื™ืŸ ื•ื•ืึธื’

ืื•ื™ื‘ ืื™ืจ ื–ืขื ื˜ ื’ืจื™ื™ื˜ ืฆื• ืžื™ื“ ืงืึทืžื™ืฉ ืื™ืŸ ืฉืœืึทื›ื˜ ืื•ืŸ ืžืึทื›ืŸ ื“ื™ ื‘ื™ืœื“ ื•ื•ืึธืก ืื™ืจ ืคืขืœืŸ ื–ื™ืš, ืžื™ืจ ื•ื•ืขืœืŸ ืงืจืขื“ื™ื˜ ืื™ืจ ืžื™ื˜ 3000 ืจื•ื‘ืœ ืฆื• ื“ื™ื™ืŸ ื™ื ืขืจืœืขืš ื•ื•ืึธื’ - ืื™ืจ ืงืขื ืขืŸ ืคืึทืจื‘ืจืขื ื’ืขืŸ ืขืก ืื•ื™ืฃ ืกืขืจื•ื•ืขืจืก.

ื•ื•ื™ ืฆื• ืฉืึทืคึฟืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื‘ื™ืœื“:

  1. ืฉืึทืคึฟืŸ ืึท ื—ืฉื‘ื•ืŸ ืžื™ื˜ ืื•ื ื“ื– ืื•ื™ืฃ ืึธื ืœื™ื™ืŸ
  2. ืœืึธื–ืŸ ืฉื˜ื™ืฆืŸ ื•ื•ื™ืกืŸ ืึทื– ืื™ืจ ื•ื•ืขื˜ ืžืึทื›ืŸ ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ื‘ื™ืœื“ืขืจ
  3. ืžื™ืจ ื•ื•ืขืœืŸ ืงืจืขื“ื™ื˜ ืื™ืจ 3000 ืจื•ื‘ืœ ืื•ืŸ ื’ืขื‘ืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืฉืึทืคึฟืŸ ืกื ืึทืคึผืฉืึทืฅ
  4. ืกื“ืจ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืกืขืจื•ื•ืขืจ ืžื™ื˜ ืึท ืจื™ื™ืŸ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื
  5. ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืื•ื™ืฃ ื“ืขื VPS ืื•ืŸ ืฉื˜ืขืœืŸ ืขืก ืึทืจื•ื™ืฃ
  6. ืฉืจื™ื™ื‘ ื™ื ืกื˜ืจืึทืงืฉืึทื ื– ืึธื“ืขืจ ืฉืจื™ืคื˜ ืคึฟืึทืจ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜
  7. ืฉืึทืคึฟืŸ ืึท ืžืึธืžืขื ื˜ื‘ื™ืœื“ ืคึฟืึทืจ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื“ ืกืขืจื•ื•ืขืจ
  8. ืกื“ืจ ืึท ื ื™ื™ึท ื•ื•ื™ืจื˜ื•ืึทืœ ืกืขืจื•ื•ืขืจ ื“ื•ืจืš ืกืขืœืขืงื˜ื™ืจืŸ ื“ืขื ืคืจื™ืขืจ ื‘ืืฉืืคืŸ ืžืึธืžืขื ื˜ื‘ื™ืœื“ ืื™ืŸ ื“ื™ "ืกืขืจื•ื•ื™ืจืขืจ ืžื•ืกื˜ืขืจ" ืคืึทืœืŸ-ืึทืจืึธืคึผ ืจืฉื™ืžื”
  9. ืื•ื™ื‘ ื“ืขืจ ืกืขืจื•ื•ืขืจ ืื™ื– ื”ืฆืœื—ื” ื‘ืืฉืืคืŸ, ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ื™ ืžืึทื˜ืขืจื™ืึทืœืก ื‘ืืงื•ืžืขืŸ ืื™ืŸ ื‘ื™ื ืข 6 ืฆื• ื˜ืขื›ื ื™ืฉ ืฉื˜ื™ืฆืŸ
  10. ืื™ืŸ ืคืึทืœ ืคื•ืŸ ืึท ื˜ืขื•ืช, ืื™ืจ ืงืขื ืขืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืžื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ืกื™ื‘ื” ืื•ืŸ ืื™ื‘ืขืจื—ื–ืจืŸ ื“ื™ ืกืขื˜ืึทืคึผ

ืคึฟืึทืจ ื’ืขืฉืขืคื˜ ืึธื•ื ืขืจื–: ืคืึธืจืฉืœืึธื’ืŸ ื“ื™ื™ืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’

ืื•ื™ื‘ ืื™ืจ ื–ืขื ื˜ ืึท ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ื•ื•ืึธืก ืื™ื– ื“ื™ืคึผืœื•ื™ื“ ืื•ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื•ื™ืฃ VPS, ืžื™ืจ ืงืขื ืขืŸ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืื™ืจ ืื™ืŸ ื“ื™ ืžืึทืจืง. ื“ืึธืก ืื™ื– ื•ื•ื™ ืžื™ืจ ืงืขื ืขืŸ ื”ืขืœืคึฟืŸ ืื™ืจ ื‘ืจืขื ื’ืขืŸ ื ื™ื™ึทืข ืงืึทืกื˜ืึทืžืขืจื–, ืคืึทืจืงืขืจ ืื•ืŸ ื•ื•ื™ืกื™ืงื™ื™ึทื˜. ืฉืจื™ื™ื‘ ืื•ื ื“ื–

ื“ืขืจืฆื™ื™ืœืŸ ืื•ื ื“ื– ืื™ืŸ ื“ื™ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ ื•ื•ืึธืก ื‘ื™ืœื“ ืื™ืจ ืคืขืœื ื“ื™ืง?

ืื•ืŸ ืžื™ืจ ื•ื•ืขืœืŸ ืขืก ื–ื™ืš ืฆื•ื’ืจื™ื™ื˜ืŸ

ืฉืึทืคึฟืŸ ืึท VPS ืžื•ืกื˜ืขืจ ืžื™ื˜ Drupal 9 ืื•ื™ืฃ Centos 8

ืฉืึทืคึฟืŸ ืึท VPS ืžื•ืกื˜ืขืจ ืžื™ื˜ Drupal 9 ืื•ื™ืฃ Centos 8

ืžืงื•ืจ: www.habr.com