ডেবিয়ান 10 সার্ভারে কীভাবে এলইএমপি ইনস্টল করবেন


একটি "এলইএমপি" স্ট্যাক হ'ল ওপেন-সোর্স সফ্টওয়্যার এর মিশ্রণ যা সাধারণত একটি লিনাক্স সার্ভারে ডায়নামিক অ্যাপ্লিকেশন স্থাপনের জন্য ইনস্টল করা হয়। এই শব্দটি এমন একটি সংক্ষিপ্ত রূপ যা লিনাক্স অপারেটিং সিস্টেম, এনগিনেক্স ওয়েব সার্ভার, একটি মারিয়াডিবি ডাটাবেস এবং পিএইচপি প্রোগ্রামিং উপস্থাপন করে।

যদিও এই "এলইএমপি" স্ট্যাকটিতে সাধারণত ডাটাবেস ম্যানেজমেন্ট সিস্টেম হিসাবে মাইএসকিউএল থাকে তবে কিছু লিনাক্স ডিস্ট্রিবিউশন যেমন ডিবিয়ান - মাইএসকিউএলের জন্য ড্রপ-ইন প্রতিস্থাপন হিসাবে মারিয়াডবি ব্যবহার করে।

  1. কীভাবে একটি ডেবিয়ান 10 (বুস্টার) মিনিমাম সার্ভার ইনস্টল করবেন

এই নিবন্ধে, আমরা আপনাকে একটি ডেবিয়ান 10 সার্ভারে একটি এলইএমপি এনভায়রনমেন্ট ইনস্টল করতে এবং সেটআপ করতে এবং ডাটাবেস ম্যানেজমেন্ট প্ল্যাটফর্ম হিসাবে মারিয়াডিবি ব্যবহার করে ব্যাখ্যা করব।

ডেবিয়ান 10 এ এনগিনেক্স ওয়েব সার্ভার ইনস্টল করা হচ্ছে

এনগিনেক্স একটি ওপেন-সোর্স এবং ক্রস-প্ল্যাটফর্ম, হালকা ওজনযুক্ত তবে শক্তিশালী এবং HTTP এবং বিপরীত প্রক্সি সার্ভার, একটি মেল প্রক্সি সার্ভার এবং জেনেরিক টিসিপি/ইউডিপি প্রক্সি সার্ভার, একটি মডুলার আর্কিটেকচার সহ কার্যকর।

এর কয়েকটি প্রাথমিক বৈশিষ্ট্যগুলির মধ্যে স্ট্যাটিক এবং সূচি ফাইলগুলি সরবরাহ করা অন্তর্ভুক্ত রয়েছে; ফাস্টসিজিআই, উউজি, এসসিজিআই, এবং মেমক্যাচড সার্ভার, লোড ব্যালেন্সিং এবং ফল্ট সহনশীলতা, এসএসএল এবং টিএলএস এসএনআই সমর্থন, ওজনযুক্ত ও নির্ভরশীলতা-ভিত্তিক অগ্রাধিকার সহ HTTP/2 এর সমর্থন সহ ক্যাচিংয়ের সাহায্যে ত্বরিত সমর্থন।

এনগিনেক্স প্যাকেজটি ইনস্টল করতে, দেখানো হয়েছে বলে দেবিয়ানের অ্যাপ প্যাকেজ ম্যানেজারটি ব্যবহার করুন।

# apt update 
# apt install nginx 

একবার Nginx ইনস্টলেশন সমাপ্ত হয়ে গেলে, ইনস্টলারার আপাতত Nginx পরিষেবা শুরু করার জন্য systemd সক্রিয় করবে এবং এটি সিস্টেম বুট-এ স্বয়ংক্রিয়ভাবে শুরু করতে সক্ষম করবে। আপনি নিম্নোক্ত systemctl কমান্ডটি ব্যবহার করে Nginx এর স্থিতি পরীক্ষা করতে পারেন।

# systemctl status nginx

আপনি সিস্টেমেডের অধীনে এনগিনেক্স পরিষেবাদির কনফিগারেশনটি শুরু করতে, পুনরায় চালু করতে, থামাতে এবং পুনরায় লোড করতে নিম্নলিখিত গুরুত্বপূর্ণ কমান্ডগুলি ব্যবহার করতে পারেন।

# systemctl start nginx
# systemctl restart nginx 
# systemctl stop nginx
# systemctl reload nginx 
# systemctl status nginx 

এরপরে, আপনার যদি ইউএফডাব্লু ফায়ারওয়াল চলমান থাকে (এটি সাধারণত ডিফল্টরূপে অক্ষম থাকে), এনগিনেক্সে আগত ট্র্যাফিকের অনুমতি দেওয়ার জন্য আপনাকে 80 (HTTP) এবং 443 (HTTPS) পোর্টটি খুলতে হবে।

