Centos 9 เชชเชฐ Drupal 8 เชธเชพเชฅเซ‡ VPS เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชฌเชจเชพเชตเชตเซเช‚

เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เชฎเชพเชฐเซเช•เซ‡เชŸเชชเซเชฒเซ‡เชธเชจเซ‡ เชตเชฟเชธเซเชคเชพเชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซ€เช เช›เซ€เช. เช…เชฎเซ‡ เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€ เช—เชฟเชŸเชฒเซ‡เชฌ เช‡เชฎเซ‡เชœ เชฌเชจเชพเชตเซ€, เช…เชจเซ‡ เช† เช…เช เชตเชพเชกเชฟเชฏเซ‡ Drupal เช…เชฎเชพเชฐเชพ เชฎเชพเชฐเซเช•เซ‡เชŸเชชเซเชฒเซ‡เชธเชฎเชพเช‚ เชฆเซ‡เช–เชพเชฏเซเช‚.

เช…เชฎเซ‡ เช•เชนเซ€เช เช›เซ€เช เช•เซ‡ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซเชฏเซเช‚ เช…เชจเซ‡ เช›เชฌเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€.

Centos 9 เชชเชฐ Drupal 8 เชธเชพเชฅเซ‡ VPS เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชฌเชจเชพเชตเชตเซเช‚

เชกเซเชฐเซ‚เชชเชฒ เช•เซ‹เชˆเชชเชฃ เชชเซเชฐเช•เชพเชฐเชจเซ€ เชธเชพเช‡เชŸเซเชธ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เช…เชจเซเช•เซ‚เชณ เช…เชจเซ‡ เชถเช•เซเชคเชฟเชถเชพเชณเซ€ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เช›เซ‡: เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชพเช‡เชŸเซเชธ เช…เชจเซ‡ เชฌเซเชฒเซ‹เช—เซเชธเชฅเซ€ เชฒเชˆเชจเซ‡ เชฎเซ‹เชŸเชพ เชธเชพเชฎเชพเชœเชฟเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชธเซเชงเซ€, เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชตเซ‡เชฌ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฎเชพเชŸเซ‡เชจเชพ เช†เชงเชพเชฐ เชคเชฐเซ€เช•เซ‡ เชชเชฃ เชฅเชพเชฏ เช›เซ‡, PHP เชฎเชพเช‚ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชคเชฐเซ€เช•เซ‡ เชฐเชฟเชฒเซ‡เชถเชจเชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡.

Drupal 9 เชฎเชพเช‚ เชตเชฐเซเชเชจ 8.9 เชฎเชพเช‚ เชฐเชœเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชคเชฎเชพเชฎ เชธเซเชตเชฟเชงเชพเช“เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. เชธเช‚เชธเซเช•เชฐเชฃ 9 เช…เชจเซ‡ เชธเช‚เชธเซเช•เชฐเชฃ 8 เชตเชšเซเชšเซ‡เชจเซ‹ เชฎเซเช–เซเชฏ เชคเชซเชพเชตเชค เช เช›เซ‡ เช•เซ‡ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชจเชตเซ‡เชฎเซเชฌเชฐ 2021 เชชเช›เซ€ เช…เชชเชกเซ‡เชŸเซเชธ เช…เชจเซ‡ เชธเซเชฐเช•เซเชทเชพ เชธเซเชงเชพเชฐเชพเช“ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เชถเซ‡. เชธเช‚เชธเซเช•เชฐเชฃ 9 เชฎเชพเช‚ เชชเชฃ, เช…เชชเช—เซเชฐเซ‡เชก เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡, เชœเซ‡ เช†เชตเซƒเชคเซเชคเชฟ 8 เชฅเซ€ เช…เชชเช—เซเชฐเซ‡เชก เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชตเชงเซ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡.

เชธเชฐเซเชตเชฐ เชœเชฐเซ‚เชฐเซ€เชฏเชพเชคเซ‹

