په Centos 9 کې د ډروپل 8 سره د VPS ټیمپلیټ رامینځته کول

موږ خپل بازار پراخولو ته دوام ورکوو. موږ پدې وروستیو کې د څرنګوالي په اړه خبرې وکړې د Gitlab انځور جوړ کړ، او پدې اونۍ کې ډروپل زموږ په بازار کې راڅرګند شو.

موږ وایو چې ولې موږ دا غوره کړه او څنګه انځور جوړ شو.

په Centos 9 کې د ډروپل 8 سره د VPS ټیمپلیټ رامینځته کول

Drupal د هر ډول سایټونو رامینځته کولو لپاره یو مناسب او پیاوړی پلیټ فارم دی: له مایکروسایټونو او بلاګونو څخه تر لویو ټولنیزو پروژو پورې ، کوم چې د ویب غوښتنلیکونو اساس په توګه هم کارول کیږي ، په PHP کې لیکل شوي او د ډیټا ذخیره کولو په توګه اړوند ډیټابیسونه کاروي.

ډروپل 9 ټول هغه ځانګړتیاوې لري چې په 8.9 نسخه کې معرفي شوي. د 9 نسخه او 8 نسخه ترمنځ کلیدي توپیر دا دی چې پلیټ فارم به د نومبر 2021 وروسته تازه معلومات او امنیتي اصلاحات ترلاسه کولو ته دوام ورکړي. همدارنګه په 9 نسخه کې، د نوي کولو پروسه ساده شوې، د 8 نسخه څخه د اپ گریڈ پروسه حتی اسانه کوي.

د سرور اړتیاوې

د ډروپل کارولو لپاره ، سپارښتنه کیږي چې د 2 GB رام او 2 CPU کور وکاروئ.

اصلي ډروپل فایلونه شاوخوا 100 MB دي ، سربیره پردې تاسو به د عکسونو ، ډیټابیس ، موضوعاتو ، اضافو او بیک اپونو ذخیره کولو لپاره ځای ته اړتیا ولرئ ، کوم چې ستاسو د سایټ اندازې پورې اړه لري.

ډروپل 9 د لږترلږه حد سره PHP 7.4 یا لوړ ته اړتیا لري (memory_limit) تر 64 MB حافظې پورې ، د اضافي ماډلونو کارولو په صورت کې ، سپارښتنه کیږي چې 128 MB نصب کړئ.

ډروپل کولی شي اپاچي یا نګینکس د ویب سرور په توګه وکاروي ، او MySQL ، PostgreSQL یا SQLite د ډیټابیس په توګه.

موږ به د 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

راځئ چې د نګینکس سرور پیل او فعال کړو:

sudo systemctl start nginx
sudo systemctl enable nginx

څرنګه چې PHP 7.2 اوس مهال په اصلي Centos ذخیره کې کارول کیږي، راځئ چې د 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 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

راځئ چې هغه ګروپ او کاروونکي بدل کړو چې لاندې به 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 ترتیب کولو فایل څخه لرې کړو (د دې لپاره چې د sed لپاره دوه ګوني بریدونه شتون نلري):

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 index فایل ترتیبات /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

د سرټبوټ نصبولو لپاره اړین ویجیټ نصب کړئ:

sudo dnf install wget -y

د آف سایټ څخه د سرټبوټ اجرا وړ فایل ډاونلوډ کړئ:

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

د سرټبوټ انحصارونه نصب کړئ او پدې مرحله کې یې ودروئ (ځوابونه: Y، c):

certbot-auto

د آف سایټ څخه د ډروپل 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

د نګینکس فایلونو مالک تنظیم کړئ:

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 پیل کول. "خوندي او دوام" کلیک وکړئ.

راځئ چې د ژباړې نصبولو او تازه کولو بشپړولو ته انتظار وکړو (پروسس ممکن څو دقیقې وخت ونیسي).

د سایټ نوم مشخص کړئ، د سایټ بریښنالیک وټاکئ (د کوم سایټ خبرتیاوې به راشي)، د ډروپل مدیر حساب ننوتل، پټنوم او بریښنالیک. موږ به په سیمه ایز ترتیباتو کې د هیواد او وخت زون هم تنظیم کړو. او د "Save and Continue" په کلیک کولو سره انسټالشن بشپړ کړئ.

له هغې وروسته، تاسو کولی شئ د جوړ شوي ډروپل مدیر ننوتل او پټنوم سره د کنټرول پینل ته لاړ شئ.

HTTPS ترتیب (اختیاري)

د HTTPS تنظیم کولو لپاره، VDS باید د اعتبار وړ DNS نوم ولري، په کې مشخص کړئ

/etc/nginx/nginx.conf

د سرور برخه کې د سرور نوم (د مثال په توګه):

server_name  domainname.ru;

nginx بیا پیل کړئ:

service nginx restart

راځئ چې سرټبوټ پیل کړو:

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 نصب کول (وړاندیز شوی)

ډروپل د 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 کې د ډروپل 8 سره د VPS ټیمپلیټ رامینځته کول

په Centos 9 کې د ډروپل 8 سره د VPS ټیمپلیټ رامینځته کول

سرچینه: www.habr.com