Centos 9 تي Drupal 8 سان VPS ٽيمپليٽ ٺاهڻ

اسان اسان جي مارڪيٽ کي وڌائڻ جاري رکون ٿا. اسان تازو ٻڌايو ته ڪيئن Gitlab تصوير ٺاهي, ۽ هن هفتي Drupal اسان جي مارڪيٽ ۾ ظاهر ٿيو.

اسان توهان کي ٻڌايو ته اسان هن کي ڇو چونڊيو ۽ تصوير ڪيئن ٺاهي وئي.

Centos 9 تي Drupal 8 سان VPS ٽيمپليٽ ٺاهڻ

Drupal - ڪنهن به قسم جي ويب سائيٽ ٺاهڻ لاءِ هڪ آسان ۽ طاقتور پليٽ فارم: مائڪرو سائٽس ۽ بلاگز کان وٺي وڏن سماجي منصوبن تائين، پڻ استعمال ٿيل ويب ايپليڪيشنن لاءِ بنياد، PHP ۾ لکيل ۽ لاڳاپيل ڊيٽابيس کي ڊيٽا اسٽوريج طور استعمال ڪندي.

ڊروپل 9 ۾ سڀ خاصيتون شامل آھن جيڪي ورجن 8.9 ۾ متعارف ڪرايا ويا آھن. ورزن 9 ۽ ورجن 8 جي وچ ۾ اهم فرق اهو آهي ته پليٽ فارم نومبر 2021 کان پوءِ اپڊيٽس ۽ سيڪيورٽي فيڪس حاصل ڪرڻ جاري رکندو. نسخو 9 پڻ تازه ڪاري جي عمل کي آسان بڻائي ٿو، ورزن 8 کان اپڊيٽ ڪرڻ جي عمل کي اڃا به آسان بڻائي ٿو.

سرور جي گهرج

ڊروپل کي استعمال ڪرڻ لاء، اهو 2 GB ريم ۽ 2 سي پي يو ڪور استعمال ڪرڻ جي صلاح ڏني وئي آهي.

مکيه ڊروپل فائلون لڳ ڀڳ 100 MB وٺن ٿيون، ان کان علاوه توهان کي تصويرون، ڊيٽابيس، موضوع، اضافي ماڊلز ۽ بيڪ اپ رکڻ لاءِ جاءِ جي ضرورت پوندي، جيڪو توهان جي سائيٽ جي سائيز تي منحصر هوندو.

Drupal 9 کي گھٽ ۾ گھٽ حد سان PHP 7.4 يا وڌيڪ جي ضرورت آھي (memory_limit).

Drupal Apache يا Nginx کي ويب سرور طور استعمال ڪري سگھي ٿو، ۽ 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

اچو ته شروع ڪريون ۽ Nginx سرور کي فعال ڪريو:

sudo systemctl start nginx
sudo systemctl enable nginx

جيئن ته مکيه Centos مخزن هن وقت PHP 7.2 استعمال ڪري ٿو، اچو ته PHP 7.4 سان گڏ هڪ REMI مخزن شامل ڪريو (ڊروپل 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

اچو ته انسٽال ڪريون پي ايڇ پي ماڊلز جيڪي ڊروپل کي ڪم ڪرڻ لاءِ گهربل آهن:

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

جيئن ته اسان وي ڊي ايس لاءِ ٽيمپليٽ ٺاهي رهيا آهيون، ۽ اهي سست ٿي سگهن ٿا، اسان 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 جي سيٽنگون شامل ڪريون /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 پروسيسنگ ذريعي 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

certbot انسٽال ڪرڻ لاءِ گهربل ويجٽ انسٽال ڪريو:

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

اچو ته ڊائون لوڊ ڪريون آرڪائيو کي ڊروپل 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 هلندي آهي. "محفوظ ڪريو ۽ جاري رکو" تي ڪلڪ ڪريو.

اچو ته ترجمي جي انسٽاليشن ۽ تازه ڪاري جي مڪمل ٿيڻ جو انتظار ڪريون (جي عمل ۾ ڪيترائي منٽ لڳن ٿا).

اسان سائيٽ جو نالو ظاهر ڪنداسين، سائيٽ جي اي ميل سيٽ ڪريو (جنهن جي طرفان سائيٽ نوٽيفڪيشن موڪليا ويندا)، لاگ ان، پاسورڊ ۽ ڊروپل ايڊمنسٽريٽر اڪائونٽ جي اي ميل. اسان علائقائي سيٽنگن ۾ ملڪ ۽ ٽائيم زون پڻ مقرر ڪنداسين. ۽ "محفوظ ڪريو ۽ جاري رکو" تي ڪلڪ ڪندي انسٽاليشن مڪمل ڪريو.

ان کان پوء، توهان ٺاهيل ڊروپل ايڊمنسٽريٽر لاگ ان ۽ پاسورڊ سان ڪنٽرول پينل ڏانهن وڃو.

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 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