CentOS এ লারাভেল পিএইচপি ওয়েব ফ্রেমওয়ার্ক কীভাবে ইনস্টল করবেন


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

  • আপনার ডাটাবেসের সাথে কাজ করার জন্য শক্তিশালী ORM (অবজেক্ট-রিলেশনাল ম্যাপিং)
  • জটিল এবং দ্রুত রুটিং প্রক্রিয়া mechanism
  • শক্তিশালী নির্ভরতা ইনজেকশন ধারক
  • সেশন এবং ক্যাশে সঞ্চয় করার জন্য অ্যামাজন এসকিউএস এবং রেডিস এবং আরও অনেকগুলি সহ একাধিক কিউ ব্যাকেন্ডে জুড়ে একটি ইউনিফাইড API সরবরাহ করে
  • একটি সাধারণ প্রমাণীকরণ প্রক্রিয়া সমর্থন করে
  • রিয়েল-টাইম ইভেন্ট সম্প্রচারকে সমর্থন করে
  • এছাড়াও ডাটাবেস অজন্যস্টিক মাইগ্রেশন এবং স্কিমা নির্মাতা সমর্থন করে ব্যাকগ্রাউন্ড জব প্রসেসিং এবং আরও অনেক কিছু সমর্থন করে

লারাভেলের সর্বশেষতম সংস্করণটি চালাতে সক্ষম হতে আপনার সিস্টেমকে অবশ্যই নিম্নলিখিত প্রয়োজনীয়তাগুলি পূরণ করতে হবে:

  • পিএইচপি> = 7.1.3 ওপেনএসএসএল, পিডিও, এমবিস্ট্রিং, টোকেনাইজার, এক্সএমএল, সিটিপি এবং জেএসএন পিএইচপি এক্সটেনশনগুলির সাথে
  • সুরকার - পিএইচপি-র জন্য একটি অ্যাপ্লিকেশন-স্তরের প্যাকেজ পরিচালক

  1. এলইএমপি স্ট্যাক সহ সেন্টোস 7

এই নিবন্ধে, আমরা কীভাবে সেন্টোস, রেড হ্যাট, ফেডোরা সিস্টেমে লারাভেল 5.6 পিএইচপি ফ্রেমওয়ার্কের সর্বশেষ সংস্করণ ইনস্টল করবেন তা ব্যাখ্যা করব।

পদক্ষেপ 1: ইয়াম সংগ্রহস্থল সেটআপ করুন

১. প্রথমত, আপনাকে নিম্নলিখিত কমান্ডগুলি ব্যবহার করে আপডেট হওয়া প্যাকেজগুলি (পিএইচপি, এনগিনেক্স, মারিয়াডিবি, ইত্যাদি) পেতে আপনার লিনাক্স বিতরণে REMI এবং EPEL সংগ্রহস্থল সক্ষম করতে হবে

------------- On CentOS/RHEL 7.x ------------- 
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------------- On CentOS/RHEL 6.x -------------
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

পদক্ষেপ 2: এনগিনেক্স, মাইএসকিউএল এবং পিএইচপি ইনস্টল করুন

২. পরবর্তী, আমাদের আপনার সিস্টেমে একটি কার্যকরী এলইএমপি পরিবেশ ইনস্টল করতে হবে। আপনার যদি ইতিমধ্যে একটি কার্যকরী এলইএমপি স্ট্যাক থাকে তবে নিম্নলিখিত কমান্ড ব্যবহার করে ইনস্টল না করে আপনি এই পদক্ষেপটি এড়িয়ে যেতে পারেন।

# yum install nginx        [On CentOS/RHEL]

৩. একবার এনগিনেক্স ইনস্টল হয়ে গেলে, ওয়েব সার্ভারটি শুরু করুন এবং এটি সিস্টেম বুটে শুরু করতে সক্ষম করুন এবং তারপরে নিম্নলিখিত কমান্ডগুলি ব্যবহার করে স্থিতিটি যাচাই করুন।

------------- On CentOS/RHEL 7.x ------------- 
# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