Drupal เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, 2 GB RAM เช…เชจเซ‡ 2 CPU เช•เซ‹เชฐเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชฎเซเช–เซเชฏ Drupal เชซเชพเช‡เชฒเซ‹ เชฒเช—เชญเช— 100 MB เช›เซ‡, เชตเชงเซเชฎเชพเช‚ เชคเชฎเชจเซ‡ เช›เชฌเซ€เช“, เชกเซ‡เชŸเชพเชฌเซ‡เช, เชฅเซ€เชฎเซเชธ, เชเชก-เช“เชจ เช…เชจเซ‡ เชฌเซ‡เช•เช…เชชเซเชธ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเช—เซเชฏเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡, เชœเซ‡ เชคเชฎเชพเชฐเซ€ เชธเชพเช‡เชŸเชจเชพ เช•เชฆ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชนเชถเซ‡.

Drupal 9 เชจเซ‡ เชจเซเชฏเซ‚เชจเชคเชฎ เชฎเชฐเซเชฏเชพเชฆเชพ เชธเชพเชฅเซ‡ PHP 7.4 เช…เชฅเชตเชพ เช‰เชšเซเชšเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ (memory_limit) เชฅเซ€ 64 MB เชฎเซ‡เชฎเชฐเซ€, เชตเชงเชพเชฐเชพเชจเชพ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, 128 MB เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

Drupal เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ เชคเชฐเซ€เช•เซ‡ Apache เช…เชฅเชตเชพ Nginx เช…เชจเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เชคเชฐเซ€เช•เซ‡ MySQL, PostgreSQL เช…เชฅเชตเชพ SQLite เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เช…เชฎเซ‡ Nginx เช…เชจเซ‡ MySQL เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Drupal เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€เชถเซเช‚.

เชธเซเชฅเชพเชชเชจ

เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒเชพ เชชเซ‡เช•เซ‡เชœเซ‹เชจเซ‡ เชจเชตเซ€เชจเชคเชฎ เชธเช‚เชธเซเช•เชฐเชฃ เชชเชฐ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ‹:

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

PHP 7.2 เชนเชพเชฒเชฎเชพเช‚ เชฎเซเช–เซเชฏ เชธเซ‡เชจเซเชŸเซ‹เชธ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเซเช‚ เชนเซ‹เชตเชพเชฅเซ€, เชšเชพเชฒเซ‹ PHP 7.4 (Drupal 9 เชฎเชพเชŸเซ‡ เชจเซเชฏเซ‚เชจเชคเชฎ เชธเช‚เชธเซเช•เชฐเชฃ) เชธเชพเชฅเซ‡ REMI เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€ เช‰เชฎเซ‡เชฐเซ€เช.
เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, 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 7.4 เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ php:remi-7.4 เชฎเซ‹เชกเซเชฏเซเชฒเชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเซ‹:

sudo dnf module enable php:remi-7.4 -y

php-fpm เช…เชจเซ‡ php-cli เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹:

sudo dnf install -y php-fpm php-cli

Drupal เชจเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ 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 เชฎเชพเชŸเซ‡ เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชฌเชจเชพเชตเซ€ เชฐเชนเซเชฏเชพ เชนเซ‹เชตเชพเชฅเซ€, เช…เชจเซ‡ เชคเซ‡ เชงเซ€เชฎเซเช‚ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เช…เชฎเซ‡ 30 เชธเซ‡เช•เชจเซเชกเชจเซ‹ mysqld เชชเซเชฐเชพเชฐเช‚เชญ เชตเชฟเชฒเช‚เชฌ เช‰เชฎเซ‡เชฐเซ€เชถเซเช‚, เช…เชจเซเชฏเชฅเชพ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชธเชฟเชธเซเชŸเชฎ เชฌเซ‚เชŸ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชธเชฐเซเชตเชฐ เชถเชฐเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพเช“ เช†เชตเซ€ เชถเช•เซ‡ เช›เซ‡:

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

เชšเชพเชฒเซ‹ /etc/php-fpm.d/www.conf เชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช•เชฐเซ€เชจเซ‡ เช—เซเชฐเซ‚เชช เช…เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชฌเชฆเชฒเซ€เช เช•เซ‡ เชœเซ‡เชจเชพ เชนเซ‡เช เชณ nginx เชšเชพเชฒเชถเซ‡:

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 เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒเชฎเชพเช‚เชฅเซ€ เชŸเชฟเชชเซเชชเชฃเซ€ เชฐเซ‡เช–เชพเช“ เชฆเซ‚เชฐ เช•เชฐเซ€เช (เชœเซ‡เชฅเซ€ sed เชฎเชพเชŸเซ‡ เช•เซ‹เชˆ เชกเชฌเชฒ เชนเชฟเชŸ เชจ เชนเซ‹เชฏ):

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

