የገበያ ቦታችንን ማስፋፋታችንን እንቀጥላለን። እንዴት እንደሆነ በቅርቡ ነግረንዎታል
ለምን እንደመረጥን እና ምስሉ እንዴት እንደተፈጠረ እንነግርዎታለን.
Drupal - ማንኛውንም አይነት ድር ጣቢያ ለመፍጠር ምቹ እና ኃይለኛ መድረክ፡ ከማይክሮሳይቶች እና ብሎጎች እስከ ትላልቅ ማህበራዊ ፕሮጀክቶች፣ እንዲሁም ለድር መተግበሪያዎች መሰረት ሆኖ የሚያገለግል፣ በPHP የተፃፈ እና ተዛማጅ የውሂብ ጎታዎችን እንደ የውሂብ ማከማቻ ይጠቀማል።
Drupal 9 በስሪት 8.9 ውስጥ የገቡትን ሁሉንም ባህሪያት ያካትታል። በስሪት 9 እና በስሪት 8 መካከል ያለው ቁልፍ ልዩነት የመሳሪያ ስርዓቱ ከኖቬምበር 2021 በኋላ ዝማኔዎችን እና የደህንነት ጥገናዎችን ማግኘቱን የሚቀጥል መሆኑ ነው። ስሪት 9 የማዘመን ሂደቱን ያቃልላል፣ ከስሪት 8 የማሻሻል ሂደቱን የበለጠ ቀላል ያደርገዋል።
የአገልጋይ መስፈርቶች
Drupal ን ለመጠቀም 2 ጂቢ ራም እና 2 ሲፒዩ ኮርሶችን ለመጠቀም ይመከራል።
ዋናዎቹ Drupal ፋይሎች 100 ሜባ ያህል ይወስዳሉ, በተጨማሪም ምስሎችን, የውሂብ ጎታ, ገጽታዎችን, ተጨማሪ ሞጁሎችን እና መጠባበቂያዎችን ለማከማቸት ቦታ ያስፈልግዎታል, ይህም በጣቢያዎ መጠን ይወሰናል.
Drupal 9 ከዝቅተኛ ገደብ ጋር ፒኤችፒ 7.4 ወይም ከዚያ በላይ ያስፈልገዋል (memory_limit
) ለ 64 ሜባ ማህደረ ትውስታ, ተጨማሪ ሞጁሎች ጥቅም ላይ ከዋሉ, 128 ሜባ ለመጫን ይመከራል.
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 ስለሚጠቀም፣ የ 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: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
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
ለቪዲኤስ አብነት እያዘጋጀን ስለሆነ እና እነሱ ቀርፋፋ ሊሆኑ ስለሚችሉ፣ የ mysqld ጅምር የ30 ሰከንድ መዘግየት እንጨምራለን፣ ያለበለዚያ አገልጋዩ በመጀመሪያው የስርዓት ጅምር ላይ ችግሮች ሊኖሩበት ይችላል።
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 እናስወግድ (ለሴድ ድርብ ቀስቅሴዎች እንዳይኖሩ)
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.conf
የ gzip መጭመቂያ ቅንብሮችን ወደ /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
ለነባሪ አገልጋይ ቅንጅቶችን እንጨምር፡ ፒኤችፒን በ php-fpm ሶኬት በኩል ማስኬድ፣ የስታቲክ ፋይሎችን መዝገብ ያሰናክሉ፣ ጊዜው የሚያበቃበት ጊዜ ያሳድጉ፣ የ 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ን ይጫኑ፡-
sudo dnf install wget -y
የcertbot executable ፋይል ከጣቢያው ውጪ ያውርዱ፡-
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
የሰርትቦት ጥገኞችን እንጭን እና በዚህ ደረጃ ስራውን እናቋርጥ (መልሶች፡ 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 ትክክለኛ የዲ ኤን ኤስ ስም ሊኖረው ይገባል፣ ይግለጹ
/etc/nginx/nginx.conf
በአገልጋዩ ክፍል ውስጥ የአገልጋይ ስም (ለምሳሌ)
server_name domainname.ru;
nginxን እንደገና እንጀምር፡-
service nginx restart
ሰርትቦትን እናስጀምር፡-
sudo /usr/local/bin/certbot-auto --nginx
ኢሜልዎን ያስገቡ ፣ በአገልግሎት ውሉ (ሀ) ይስማሙ ፣ ለጋዜጣው ይመዝገቡ (አማራጭ) (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 አወሳሰን ጋር ለተገናኘው ችግር እንደ መፍትሄ የታሰበ ነው እና የኤችቲቲፒ HOST ራስጌ ጥቃቶችን ለመከላከል (ጣቢያዎ ሌላ ሰው ነው ብሎ ሲያስብ) የተዘጋጀ ነው።
ይህንን ለማድረግ በቅንብሮች ፋይል ውስጥ ለጣቢያው የታመኑ የጎራ ስሞችን መግለጽ ያስፈልግዎታል።
በፋይል ውስጥ
/usr/share/nginx/html/sites/default/settings.php
አስተያየት አንስጥ ወይም ቅንብርን ከትክክለኛ የጣቢያ ስሞች ቅጦች ጋር እንጨምር፣ ለምሳሌ፡-
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
PHP APCu ን መጫን (የሚመከር)
Drupal APCuን ይደግፋል - ተለዋጭ ፒኤችፒ ተጠቃሚ መሸጎጫ፣ እትሞች 8 እና 9 ኤፒሲዩን እንደ የአጭር ጊዜ የአካባቢ መሸጎጫ ከቀደሙት ስሪቶች የበለጠ ይጠቀማሉ። ነባሪው የመሸጎጫ መጠን (32 ሜባ) ለአብዛኛዎቹ ጣቢያዎች ተስማሚ ነው እና ከ 512 ሜባ መብለጥ አይችልም።
ለማግበር የPHP APCu ሞጁሉን ይጫኑ፡-
dnf -y install php-pecl-apcu
nginx እና php-fpmን እንደገና ያስጀምሩ፦
service nginx restart
service php-fpm restart
የሩስያ ቋንቋን እና ኤፒሲዩን ለመሸጎጫ ከሚመከረው የማህደረ ትውስታ መጠን ጋር ከተጠቀሙ በመቆጣጠሪያ ፓኔል ውስጥ ለካሼው የተመደበው ማህደረ ትውስታ መጠን ከተመከረው የተለየ መሆኑን ማስጠንቀቂያ ሊመለከቱ ይችላሉ, ነገር ግን በእውነቱ ሁሉም ነገር በትክክል ይሰራል. እና የተሳሳተው ማስጠንቀቂያ በሚቀጥሉት ዝማኔዎች ውስጥ ይስተካከላል።
ወይም ማስጠንቀቂያው ዓይኖችዎን የሚጎዳ ከሆነ, መጠቀም ይችላሉ
እርስዎም ለእኛ ምስል መስራት እንደሚችሉ ልናስታውስዎ እንወዳለን።
እንዴት እንደሚሳተፉ ሶስት አማራጮች አሉ።
ምስሉን እራስዎ ያዘጋጁ እና 3000 ሩብልስ ወደ ሂሳብዎ ያግኙ
ወዲያውኑ ወደ ጦርነት ለመሮጥ እና እራስዎን የጎደለውን ምስል ለመፍጠር ዝግጁ ከሆኑ በ 3000 ሩብልስ ወደ ውስጣዊ ሚዛንዎ እናመሰግንዎታለን - በአገልጋዮች ላይ ሊያወጡት ይችላሉ።
ምስልዎን እንዴት እንደሚፈጥሩ:
- ከእኛ ጋር መለያ ይፍጠሩ
ጣቢያ - ምስሎችን እንደሚፈጥሩ እና እንደሚሞክሩ ለድጋፍ ይንገሩ
- እኛ 3000 ሩብልስ እናመሰግንዎታለን እና ቅጽበተ-ፎቶዎችን የመፍጠር ችሎታን እናነቃለን።
- ንጹህ ኦፐሬቲንግ ሲስተም ያለው ምናባዊ አገልጋይ ይዘዙ
- በዚህ VPS ላይ ሶፍትዌሩን ይጫኑ እና ያዋቅሩት
- ለሶፍትዌር ማሰማራት መመሪያዎችን ወይም ስክሪፕቶችን ይጻፉ
- ለተዋቀረው አገልጋይ ቅጽበተ-ፎቶ ይፍጠሩ
- በ "የአገልጋይ አብነት" ተቆልቋይ ዝርዝር ውስጥ ቀደም ሲል የተፈጠረውን ቅጽበታዊ ገጽ እይታ በመምረጥ አዲስ ምናባዊ አገልጋይ ይዘዙ
- አገልጋዩ በተሳካ ሁኔታ ከተፈጠረ, በደረጃ 6 የተቀበሉትን ቁሳቁሶች ወደ ቴክኒካዊ ድጋፍ ያስተላልፉ
- ስህተት ከተፈጠረ, ምክንያቱን በመደገፍ ማረጋገጥ እና ማዋቀሩን መድገም ይችላሉ
ለንግድ ሥራ ባለቤቶች፡ ሶፍትዌርዎን ያቅርቡ
በቪፒኤስ ላይ የተሰማራ እና ጥቅም ላይ የሚውል የሶፍትዌር ገንቢ ከሆንክ በገበያ ቦታ ልናካትትህ እንችላለን። አዳዲስ ደንበኞችን፣ ትራፊክ እና ታይነትን እንዲያመጡ ልንረዳዎ የምንችለው በዚህ መንገድ ነው።
ምን ምስል እንደጎደለህ በአስተያየቶቹ ውስጥ ንገረን?
እና እኛ እራሳችንን እናዘጋጃለን
ምንጭ: hab.com