------------- On CentOS/RHEL 6.x -------------
# service nginx start  
# chkconfig nginx on
# service nginx status

৪. পাবলিক নেটওয়ার্ক থেকে এনজিনেক্স অ্যাক্সেস করার জন্য, যেমন দেখানো হয়েছে বাহ্যিক অনুরোধগুলি গ্রহণ করতে আপনাকে আপনার সিস্টেম ফায়ারওয়ালে ৮০ পোর্ট খুলতে হবে।

------------- On CentOS/RHEL 7.x -------------
# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --reload 

------------- On CentOS/RHEL 6.x -------------
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# service iptables restart
# yum install mariadb-server php-mysql
# systemctl start mariadb.service
# /usr/bin/mysql_secure_installation
# yum install yum-utils
# yum-config-manager --enable remi-php72
# yum install php php-fpm php-common php-xml php-mbstring php-json php-zip

৫. পরবর্তী, পিএইচপি-এফপিএম পরিষেবা শুরু করুন এবং সক্ষম করুন এবং এটি চালু এবং চলমান আছে কিনা তা পরীক্ষা করুন।

------------- On CentOS/RHEL 7.x ------------- 
# systemctl start php-fpm
# systemctl enable php-fpm
# systemctl status php-fpm

------------- On CentOS/RHEL 6.x -------------
# service php-fpm start  
# chkconfig php-fpm on
# service php-fpm status

পদক্ষেপ 3: সুরকার এবং লারাভেল পিএইচপি ফ্রেমওয়ার্ক ইনস্টল করুন

Now. এখন নিম্নলিখিত কমান্ডগুলি ব্যবহার করে প্রয়োজনীয় লারাভেল নির্ভরতা ইনস্টল করার জন্য সুরকার (পিএইচপি-র জন্য নির্ভরতা পরিচালক) ইনস্টল করুন।

# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
# chmod +x /usr/local/bin/composer

Once. আপনি একবার সুরকার ইনস্টল করার পরে, আপনি নিম্নোক্তভাবে সুরকার-নির্মাণ-প্রকল্প কমান্ড চালিয়ে লারাভেল ইনস্টল করতে পারেন।

# cd /var/www/html/
# sudo composer create-project --prefer-dist laravel/laravel testsite 

৮. এখন আপনি যখন আপনার ওয়েব ডকুমেন্টের মূলের একটি দীর্ঘ তালিকা তৈরি করেন, সেখানে পরীক্ষাগুলি ডিরেক্টরি উপস্থিত থাকা উচিত, এতে আপনার লারাভেল ফাইল রয়েছে।

$ ls -l /var/www/html/testsite

পদক্ষেপ 4: লারাভেল ইনস্টলেশন কনফিগার করুন

9. এখন নিম্নলিখিত কমান্ডগুলি ব্যবহার করে টেস্টসাইট ডিরেক্টরি এবং লারাভেল ফাইলগুলিতে উপযুক্ত অনুমতিগুলি সেট করুন।

# chmod -R 775 /var/www/html/testsite
# chown -R apache.apache /var/www/html/testsite
# chmod -R 777 /var/www/html/testsite/storage/

