জেন্টু লিনাক্সে এলইএমপি (লিনাক্স, এনগিনেক্স, মাইএসকিউএল/মারিয়াডিবি, পিএইচপি/পিএইচপি-এফপিএম এবং পিএইচপিএমআইএডমিন) ইনস্টল করা হচ্ছে


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

এই বিষয়টি এলইএমপি (লিনাক্স এনগিনেক্স, মাইএসকিউএল/মারিয়াডিবি, পিএইচপি-এফপিএম/পিএইচপিএমডায়ামিন) সহ একটি সম্পূর্ণ ওয়েব এনভায়রনমেন্ট প্ল্যাটফর্ম তৈরির জন্য আপনাকে ধাপে ধাপে ইনস্টলেশন প্রক্রিয়াটি গ্রহণ করবে এবং <বি তে সহায়তার মাধ্যমে > ব্যবহারের পতাকা পোর্টেজ প্যাকেজ ম্যানেজমেন্ট দ্বারা সরবরাহিত, যা সংকলন প্রক্রিয়াতে প্যাকেজ কার্যকারিতার একটি সেট সরবরাহ করে - ওয়েব প্ল্যাটফর্মের জন্য প্রয়োজনীয় মডিউল বা সেটিংস, সার্ভারের কনফিগারেশনগুলিকে অত্যন্ত সামঞ্জস্য করে।

  1. ইন্টারনেট-মুখী সার্ভারের জন্য কঠোর প্রোফাইল সহ জেন্টু ইনস্টলেশন - জেন্টু ইনস্টলেশন গাইড li
  2. নেটওয়ার্ক একটি স্ট্যাটিক আইপি ঠিকানা দিয়ে কনফিগার করা হয়েছে

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

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

$ sudo su -
# emerge --sync
# emerge --update --deep --with-bdeps=y @world

২. আপডেট প্রক্রিয়া শেষ হওয়ার পরে, এনগিনেক্স ইউএসই পতাকাগুলি পোর্টেজ Make.conf ফাইলটি এনকো করে পছন্দসই সেটিংস এবং মডিউলগুলি বেছে নিয়ে Nginx ইনস্টলেশনটি নিয়ে এগিয়ে যান। নিম্নলিখিত কমান্ডটি চালিয়ে প্রথমে Nginx ডিফল্ট ইনস্টলেশন মডিউল তালিকাভুক্ত করুন।

# emerge -pv nginx

বিস্তারিত মডিউল সম্পর্কিত তথ্যের জন্য (প্যাকেজগুলির জন্য USE পতাকাগুলি) সমেত কমান্ডটি ব্যবহার করুন।

# equery uses nginx

তারপরে নিম্নলিখিত কমান্ড দিয়ে Nginx ইনস্টল করুন।

# emerge --ask nginx

আপনার যদি ডিফল্ট মানগুলি ছাড়াও অতিরিক্ত মডিউলগুলির (ওয়েবডিএভি, ফ্যানসিইনডেক্স, জিওআইপি, ইত্যাদি) দরকার হয় তবে এনগিনেক্সগুলি সংকলন করবে, সেগুলি সমস্ত এনজিআইএনএক্স_এমওডিএলএসএইচটিটিপি <> মেকড কনফ ফাইলের একটি এক লাইনে যুক্ত করুন on/b> নির্দেশিকাটি, তারপরে নতুন মডিউলগুলির সাথে Nginx পুনরায় কম্পাইল করুন।

# echo 'NGINX_MODULES_HTTP="dav auth_pam fancyindex geoip fastcgi uwsgi gzip rewrite"' >> /etc/portage/make.conf
# emerge --ask nginx

৩. পোর্টেজ উদীয়মান এনগিনেক্স শেষ হওয়ার পরে, http ডেমোন শুরু করুন এবং আপনার ব্রাউজারকে http:// লোকালহোস্ট এ নির্দেশ দিয়ে তা যাচাই করুন।

পদক্ষেপ 2: পিএইচপি ইনস্টল করুন

৪. এনগিনেক্স সার্ভারের সাথে পিএইচপি ডায়নামিক ওয়েব প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করতে পিএইচপি-ফাস্টসিজিআই প্রক্রিয়া পরিচালক এফপিএম এবং অন্যান্য গুরুত্বপূর্ণ পিএইচপি যুক্ত করে ইনস্টল করুন পোর্টেজ ইউএসই পতাকাতে এক্সটেনশনগুলি এবং আপনি অ্যাপাচি এক্সটেনশানটি সরিয়েছেন তা নিশ্চিত করে।

# emerge -pv php
# equery uses php
# echo " dev-lang/php fpm cgi curl gd imap mysql mysqli pdo zip json xcache apc zlib zip truetype -apache2 " >> /etc/portage/package.use
# emerge --ask php