/etc/nginx/nginx.conf เชฎเชพเช‚ gzip เช•เชฎเซเชชเซเชฐเซ‡เชถเชจ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เช‰เชฎเซ‡เชฐเซ‹

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

เชšเชพเชฒเซ‹ php-fpm เชธเซ‹เช•เซ‡เชŸ เชฆเซเชตเชพเชฐเชพ เชกเชฟเชซเซ‹เชฒเซเชŸ เชธเชฐเซเชตเชฐ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— php เชฎเชพเชŸเซ‡ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เช‰เชฎเซ‡เชฐเซ€เช, เชธเซเชฅเชฟเชฐ เชซเชพเช‡เชฒเซ‹ เชฎเชพเชŸเซ‡ เชฒเซ‹เช—เชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเซ€เช, เชธเชฎเชพเชชเซเชคเชฟ เชธเชฎเชฏ เชตเชงเชพเชฐเชตเซ‹, 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

certbot เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ wget เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹:

sudo dnf install wget -y

เช‘เชซเชธเชพเช‡เชŸ เชชเชฐเชฅเซ€ certbot เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‹:

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

certbot เชจเซ‡ /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

certbot เชจเซ€ เชจเชฟเชฐเซเชญเชฐเชคเชพเชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช† เชคเชฌเช•เซเช•เซ‡ เชฐเซ‹เช•เซ‹ (เชœเชตเชพเชฌเซ‹: Y, 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_เชธเชฐเชจเชพเชฎเซเช‚
เช† เชเชกเซเชฐเซ‡เชธ เชชเชฐ เช†เชชเชฃเซ‡ Drupal เชจเชพ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชธเชพเชฅเซ‡เชจเซเช‚ เชชเซ‡เชœ เชœเซ‹เชถเซเช‚.

เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเซ€ เชญเชพเชทเชพ เชชเชธเช‚เชฆ เช•เชฐเซ‹. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡: เชฐเชถเชฟเชฏเชจ. "เชธเชพเชšเชตเซ‹ เช…เชจเซ‡ เชšเชพเชฒเซ เชฐเชพเช–เซ‹" เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเซ‹

เชšเชพเชฒเซ‹ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชชเซเชฐเซ‹เชซเชพเช‡เชฒ เชชเชธเช‚เชฆ เช•เชฐเซ€เช (เชกเซ‡เชฎเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชซเช•เซเชค เชธเชฟเชธเซเชŸเชฎ เชธเชพเชฅเซ‡ เชชเชฐเชฟเชšเชฟเชค เชฅเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡). เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเซ‡เชจเซ‡ "เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค" เชฅเชตเชพ เชฆเซ‹.

เช†เช—เชฒเชพ เชชเซƒเชทเซเช  เชชเชฐ, เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เชเช• เชจเชพเชฎ เช†เชชเซ‹, เชœเซ‡เชฎ เช•เซ‡ "เชกเซเชฐเซเชชเชฒ". mysql_secure_installation เชถเชฐเซ‚ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเชพเชฎ เชฐเซเชŸ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชชเชพเชธเชตเชฐเซเชกเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ‹. "เชธเชพเชšเชตเซ‹ เช…เชจเซ‡ เชšเชพเชฒเซ เชฐเชพเช–เซ‹" เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเซ‹.

เชšเชพเชฒเซ‹ เช…เชจเซเชตเชพเชฆเชจเชพ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เช…เชจเซ‡ เช…เชชเชกเซ‡เชŸ เชชเซ‚เชฐเซเชฃ เชฅเชตเชพเชจเซ€ เชฐเชพเชน เชœเซ‹เชˆเช (เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชฅเซ‹เชกเซ€ เชฎเชฟเชจเชฟเชŸเซ‹ เชฒเชพเช—เซ€ เชถเช•เซ‡ เช›เซ‡).

เชธเชพเชˆเชŸเชจเซเช‚ เชจเชพเชฎ เชธเซเชชเชทเซเชŸ เช•เชฐเซ‹, เชธเชพเชˆเชŸเชจเซ‹ เชˆเชฎเซ‡เชˆเชฒ เชธเซ‡เชŸ เช•เชฐเซ‹ (เช•เซ‹เชˆ เชธเชพเชˆเชŸ เชตเชคเซ€ เชธเซ‚เชšเชจเชพเช“ เช†เชตเชถเซ‡), เชฒเซ‹เช—เซ€เชจ, เชชเชพเชธเชตเชฐเซเชก เช…เชจเซ‡ Drupal เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐ เชเช•เชพเช‰เชจเซเชŸเชจเซ‹ เชˆเชฎเซ‡เชฒ. เช…เชฎเซ‡ เชชเซเชฐเชพเชฆเซ‡เชถเชฟเช• เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชฎเชพเช‚ เชฆเซ‡เชถ เช…เชจเซ‡ เชธเชฎเชฏ เชเซ‹เชจ เชชเชฃ เชธเซ‡เชŸ เช•เชฐเซ€เชถเซเช‚. เช…เชจเซ‡ "เชธเชพเชšเชตเซ‹ เช…เชจเซ‡ เชšเชพเชฒเซ เชฐเชพเช–เซ‹" เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเซ€เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชชเซ‚เชฐเซเชฃ เช•เชฐเซ‹.

เชคเซ‡ เชชเช›เซ€, เชคเชฎเซ‡ เชฌเชจเชพเชตเซ‡เชฒ Drupal เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐ เชฒเซ‹เช—เชฟเชจ เช…เชจเซ‡ เชชเชพเชธเชตเชฐเซเชก เชธเชพเชฅเซ‡ เช•เช‚เชŸเซเชฐเซ‹เชฒ เชชเซ‡เชจเชฒ เชชเชฐ เชœเชˆ เชถเช•เซ‹ เช›เซ‹.

HTTPS เชธเซ‡เชŸเชฟเช‚เช— (เชตเซˆเช•เชฒเซเชชเชฟเช•)

HTTPS เชจเซ‡ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡, VDS เชชเชพเชธเซ‡ เชฎเชพเชจเซเชฏ DNS เชจเชพเชฎ เชนเซ‹เชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡, เชคเซ‡เชฎเชพเช‚ เชธเซเชชเชทเซเชŸ เช•เชฐเซ‹

/etc/nginx/nginx.conf

เชธเชฐเซเชตเชฐ เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชธเชฐเซเชตเชฐ เชจเชพเชฎ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡):