১০. এছাড়াও, আপনার যদি সেলইনাক্স সক্ষম করা থাকে তবে নিম্নলিখিত কমান্ডগুলি ব্যবহার করে আপনার স্টোরেজ এবং বুটস্ট্র্যাপ/ক্যাশে ডিরেক্টরিগুলির সুরক্ষা প্রসঙ্গে আপডেট করতে হবে।

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/bootstrap/cache(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/storage(/.*)?'
# restorecon -Rv '/usr/share/nginx/html/testapp'

১১. আপনার প্রদত্ত নমুনা ফাইলটি ব্যবহার করে আপনার অ্যাপ্লিকেশনটির জন্য একটি পরিবেশ ফাইল তৈরি করুন।

# cp .env.example .env

১২. পরবর্তী, লারাভেল ব্যবহারকারী সেশন এবং অন্যান্য এনক্রিপ্ট হওয়া ডেটা সুরক্ষিত করতে একটি অ্যাপ্লিকেশন কী ব্যবহার করে। সুতরাং আপনাকে নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনার অ্যাপ্লিকেশন কীটি এলোমেলো স্ট্রিংয়ে সেট করে তৈরি করতে হবে।

# php artisan key:generate

পদক্ষেপ 5: লারাভেলের জন্য এনগিনেক্স সার্ভার ব্লকটি কনফিগার করুন

13. এই ধাপে, আপনাকে একটি ওয়েব ব্রাউজার থেকে অ্যাক্সেস করার জন্য, টেস্টসাইটের জন্য একটি এনগিনেক্স সার্ভার ব্লকটি কনফিগার করতে হবে। প্রদর্শিত হিসাবে বর্ণিত /etc/nginx/conf.d/ ডিরেক্টরিতে এটির জন্য .conf ফাইল তৈরি করুন।

# vi /etc/nginx/conf.d/testsite.conf

এবং এটিতে নিম্নলিখিত কনফিগারেশনটি যুক্ত করুন (আপনার পরিবেশের জন্য প্রযোজ্য মানগুলি ব্যবহার করুন, উদাহরণস্বরূপ, আমাদের ডামি ডোমেনটি টেস্টল্যারভেল.কম হয়)। নোট করুন যে লারাভেল ইনডেক্স ফাইলটি/var/www/html/testite/public এ সঞ্চিত আছে, এটি আপনার সাইট/অ্যাপ্লিকেশনের মূল হবে।

server {
	listen      80;
	server_name testinglaravel.com;
	root        /var/www/html/testsite/public;
	index       index.php;

	charset utf-8;
	gzip on;
	gzip_types text/css application/javascript text/javascript application/x-javascript 	image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
	location / {
		try_files $uri $uri/ /index.php?$query_string;
	}
	
	location ~ \.php {
		include fastcgi.conf;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
	}
	location ~ /\.ht {
		deny all;
	}
}

ফাইল এবং সংরক্ষণ করে প্রস্থান করুন। তারপরে সাম্প্রতিক পরিবর্তনগুলি কার্যকর হওয়ার জন্য আপনার ওয়েব সার্ভারটি পুনরায় চালু করুন।

# systemctl restart nginx

পদক্ষেপ:: লারাভেল ওয়েবসাইটে অ্যাক্সেস করুন

১৪. এর পরে, আপনার যদি সম্পূর্ণ নিবন্ধিত ডোমেন নাম না থাকে, পরীক্ষার উদ্দেশ্যে স্থানীয় ডিএনএস তৈরি করতে আপনার/ইত্যাদি/হোস্ট ফাইলটি ব্যবহার করতে হবে।

আপনার/ইত্যাদি/হোস্ট ফাইলটিতে নিম্নলিখিত লাইনটি যুক্ত করুন (যথাক্রমে 192.168.43.31 এর পরিবর্তে আপনার সিস্টেমের আইপি ঠিকানা এবং ডোমেন এবং পরীক্ষারল্যাভেল ডট কম ব্যবহার করুন)।

192.168.43.31  testinglaravel.com

15. অবশেষে নীচের ইউআরএলটি ব্যবহার করে একটি ব্রাউজার থেকে আপনার লারাভেল সাইট অ্যাক্সেস করুন।

http://testinglaravel.com
OR
http://your-ip-address

আপনি যদি স্থানীয়ভাবে উন্নয়নশীল হন তবে নীচে আপনার অ্যাপ্লিকেশন বা সাইট পরিবেশন করতে আপনি পিএইচপি এর অন্তর্নির্মিত বিকাশ সার্ভার নিয়োগ করতে পারেন। এই আদেশটি HTTP:/লোকালহোস্ট: 8000 বা http://127.0.0.1:8000 এ একটি বিকাশ সার্ভার শুরু করবে। CentOS/REHL- এ, এইভাবে আপনার অ্যাপ্লিকেশনটি পরিবেশন করার জন্য এই পোর্টটি ফায়ারওয়ালে খোলা উচিত।

# php artisan serve

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

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