৫. পিএইচপি-এফপিএম শুরু করার আগে পরিষেবা কনফিগারেশন ফাইলটিতে কিছু পরিবর্তন প্রয়োগ করা দরকার। php-fpm কনফিগারেশন ফাইলটি খুলুন এবং নিম্নলিখিত পরিবর্তনগুলি করুন।

# nano /etc/php/fpm-php5.5/php-fpm.conf

এই জাতীয় দেখতে নিম্নলিখিত নির্দেশাবলী সন্ধান করুন এবং অবিরাম করুন।

error_log = /var/log/php-fpm.log
listen = 127.0.0.1:9000    ## Here you can use any HTTP socket (IP-PORT combination ) you want  ##
pm.start_servers = 20

PH. পিএইচপি-এফপিএম কনফিগারেশন ফাইল এটি সম্পাদিত হওয়ার পরে, পিএইচপি-এফপিএম লগ ফাইলের অনুমতি পরিবর্তন করুন এবং পরিষেবাটি শুরু করুন।

# chmod 755 /var/log/php-fpm.log
# /etc/init.d/php-fpm start

এমনকি পিএইচপি-এফপিএম পরিষেবা শুরু করা হলেও, এনগিনেক্স পিএইচপি গেটওয়ের সাথে যোগাযোগ করতে পারে না, সুতরাং, এনগিনেক্স কনফিগারেশন ফাইলগুলিতে কিছু পরিবর্তন করা দরকার।

পদক্ষেপ 3: এনগিনেক্স কনফিগারেশন সম্পাদনা করুন

N. এনগিনেক্স ডিফল্ট টেম্পলেট কনফিগারেশন ফাইল কেবল লোকালহোস্টের জন্য একটি প্রাথমিক HTTP সকেট সরবরাহ করে। এই আচরণটি পরিবর্তন করতে এবং ভার্চুয়াল হোস্টগুলি সক্ষম করতে nginx.conf ফাইলটি /etc/nginx/ পাথে খুলুন এবং নিম্নলিখিত কনফিগারেশনগুলি তৈরি করুন।

# nano /etc/nginx/nginx.conf

স্থানীয় << সার্ভার ব্লকটি সন্ধান করুন যা লোকালহোস্টের সাথে মিলে যায় এবং 127.0.0.1 এ আইপি ঠিকানা শোনে এবং নীচের স্ক্রিনশটের মতো দেখতে তার সমস্ত বিবৃতি প্রশংসা করবে।

ফাইলটি এখনও বন্ধ করবেন না এবং একেবারে নীচে যান এবং শেষ বদ্ধ কোঁকড়া "}" এর আগে নিম্নলিখিত বিবৃতিটি যুক্ত করুন।