# ufw allow 80
# ufw allow 443
# ufw status

এই মুহুর্তে, আপনাকে পরীক্ষা করতে হবে এনগিনেক্স সঠিকভাবে ইনস্টল করা আছে কিনা, এটি চলছে কিনা এবং ওয়েব পৃষ্ঠাগুলি পরিবেশন করতে পারে কিনা whether এটি করতে, একটি ওয়েব ব্রাউজার খুলুন এবং এনগিনেক্স ডেবিয়ান ডিফল্ট ওয়েব পৃষ্ঠা অ্যাক্সেস করতে নিম্নলিখিত URL- এ নির্দেশ করুন।

http://SERVER_IP/
OR
http://localhost/

ডেবিয়ান 10 এ মারিয়াডিবি ইনস্টল করা হচ্ছে

এর পরে, আপনার ওয়েবসাইট বা ওয়েব অ্যাপ্লিকেশনটির জন্য ডেটা সঞ্চয় এবং পরিচালনা করতে সক্ষম হতে আপনাকে একটি ডাটাবেস সিস্টেম ইনস্টল করতে হবে। ডেবিয়ান 10 মাইএসকিউএল-এর জন্য একটি ড্রপ-ইন প্রতিস্থাপন হিসাবে ডিফল্টভাবে মারিয়াডিবি সমর্থন করে।

মারিয়াডিবি ইনস্টল করতে, নিম্নলিখিত কমান্ডটি চালান।

# apt install mariadb-server

এরপরে, মারিয়াডিবি পরিষেবার স্থিতি পরীক্ষা করুন যেহেতু এটি স্বয়ংক্রিয়ভাবে সিস্টেমড দ্বারা শুরু হয় এবং সিস্টেম বুট-এ শুরু করতে সক্ষম হয়ে থাকে, এটি নিশ্চিত হয়ে যায় যে এটি চালু এবং চলছে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

# systemctl status mariadb

সিস্টেমডের অধীনে মারিয়াডিবি পরিষেবা পরিচালনা (শুরু, পুনরায় চালু, থামানো এবং পুনরায় লোড) করতে, আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন।

# systemctl start mariadb
# systemctl restart mariadb
# systemctl stop mariadb
# systemctl reload mariadb

এরপরে, মারিয়াডিবি স্থাপনার ডিফল্টরূপে নিরাপত্তাহীন হবে। আপনাকে ডাটাবেস সুরক্ষার উন্নতি করতে সক্ষম করতে আপনাকে একটি শেল স্ক্রিপ্ট চালাতে হবে যা প্যাকেজটির সাথে জাহাজে প্রবেশ করবে।

# mysql_secure_installation

স্ক্রিপ্টটি চালানোর পরে, নিম্নলিখিত স্ক্রিনশটটিতে প্রদর্শিত হিসাবে মারিয়াডিবি ইনস্টলেশনটির ডিফল্ট সেটিংস সংশোধন করতে আপনাকে নিম্নলিখিত প্রশ্নগুলির একটি সিরিজ নিয়ে যাবে।

ডেবিয়ান 10 এ পিএইচপি-এফপিএম (দ্রুত প্রক্রিয়া পরিচালক) ইনস্টল করা হচ্ছে

অ্যাপাচি এবং অন্যান্য ওয়েব সার্ভারের বিপরীতে, এনগিনেক্স পিএইচপি-র জন্য স্থানীয় সমর্থন সরবরাহ করে না, কারণ এটি পিএইচপি পৃষ্ঠাগুলির জন্য অনুরোধগুলি পরিচালনা করতে পিএইচপি-এফপিএম ব্যবহার করে। পিএইচপি-এফপিএম হ'ল পিএইচপি-র জন্য একটি বিকল্প ফাস্টসিজিআই ডেমন যা কোনও ওয়েবসাইটকে অনুরোধগুলি পরিচালনা করার জন্য কর্মী প্রক্রিয়াগুলি ব্যবহার করে উচ্চ লোডগুলি পরিচালনা করতে দেয়।

মারিয়াডিবি/মাইএসকিউএল ডাটাবেস সিস্টেমের সাথে যোগাযোগের জন্য পিএইচপি-এফপিএম সংস্করণ 7.3 এবং একটি পিএইচপি মডিউল ইনস্টল করতে, নিম্নলিখিত কমান্ডটি চালান।

# apt install php-fpm php-mysqli

পিএইচপি-এফপিএম ইনস্টল হওয়ার পরে, ইনস্টলারটি আপাতত পিএইচপি-এফপিএম পরিষেবা শুরু করতে সিস্টেমডকে সক্রিয় করবে এবং সিস্টেম বুট-এ এটিকে স্বয়ংক্রিয় শুরু করতে সক্ষম করবে। এটি চালু এবং চলছে কিনা তা পরীক্ষা করতে নিম্নলিখিত কমান্ডটি জারি করুন।

