CentOS 7 এ Nginx 1.15, মারিয়াডিবি 10 এবং পিএইচপি 7 কীভাবে ইনস্টল করবেন
এই নিবন্ধে আমরা কীভাবে একটি ডিএনএফ প্যাকেজ ম্যানেজার ব্যবহার করে আরএইচইএল/সেন্টোজ 7/6 এবং ফেডোরা 26-29 সার্ভারে পিএইচপি-এফপিএম সহ একটি এলইএমপি স্ট্যাক (লিনাক্স, এনগিনেক্স, মারিয়াডিবি, পিএইচপি) ইনস্টল করবেন তা ব্যাখ্যা করব।
প্রক্রিয়া চলাকালীন আমরা এই প্যাকেজগুলির সর্বশেষতম সংস্করণ ইনস্টল করতে সক্ষম হতে এপেল, রেমি, এনগিনেক্স এবং মারিয়াডিবি সংগ্রহস্থলগুলি ইনস্টল ও সক্ষম করব।
পদক্ষেপ 1: ইপিল এবং রেমি সংগ্রহস্থল ইনস্টল করা
ইপিল (এন্টারপ্রাইজ লিনাক্সের জন্য অতিরিক্ত প্যাকেজস) একটি সম্প্রদায় ভিত্তিক সংগ্রহস্থল যা আরএইচইএল-ভিত্তিক লিনাক্স বিতরণের জন্য অ্যাড-অন সফ্টওয়্যার প্যাকেজ সরবরাহ করে।
রেমি একটি সংগ্রহস্থল যেখানে আপনি ফেডোরা এবং এন্টারপ্রাইজ লিনাক্স ডিস্ট্রিবিউশনে ইনস্টলেশনের জন্য পিএইচপি স্ট্যাকের সর্বশেষ সংস্করণ (সম্পূর্ণ বৈশিষ্ট্যযুক্ত) খুঁজে পেতে পারেন।
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ------ For RHEL 7 Only ------ # subscription-manager repos --enable=rhel-7-server-optional-rpms
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm ------ For RHEL 6 Only ------ # subscription-manager repos --enable=rhel-6-server-optional-rpms
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm [On Fedora 29] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm [On Fedora 28] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm [On Fedora 27] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm [On Fedora 26] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm [On Fedora 25] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm [On Fedora 24]
পদক্ষেপ 2: এনগিনেক্স এবং মারিয়াডিবি সংগ্রহস্থল ইনস্টল করা
Nginx সংগ্রহস্থল কেবল RHEL এবং CentOS বিতরণে প্রয়োজন। /Etc/yum.repos.d/nginx.repo নামে একটি ফাইল তৈরি করুন এবং এটিতে নিম্নলিখিত লাইনগুলি যুক্ত করুন।
[nginx] name=nginx repo baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
মারিয়াডিবি সংগ্রহস্থল সক্ষম করতে, নিম্নলিখিত বিষয়বস্তুগুলি দিয়ে /etc/yum.repos.d/mariadb.repo নামে একটি ফাইল তৈরি করুন:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
পদক্ষেপ 4: এনগনিক্স এবং মারিয়াডিবি ইনস্টল করা
এনগিনেক্স (ইঞ্জিন এক্স) ওপেন সোর্স, শক্তসমর্থ, লাইটওয়েট এবং হাই পারফরম্যান্স ওয়েব সার্ভার, বিপরীত প্রক্সি সেভার এবং এইচটিটিপি, এসএমটিপি, পিওপি 3 এবং আইএমএপি প্রোটোকলের জন্য মেল প্রক্সি সার্ভার। আরও তথ্যের জন্য, http://wiki.nginx.org/ ওভারভিউ দেখুন।
মারিয়াডিবি হ'ল সুপরিচিত মাইএসকিউএল-এর একটি কাঁটা, যা বিশ্বের অন্যতম জনপ্রিয় রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম (আরডিবিএমএস)। এটি সম্পূর্ণরূপে সম্প্রদায় দ্বারা বিকাশিত এবং যেমন এটি FOSS এবং জিপিএলের সাথে সামঞ্জস্যপূর্ণ থাকার উদ্দেশ্যে is
এনগনিক্স এবং মারিয়াডিবি ইনস্টল করতে, নিম্নলিখিত কমান্ডগুলি চালান।
----------- Installing on RHEL/CentOS 7/6 ----------- # yum --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm ----------- Installing on Fedora ----------- # dnf --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm
পদক্ষেপ 3: রেমি সংগ্রহস্থল ব্যবহার করে পিএইচপি ইনস্টল করা
পিএইচপি (হাইপারটেক্সট প্রিপ্রসেসর) একটি ফ্রি এবং ওপেন সোর্স সার্ভার-সাইড স্ক্রিপ্টিং ভাষা যা ওয়েব বিকাশের জন্য সবচেয়ে উপযুক্ত। এটি কোনও ওয়েবসাইটের জন্য ডায়নামিক ওয়েব পৃষ্ঠাগুলি তৈরি করতে ব্যবহৃত হতে পারে এবং প্রায়শই * নিক্স সার্ভারে পাওয়া যায়। পিএইচপি এর অন্যতম সুবিধা হ'ল এটি বিভিন্ন ধরণের মডিউল ব্যবহারের মাধ্যমে সহজেই বর্ধনযোগ্য।
পিএইচপি ইনস্টল করার জন্য, প্রথমে আপনাকে ইউম-ইউপস ইনস্টল করে রেমি সংগ্রহস্থল সক্ষম করতে হবে, যা yum সংগ্রহস্থল এবং প্যাকেজ পরিচালনার জন্য দরকারী প্রোগ্রামগুলির সংগ্রহ।
# yum install yum-utils
একবার ইনস্টল হয়ে গেলে, আপনি যেমন দেখানো হয়েছে তেমন বিভিন্ন পিএইচপি সংস্করণ ইনস্টল করার জন্য রেমি সংগ্রহস্থলটিকে ডিফল্ট সংগ্রহস্থল হিসাবে সক্ষম করতে yum-utils
দ্বারা সরবরাহিত yum-config-manager ব্যবহার করতে পারেন।
উদাহরণস্বরূপ, পিএইচপি 7.x সংস্করণ ইনস্টল করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন।
------------- On CentOS & RHEL ------------- # yum-config-manager --enable remi-php70 && yum install php [Install PHP 7.0] # yum-config-manager --enable remi-php71 && yum install php [Install PHP 7.1] # yum-config-manager --enable remi-php72 && yum install php [Install PHP 7.2] # yum-config-manager --enable remi-php73 && yum install php [Install PHP 7.3] ------------- On Fedora ------------- # dnf --enablerepo=remi install php70 [Install PHP 7.0] # dnf --enablerepo=remi install php71 [Install PHP 7.1] # dnf --enablerepo=remi install php72 [Install PHP 7.2] # dnf --enablerepo=remi install php73 [Install PHP 7.3]
এরপরে, আমরা নিম্নলিখিত সমস্ত পিএইচপি মডিউল ইনস্টল করতে যাচ্ছি।
------ On RHEL/CentOS 7/6 ------ # yum --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear ------ On Fedora ------ # dnf --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear
পদক্ষেপ।: অ্যাপাচি পরিষেবা বন্ধ করা এবং অক্ষম করা
ডিফল্টরূপে, অ্যাপাচি এবং এনগিনেক্স একই পোর্টে শুনেন (টিসিপি 80)। সেই কারণে, যদি অ্যাপাচি আপনার সার্ভারে ইনস্টল করা থাকে তবে এনগিনেক্স ব্যবহারের জন্য আপনাকে এটিকে বন্ধ করে দিতে হবে এবং এটি অক্ষম করতে হবে (অক্ষম করার একটি শক্তিশালী সংস্করণ যা পরিষেবাটিকে/dev/নাল সাথে সংযুক্ত করে) অথবা আপনি এটি মুছে ফেলতে পারেন আপনি এটি আর ব্যবহার করার পরিকল্পনা করছেন না।
# systemctl stop httpd # systemctl disable httpd or # systemctl mask httpd
পদক্ষেপ 7: এনগিনেক্স, মারিয়াডিবি এবং পিএইচপি-এফপিএম শুরু/বন্ধ করা
----------- Enable Nginx, MariaDB and PHP-FPM on Boot ----------- # systemctl enable nginx # systemctl enable mariadb # systemctl enable php-fpm ----------- Start Nginx, MariaDB and PHP-FPM ----------- # systemctl start nginx # systemctl start mariadb # systemctl start php-fpm
পদক্ষেপ 8: এনগিনেক্স এবং পিএইচপি-এফপিএম কনফিগার করছে
আসুন এখন/srv/www/এর অধীনে আপনার ওয়েবসাইটের জন্য একটি ভার্চুয়াল হোস্ট, বা সার্ভার ব্লক হিসাবে এটি Nginx নামে পরিচিত) তৈরি করি। এই উদাহরণে আমরা linux-console.net
ব্যবহার করব তবে আপনি চাইলে অন্য একটি ডোমেন এবং প্রধান ডিরেক্টরি চয়ন করতে দ্বিধা বোধ করবেন।
# mkdir -p /srv/www/tecmint/public_html # mkdir /srv/www/tecmint/logs # chown -R nginx:nginx /srv/www/tecmint
পদক্ষেপ 9: এনগিনেক্স ভার্চুয়াল হোস্ট ডিরেক্টরিগুলি কনফিগার করছে
আপনি কি জানেন যে একই মেশিন থেকে বেশ কয়েকটি সাইট চালনার দক্ষতা বড় ওয়েব সার্ভারগুলির একটি স্বতন্ত্র বৈশিষ্ট্য। আসুন আমরা এখন/ইত্যাদি/এনগিনেক্সের অধীনে আমাদের সার্ভার ব্লকগুলি (অ্যাপাচে ভার্চুয়াল হোস্ট হিসাবে পরিচিত) সংরক্ষণের জন্য ডিরেক্টরিগুলি তৈরি করতে এগিয়ে চলি।
# mkdir /etc/nginx/sites-available # mkdir /etc/nginx/sites-enabled
নিম্নলিখিত কোডের রেখাটি, যা /etc/nginx/nginx.conf- এ http ব্লকটি বন্ধ করার আগে অবশ্যই সন্নিবেশ করাতে হবে তা নিশ্চিত করবে যে এনগিনেক্স চলাকালীন/etc/nginx/সাইট-সক্ষম ডিরেক্টরিতে কনফিগারেশন ফাইলগুলি বিবেচনায় নেওয়া হবে :
## Load virtual host conf files. ## include /etc/nginx/sites-enabled/*;
linux-console.net
এর জন্য সার্ভার ব্লক তৈরি করতে,/etc/nginx/সাইটগুলি উপলভ্য/টেকমিন্টে নিম্নলিখিত কোডের লাইনগুলি যুক্ত করুন (আপনি যখন আপনার পছন্দসই শুরু করার জন্য পুরো পথে প্রবেশ করেন তখন এই ফাইলটি তৈরি করা হবে) টেক্সট সম্পাদক). এটি একটি প্রাথমিক ভার্চুয়াল হোস্ট কনফিগারেশন ফাইল।
server { listen 80 default; server_name tecmint; access_log /srv/www/tecmint/logs/access.log; error_log /srv/www/tecmint/logs/error.log; root /srv/www/tecmint/public_html; location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
ভার্চুয়াল হোস্টকে "অ্যাক্টিভেট করার" প্রক্রিয়াটি টেকমিন্ট
ভার্চুয়াল হোস্টের/etc/nginx/সাইট-সক্ষম সক্ষম থেকে সংকেতযুক্ত লিঙ্ক তৈরি করে।
# ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
আমরা যে পরিবর্তনগুলি করেছিলাম তা বাস্তবে প্রয়োগ করতে এখন আমাদের এনগিনেক্স পুনরায় চালু করা দরকার। এটি করার আগে সিনট্যাক্স ত্রুটির জন্য কনফিগারেশন ফাইলগুলি পরীক্ষা করা কখনও কখনও দরকারী:
# nginx -t # systemctl restart nginx # systemctl status nginx
আপনার সদ্য নির্মিত ভার্চুয়াল হোস্ট অ্যাক্সেস করতে, আপনাকে ডোমেন নাম রেজোলিউশনের প্রাথমিক পদ্ধতি হিসাবে/ইত্যাদি/হোস্টগুলিতে নিম্নলিখিত লাইনটি যুক্ত করতে হবে।
192.168.0.18 linux-console.net linux-console.net
পদক্ষেপ 10: এনগিনেক্স, মাইএসকিউএল, পিএইচপি এবং পিএইচপি-এফপিএম পরীক্ষা করা হচ্ছে
আসুন পিএইচপি পরীক্ষার ক্লাসিক পদ্ধতির সাথে লেগে থাকি। test.php
/srv/www/tecmint/public_html/এর অধীনে একটি ফাইল তৈরি করুন এবং এতে নিম্নলিখিত কোডের লাইন যুক্ত করুন।
phpinfo()
ফাংশনটি বর্তমান পিএইচপি ইনস্টলেশন সম্পর্কে প্রচুর তথ্য দেখায়:
<?php phpinfo(); ?>
এখন আপনার ওয়েব ব্রাউজারটিকে HTTP: //tecmint/test.php
এ নির্দেশ করুন এবং ইনস্টল করা মডিউল এবং অতিরিক্ত সফ্টওয়্যার উপস্থিতি পরীক্ষা করুন:
অভিনন্দন! আপনার এখন একটি এলইএমপি স্ট্যাকের একটি ওয়ার্কিং ইনস্টলেশন রয়েছে। যদি আশানুরূপ কিছু না ঘটে তবে নীচের ফর্মটি ব্যবহার করে আমাদের সাথে নির্দ্বিধায় যোগাযোগ করুন। প্রশ্ন এবং পরামর্শগুলিও স্বাগত।