server_name  domainname.ru;

nginx เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเซ‹:

service nginx restart

เชšเชพเชฒเซ‹ certbot เชถเชฐเซ‚ เช•เชฐเซ€เช:

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

เชคเชฎเชพเชฐเซ‹ เชˆ-เชฎเซ‡เชฒ เชฆเชพเช–เชฒ เช•เชฐเซ‹, เชธเซ‡เชตเชพเชจเซ€ เชถเชฐเชคเซ‹ (A) เชฅเซ€ เชธเช‚เชฎเชค เชฅเชพเช“, เชจเซเชฏเซ‚เชเชฒเซ‡เชŸเชฐ เชชเชฐ เชธเชฌเซเชธเซเช•เซเชฐเชพเช‡เชฌ เช•เชฐเซ‹ (เชตเซˆเช•เชฒเซเชชเชฟเช•) (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"

เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชฏเชœเชฎเชพเชจ เชธเซเชฐเช•เซเชทเชพ เชธเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ (เชญเชฒเชพเชฎเชฃ เช•เชฐเซ‡เชฒ)

เช† เชธเซ‡เชŸเชฟเช‚เช— เชกเชพเชฏเชจเซ‡เชฎเชฟเช• base_url เชถเซ‹เชงเชจเซ€ เชธเชฎเชธเซเชฏเชพเชจเชพ เช‰เช•เซ‡เชฒ เชคเชฐเซ€เช•เซ‡ เชฌเชจเชพเชตเชพเชฏเซ‡เชฒ เช›เซ‡, เช…เชจเซ‡ HTTP HOST เชนเซ‡เชกเชฐ เชนเซเชฎเชฒเชพเชจเซ‡ เชฐเซ‹เช•เชตเชพ เชฎเชพเชŸเซ‡ เชฌเชจเชพเชตเชพเชฏเซ‡เชฒ เช›เซ‡ (เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ€ เชธเชพเช‡เชŸเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡ เช•เซ‹เชˆ เช…เชจเซเชฏ เช›เซ‡).

เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชซเชพเช‡เชฒเชฎเชพเช‚ เชธเชพเช‡เชŸเชจเชพ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชกเซ‹เชฎเซ‡เชจ เชจเชพเชฎเซ‹เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชซเชพเชˆเชฒเชฎเชพเช‚

/usr/share/nginx/html/sites/default/settings.php เช…เชธเชฒ เชธเชพเชˆเชŸเชจเชพ เชจเชพเชฎเซ‹เชจเซ€ เชชเซ‡เชŸเชฐเซเชจ เชธเชพเชฅเซ‡ เช…เชจเช•เซ‹เชฎเซ‡เชจเซเชŸ เช•เชฐเซ‹ เช…เชฅเชตเชพ เชธเซ‡เชŸเชฟเช‚เช— เช‰เชฎเซ‡เชฐเซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡:

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

PHP APCu เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ (เชญเชฒเชพเชฎเชฃ เช•เชฐเซ‡เชฒ)

Drupal APCu เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡ - เชตเซˆเช•เชฒเซเชชเชฟเช• PHP เชฏเซเชเชฐ เช•เซ‡เชถ, เชตเชฐเซเชเชจ 8 เช…เชจเซ‡ 9 เชเชชเซ€เชธเซ€เชฏเซเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เช—เชพเช‰เชจเชพ เชตเชฐเซเชเชจ เช•เชฐเชคเชพเช‚ เชŸเซ‚เช‚เช•เชพ เช—เชพเชณเชพเชจเชพ เชธเซเชฅเชพเชจเชฟเช• เช•เซ‡เชถ เชคเชฐเซ€เช•เซ‡ เชตเชงเซ เชธเช˜เชจ เชฐเซ€เชคเซ‡ เช•เชฐเซ‡ เช›เซ‡. เชกเชฟเชซเซ‰เชฒเซเชŸ เช•เซ‡เชถ เช•เชฆ (32 MB) เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชธเชพเช‡เชŸเซเชธเชจเซ‡ เช…เชจเซเช•เซ‚เชณ เชฐเชนเซ‡เชถเซ‡, เช…เชจเซ‡ เชคเซ‡ 512 MB เช•เชฐเชคเชพเช‚ เชตเชงเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€.

เชธเช•เซเชฐเชฟเชฏ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, 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 เชชเชฐ เชœเชฎเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฏ เช›เซ‡, เชคเซ‹ เช…เชฎเซ‡ เชคเชฎเชจเซ‡ เชฎเชพเชฐเซเช•เซ‡เชŸเชชเซเชฒเซ‡เชธเชฎเชพเช‚ เชธเชพเชฎเซ‡เชฒ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช. เช† เชฐเซ€เชคเซ‡ เช…เชฎเซ‡ เชคเชฎเชจเซ‡ เชจเชตเชพ เช—เซเชฐเชพเชนเช•เซ‹, เชŸเซเชฐเชพเชซเชฟเช• เช…เชจเซ‡ เชฆเซƒเชถเซเชฏเชคเชพ เชฒเชพเชตเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช. เช…เชฎเชจเซ‡ เชฒเช–เซ‹

เช…เชฎเชจเซ‡ เชŸเชฟเชชเซเชชเชฃเซ€เช“เชฎเชพเช‚ เชœเชฃเชพเชตเซ‹ เช•เซ‡ เชคเชฎเซ‡ เช•เชˆ เช›เชฌเซ€ เชšเซ‚เช•เซ€ เช—เชฏเชพ เช›เซ‹?

เช…เชจเซ‡ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชœเชพเชคเซ‡ เชคเซˆเชฏเชพเชฐ เช•เชฐเซ€เชถเซเช‚

Centos 9 เชชเชฐ Drupal 8 เชธเชพเชฅเซ‡ VPS เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชฌเชจเชพเชตเชตเซเช‚

Centos 9 เชชเชฐ Drupal 8 เชธเชพเชฅเซ‡ VPS เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸ เชฌเชจเชพเชตเชตเซเช‚

เชธเซ‹เชฐเซเชธ: www.habr.com