# systemctl status php-fpm

আপনি নিম্নরূপে systemd এর অধীনে পিএইচপি-এফপিএম পরিষেবাটির কনফিগারেশনটি শুরু করতে, পুনরায় চালু করতে এবং পুনরায় লোড করতে পারেন।

# systemctl start php-fpm
# systemctl restart php-fpm
# systemctl stop php-fpm
# systemctl reload php-fpm
# systemctl status php-fpm

এরপরে, আপনাকে নিম্নলিখিত হিসাবে কনফিগারেশন ফাইল /etc/php/7.3/fpm/php.ini এ কিছু পরিবর্তন করে পিএইচপি-এফপিএম সুরক্ষিত করতে হবে।

# vi /etc/php/7.3/fpm/php.ini

; cgi.fix_pathinfo = 1 শুরুতে ; অক্ষরটি সরিয়ে এটিকে অস্বচ্ছন্দ করে দেখুন, এর মানটি 0 এ সেট করুন। এটি Nginx- কে নন-পিএইচপি ফাইলগুলিকে পিএইচপি হিসাবে চালানো হতে বাধা দেয়।

cgi.fix_pathinfo=0

ডিফল্টরূপে, পিএইচপি-এফপিএম একটি ইউনিক্স সোসকেট, /run/php/php7.3-fpm.sock/কনফিগারেশন ফাইলে সংজ্ঞায়িত হিসাবে শোনার জন্য কনফিগার করা আছে। এই সকেটটি যদি পিএইচপি পৃষ্ঠাগুলি প্রসেস করতে এবং পরিবেশন করতে হয় তবে আপনাকে আপনার সমস্ত সার্ভার ব্লক (বা ভার্চুয়াল হোস্টগুলি) কনফিগার করতে হবে।

আপনি এটি পরীক্ষা করতে Nginx ডিফল্ট সার্ভার ব্লক কনফিগারেশন ফাইল/ইত্যাদি/nginx/সাইটগুলি উপলব্ধ/ডিফল্ট ব্যবহার করতে পারেন।

# vi /etc/nginx/sites-available/default 

নিম্নলিখিত বিভাগটি সন্ধান করুন এবং স্ক্রিনশটটিতে যেমন দেখানো হয়েছে তেমন পিএইচপি স্ক্রিপ্টগুলিকে ফাস্টসিজিআই সার্ভারে পাস করার জন্য কোনও অসুবিধে করবেন না।

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

এরপরে, নিম্নলিখিত কমান্ডটি ব্যবহার করে Nginx কনফিগারেশন কাঠামো ঠিক আছে কিনা তা পরীক্ষা করুন।

# nginx -t

যদি এনগিনেক্স কনফিগারেশন ঠিক আছে, তবে সম্প্রতি করা পরিবর্তনগুলি প্রয়োগ করতে, php7.3-fpm এবং nginx পরিষেবাগুলি নীচে পুনরায় চালু করুন।

# systemctl restart php7.2-fpm
# systemctl restart nginx

এনগিনেক্সে পিএইচপি-এফপিএম প্রসেসিং পরীক্ষা করা হচ্ছে

পিএইচপি-এফপিএম এবং এনগিনেক্স একসাথে কাজ করার জন্য কনফিগার করার পরে, আপনাকে পরীক্ষা করতে হবে যদি দুটি পরিষেবা ক্লায়েন্টদের পিএইচপি পৃষ্ঠাগুলি প্রক্রিয়া করতে এবং পরিবেশন করতে পারে কিনা। এটি করতে, নিম্নলিখিত হিসাবে আপনার ওয়েব ডকুমেন্টআরটে একটি সাধারণ পিএইচপি স্ক্রিপ্ট তৈরি করুন।

# echo “<?php phpinfo(); ?>”  | tee /var/www/html/info.php

অবশেষে, একটি ব্রাউজার খুলুন এবং phpinfo() ফাংশন দ্বারা উত্পাদিত হিসাবে সিস্টেমে পিএইচপি কনফিগারেশনগুলি দেখতে নিম্নলিখিত ঠিকানাটি টাইপ করুন।

http://SERVER_IP/info.php
OR
http://localhost/info.php

এই নিবন্ধে, আমরা দেখিয়েছি কীভাবে ডেবিয়ান 10 এ এলইএমপি স্ট্যাকটি ইনস্টল ও কনফিগার করতে হয় আপনার যদি কোনও প্রশ্ন বা প্রতিক্রিয়া পাওয়া যায় তবে দয়া করে যোগাযোগ করুন এবং নীচের মন্তব্য ফর্মের মাধ্যমে আমাদের জানান।