మేము మా మార్కెట్ను విస్తరించడం కొనసాగిస్తున్నాము. ఎలా అని మేము ఇటీవల మీకు చెప్పాము మరియు ఈ వారం అది మా మార్కెట్ప్లేస్లో కనిపించింది Drupal.
మేము అతనిని ఎందుకు ఎంచుకున్నాము మరియు చిత్రం ఎలా సృష్టించబడిందో మేము మీకు చెప్తాము.
Drupal — ఏ రకమైన వెబ్సైట్ను రూపొందించడానికి అనుకూలమైన మరియు శక్తివంతమైన ప్లాట్ఫారమ్: మైక్రోసైట్లు మరియు బ్లాగ్ల నుండి పెద్ద సామాజిక ప్రాజెక్ట్ల వరకు, వెబ్ అప్లికేషన్లకు ఆధారంగా ఉపయోగించబడుతుంది, PHPలో వ్రాయబడింది మరియు రిలేషనల్ డేటాబేస్లను డేటా నిల్వగా ఉపయోగిస్తుంది.
Drupal వెర్షన్ 8.9లో అమలు చేయబడిన అన్ని ఫీచర్లను వెర్షన్ 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 ను ఉపయోగించవచ్చు.
మేము ఇన్స్టాల్ చేస్తాము 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 తో జోడిద్దాం (ఇది కనీస వెర్షన్). Drupal 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 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
మేము పనికి అవసరమైన PHP మాడ్యూళ్లను ఇన్స్టాల్ చేస్తాము. Drupal:
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
దీని తరువాత, సంస్థాపనను పూర్తి చేయడానికి, మేము వెళ్ళవచ్చు
ఈ చిరునామాలో మనం ఇన్స్టాలేషన్ పేజీని చూస్తాము 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 రూబిళ్లు క్రెడిట్ చేస్తాము, మీరు సర్వర్లపై ఖర్చు చేయవచ్చు.
మీ స్వంత చిత్రాన్ని ఎలా సృష్టించాలి:
- మాతో ఒక ఖాతాను సృష్టించండి
- మీరు చిత్రాలను సృష్టించి, పరీక్షించబోతున్నారని మద్దతుకు తెలియజేయండి
- మేము మీకు 3000 రూబిళ్లు క్రెడిట్ చేస్తాము మరియు స్నాప్షాట్లను సృష్టించే సామర్థ్యాన్ని ప్రారంభిస్తాము
- క్లీన్ ఆపరేటింగ్ సిస్టమ్తో వర్చువల్ సర్వర్ని ఆర్డర్ చేయండి
- ఈ VPSలో సాఫ్ట్వేర్ను ఇన్స్టాల్ చేయండి మరియు దానిని కాన్ఫిగర్ చేయండి
- సాఫ్ట్వేర్ విస్తరణ కోసం సూచనలు లేదా స్క్రిప్ట్ను వ్రాయండి
- కాన్ఫిగర్ చేయబడిన సర్వర్ కోసం స్నాప్షాట్ను సృష్టించండి
- "సర్వర్ టెంప్లేట్" డ్రాప్-డౌన్ జాబితాలో గతంలో సృష్టించిన స్నాప్షాట్ను ఎంచుకోవడం ద్వారా కొత్త వర్చువల్ సర్వర్ను ఆర్డర్ చేయండి
- సర్వర్ విజయవంతంగా సృష్టించబడితే, దశ 6లో అందుకున్న పదార్థాలను సాంకేతిక మద్దతుకు బదిలీ చేయండి
- లోపం ఉన్నట్లయితే, మీరు కారణం కోసం మద్దతుతో తనిఖీ చేయవచ్చు మరియు సెటప్ను పునరావృతం చేయవచ్చు
వ్యాపార యజమానుల కోసం: మీ సాఫ్ట్వేర్ను అందించండి
మీరు VPSలో అమలు చేయబడి మరియు ఉపయోగించబడే సాఫ్ట్వేర్ డెవలపర్ అయితే, మేము మిమ్మల్ని మార్కెట్ప్లేస్లో చేర్చగలము. కొత్త కస్టమర్లు, ట్రాఫిక్ మరియు అవగాహనను తీసుకురావడానికి మేము ఈ విధంగా మీకు సహాయం చేస్తాము.
మీరు ఏ చిత్రాన్ని కోల్పోతున్నారో మాకు వ్యాఖ్యలలో చెప్పండి?
మరియు మేము దానిని మనమే సిద్ధం చేస్తాము
మూలం: www.habr.com