Include /etc/nginx/sites-enabled/*.conf;

৮. এরপরে এইচটিটিপি এবং এইচটিটিপিএস প্রোটোকলগুলিতে লোকালহোস্টের জন্য এনগিনেক্স ডিরেক্টরি এবং কনফিগারেশন ফাইলগুলি সাইট-সক্ষম এবং সাইটগুলি উপলভ্য (অব্যবহৃত ভার্চুয়াল হোস্টগুলির জন্য) তৈরি করুন।

# mkdir /etc/nginx/sites-available
# mkdir /etc/nginx/sites-enabled

লোকালহোস্টের জন্য নিম্নলিখিত ফাইল কনফিগারেশন তৈরি করুন।

# nano /etc/nginx/sites-available/localhost.conf

নিম্নলিখিত ফাইলের সামগ্রী যুক্ত করুন।

server {
               listen 80;
               server_name localhost;

               access_log /var/log/nginx/localhost_access_log main;
               error_log /var/log/nginx/localhost_error_log info;

               root /var/www/localhost/htdocs;

                location / {
                index index.html index.htm index.php;
                autoindex on;
                autoindex_exact_size off;
                autoindex_localtime on;

                                }

                         location ~ \.php$ {
                       # Test for non-existent scripts or throw a 404 error
                       # Without this line, nginx will blindly send any request ending in .php to php-fpm
                       try_files $uri =404;
                        include /etc/nginx/fastcgi.conf;
                       fastcgi_pass 127.0.0.1:9000;  ## Make sure the socket corresponds with PHP-FPM conf file
                        }
                }

এসএসএল সহ লোকালহোস্টের জন্য নিম্নলিখিত কনফিগারেশন ফাইলটি তৈরি করুন।

# nano /etc/nginx/sites-available/localhost-ssl.conf

নিম্নলিখিত ফাইলের সামগ্রী যুক্ত করুন।

server {
               listen 443 ssl;
               server_name localhost;

            ssl on;
               ssl_certificate /etc/ssl/nginx/nginx.pem;
               ssl_certificate_key /etc/ssl/nginx/nginx.key;

               access_log /var/log/nginx/localhost.ssl_access_log main;
               error_log /var/log/nginx/localhost.ssl_error_log info;

               root /var/www/localhost/htdocs;

                                location / {
                index index.html index.htm index.php;
                autoindex on;
                autoindex_exact_size off;
                autoindex_localtime on;
                                 }                                                

                      location ~ \.php$ {
                       # Test for non-existent scripts or throw a 404 error
                       # Without this line, nginx will blindly send any request ending in .php to php-fpm
                       try_files $uri =404;
                       include /etc/nginx/fastcgi.conf;
                       fastcgi_pass 127.0.0.1:9000;
                                }
                }

৯. এখন সময় কার্যকর করা যায় এমন কোনও সিস্টেমের জন্য দুটি স্ক্রিপ্ট তৈরি করার সময় ($PATH শেল ভেরিয়েবল), যা এনগিনেক্স ভার্চুয়াল হোস্টগুলি সক্রিয় বা নিষ্ক্রিয় করতে কমান্ড হিসাবে কাজ করে।

n2ensite নামে প্রথম বাশ স্ক্রিপ্ট তৈরি করুন যা সাইটগুলি উপলব্ধ থেকে সাইট-সক্ষম ।

# nano /usr/local/bin/n2eniste

নিম্নলিখিত ফাইলের সামগ্রী যুক্ত করুন।

#!/bin/bash
if test -d /etc/nginx/sites-available && test -d /etc/nginx/sites-enabled  ; then
echo "-----------------------------------------------"
else
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
fi

avail=/etc/nginx/sites-available/$1.conf
enabled=/etc/nginx/sites-enabled/
site=`ls /etc/nginx/sites-available/`

if [ "$#" != "1" ]; then
                echo "Use script: n2ensite virtual_site"
                echo -e "\nAvailable virtual hosts:\n$site"
                exit 0
else

if test -e $avail; then
sudo ln -s $avail $enabled
else
echo -e "$avail virtual host does not exist! Please create one!\n$site"
exit 0
fi

if test -e $enabled/$1.conf; then
echo "Success!! Now restart nginx server: sudo /etc/init.d/ nginx restart"
else
echo  -e "Virtual host $avail does not exist!\nPlease see available virtual hosts:\n$site"
exit 0
fi
fi

10. তারপরে n2 ডিসিসাইট নামে দ্বিতীয় স্ক্রিপ্ট তৈরি করুন, যা নীচের লিখিত সামগ্রীর সাহায্যে সাইট-সক্ষম Nginx পাথ থেকে নির্দিষ্ট সক্রিয় ভার্চুয়াল হোস্ট মুছে ফেলবে।

# nano /usr/local/bin/n2dissite

নিম্নলিখিত বিষয়বস্তু যুক্ত করুন।

#!/bin/bash
avail=/etc/nginx/sites-enabled/$1.conf
enabled=/etc/nginx/sites-enabled
site=`ls /etc/nginx/sites-available/`

if [ "$#" != "1" ]; then
                echo "Use script: n2dissite virtual_site"
                echo -e "\nAvailable virtual hosts: \n$site"
                exit 0
else

if test -e $avail; then
sudo rm  $avail
else
echo -e "$avail virtual host does not exist! Exiting!"
exit 0
fi

if test -e $enabled/$1.conf; then
echo "Error!! Could not remove $avail virtual host!"
else
echo  -e "Success! $avail has been removed!\nPlease restart Nginx: sudo /etc/init.d/nginx restart"
exit 0
fi
fi

১১. বাশ স্ক্রিপ্টগুলি সম্পাদনা শেষ করার পরে, এক্সিকিউশন অনুমতিগুলি সংযোজন করুন এবং লোকালহোস্ট ভার্চুয়াল হোস্টগুলি সক্রিয় করুন - .conf এক্সটেনশন ছাড়াই ভার্চুয়াল হোস্ট কনফিগারেশন ফাইলের নাম ব্যবহার করুন, তারপরে পরিবর্তনগুলি প্রয়োগ করতে Nginx এবং PHP-FPM পরিষেবাদি পুনরায় চালু করুন art

# chmod +x /usr/local/bin/n2dissite
# chmod +x /usr/local/bin/n2ensite
# n2ensite localhost
# n2ensite localhost-ssl
# service nginx restart
# service php-fpm restart

১২. কনফিগারেশন পরীক্ষা করার জন্য ওয়েব ফাইলগুলির জন্য লোকালহোস্ট ডিফল্ট রুট পাথের উপর একটি পিএইচপি তথ্য ফাইল তৈরি করুন (/ভার/www/লোকালহোস্ট/এইচটিডোকস ) এবং https:/লোকালহোস্ট/তথ্যতে আপনার ব্রাউজারটি পুনঃনির্দেশ করুন .এফপি বা http://localhost/info.php

echo "<?php phpinfo(); ?>" /var/www/localhost/htdocs/info.php

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

পদক্ষেপ 4: মাইএসকিউএল/মারিয়াডিবি + পিএইচপিএমইএডমিন ইনস্টল করুন

মাইএসকিউএল এর জন্য মাইএসকিউএল ডাটাবেস এবং পিএইচপিএমইএডমিন ওয়েব ইন্টারফেস ইনস্টল করতে জেন্টুতে এলএএমপি ইনস্টল করার জন্য উপস্থাপিত একই পদ্ধতি ব্যবহার করুন।

১৩. এর পরিবর্তে আপনি যদি মাইএসকিউএল এর জন্য ড্রপ-ইন প্রতিস্থাপন মারিয়াডিবি ব্যবহার করতে চান তবে ইউএসই পতাকা পেতে এবং এটি ইনস্টল করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন।

# emerge -pv mariadb
# emerge --ask mariadb

আপনি যদি মাইএসকিউএল এর সাথে প্যাকেজ দ্বন্দ্ব পান তবে পোর্টেজ প্যাকেজ.এসেপ্ট.কিওয়ার্ডস এ নিম্নলিখিত লাইনগুলি যুক্ত করুন।

# echo “=dev-db/mariadb-5.5.37-r1 ~amd64” >> /etc/portage/package.accept.keywords
# echo “=virtual/mysql-5.5 ~amd64” >> /etc/portage/package.accept.keywords
# emerge --ask mariadb

১৪. মাইএসকিউএল ডাটাবেস ইনস্টল হওয়ার পরে << mysql_secure_installation (রুট পাসওয়ার্ড পরিবর্তন করুন, লোকালহোস্টের বাইরে রুট লগইন অক্ষম করুন, বেনামে ব্যবহারকারীর/পরীক্ষার ডাটাবেসটি অপসারণ করুন) ব্যবহার করে এটিকে সার্ভিসটি চালু করুন এবং নিরাপদ করুন।

# service mysql start
# mysql_secure_installation

15. এর কার্যকারিতা পরীক্ষা করার জন্য mysql -u root -p কমান্ড ব্যবহার করে মাইএসকিউএল ডাটাবেস প্রবেশ করুন এবং এটিকে প্রস্থান কমান্ডের সাহায্যে রেখে যান।

# mysql -u root -p

MariaDB > show databases;
MariaDB > exit;

16. আপনি যদি মাইএসকিউএল কমান্ড লাইনের সাথে খুব ভাল না হন। নিম্নলিখিত কমান্ডগুলি প্রয়োগ করে পিএইচপিএমআইএডমিন ওয়েব ফ্রন্টএন্ড ইনস্টল করুন।

# emerge -pv dev-db/phpmyadmin
# echo “dev-db/phpmyadmin setup vhosts” >> /etc/portage/package.use
# emerge  --ask dev-db/phpmyadmin

১.. পিএইচপিএমআইএডমিন ইনস্টল করা শেষ করার পরে, নমুনা কনফিগারেশন ফাইলের উপর ভিত্তি করে একটি কনফিগারেশন ফাইল তৈরি করুন, ব্লাফিশ_সেক্রেট পাসওয়ার্ডটি একটি এলোমেলো স্ট্রিং সহ পরিবর্তন করুন, তারপরে /usr/share/webapps/phpmyadmin/থেকে একটি প্রতীকী লিঙ্ক তৈরি করুন আপনি পিএইচপিএমইএডমিন ওয়েব ইন্টারফেস অ্যাক্সেস করতে চান ভার্চুয়াল হোস্ট নথি রুট পাথ থেকে phpmyadmin_version_number/htdocs/।

# cd /usr/share/webapps/phpmyadmin/4.2.2/htdocs/
# cp config.sample.inc.php  config.inc.php
# nano config.inc.php
# ln -s /usr/share/webapps/phpmyadmin/4.2.2/htdocs/  /var/www/localhost/htdocs/phpmyadmin

18. পিএইচপিএমইএডমিন ওয়েব ইন্টারফেসের মাধ্যমে মাইএসকিউএল ডাটাবেস অ্যাক্সেস করতে, একটি ব্রাউজার খুলুন এবং নীচের ইউআরএল ঠিকানাটি https:/লোকালহস্ট/phpmyadmin ব্যবহার করুন।

19. চূড়ান্ত পদক্ষেপটি হ'ল সার্ভিস সিস্টেম-ব্যাপী সক্ষম করা, পুনরায় বুটের পরে স্বয়ংক্রিয়ভাবে শুরু করা।

# rc-update add nginx default
# rc-update add php-fpm default
# rc-update add mysql default

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