Centos 9లో Drupal 8తో VPS టెంప్లేట్‌ని సృష్టిస్తోంది

మేము మా మార్కెట్‌ను విస్తరించడం కొనసాగిస్తున్నాము. ఎలా అని మేము ఇటీవల మీకు చెప్పాము Gitlab చిత్రాన్ని రూపొందించారు, మరియు ఈ వారం Drupal మా మార్కెట్‌లో కనిపించింది.

మేము అతనిని ఎందుకు ఎంచుకున్నాము మరియు చిత్రం ఎలా సృష్టించబడిందో మేము మీకు చెప్తాము.

Centos 9లో Drupal 8తో VPS టెంప్లేట్‌ని సృష్టిస్తోంది

Drupal — ఏ రకమైన వెబ్‌సైట్‌ను రూపొందించడానికి అనుకూలమైన మరియు శక్తివంతమైన ప్లాట్‌ఫారమ్: మైక్రోసైట్‌లు మరియు బ్లాగ్‌ల నుండి పెద్ద సామాజిక ప్రాజెక్ట్‌ల వరకు, వెబ్ అప్లికేషన్‌లకు ఆధారంగా ఉపయోగించబడుతుంది, PHPలో వ్రాయబడింది మరియు రిలేషనల్ డేటాబేస్‌లను డేటా నిల్వగా ఉపయోగిస్తుంది.

ద్రుపాల్ 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

ప్రధాన Centos రిపోజిటరీ ప్రస్తుతం 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_address
ఈ చిరునామాలో మనం 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"

విశ్వసనీయ హోస్ట్ సెక్యూరిటీని సెటప్ చేస్తోంది (సిఫార్సు చేయబడింది)

ఈ సెట్టింగ్ డైనమిక్ బేస్_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 మునుపటి సంస్కరణల కంటే స్వల్పకాలిక స్థానిక కాష్‌గా APCuని ఎక్కువగా ఉపయోగిస్తాయి. డిఫాల్ట్ కాష్ పరిమాణం (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