কিভাবে Ubuntu 16.4 এ WordPress ইন্সটল করবেন?

WordPress কি?

ওয়ার্ডপ্রেস কি তা অধিকাংশেরই জানা আছে, তবে যারা শব্দটির সঙ্গে নতুন পরিচিত হলেন, বা আগে শুনেছেন কিন্তু এর কাজ কি তা জানেন না, তাদের সুবিধার্থে আগে ওয়ার্ডপ্রেসের পরিচিতি তুলে ধরছি।

ওয়ার্ডপ্রেস একটি ওয়েব কন্টেন্ট ম্যানেজমেন্ট সিস্টেম বা (সিএমএস-CMS), যা এই মূহুর্তে পুরো ইন্টারনেটের ৩০% জায়গা দখল করে আছে। অর্থাৎ সমস্ত ইন্টারনেটে যত ওয়েবসাইট রয়েছে তার ৩০% ই ওয়ার্ডপ্রেস ব্যবহার করে নির্মাণ করা। সহজ ভাষায় ওয়েবসাইট তৈরী বা ব্যবস্থাপনার একটি টুল হচ্ছে ওয়ার্ডপ্রেস। ওয়েবসাইটের কনটেন্ট পাবলিশিং, এডিটিং, এডমিনিস্ট্রেশন সকল ক্ষেত্রে এর সহজবোধ্যতার জন্যই ওয়ার্ডপ্রেস জনপ্রিয়তা অর্জন করেছে।

ওয়ার্ডপ্রেস সম্পর্কে জানতে হলে বা ব্যবহার করতে হলে অবশ্যই আপনাকে ওয়ার্ডপ্রেস ইন্সটল করতে হবে। আমরা আজকে দেখাবো কিভাবে Ubuntu 16.4 এ WordPress ইন্সটল করবেন।

WordPress ইন্সটলেশন

WordPress এর সোর্স ফাইলের নতুন কপি সংরক্ষণ করার জন্য আপনার ওয়েবসাইটের ডিরেক্টরের অধীনে src নামে একটি ডিরেক্টরি তৈরি করুন। এই নির্দেশিকাতে, হোম ডিরেক্টরি /var/www/html/example.com/ একটি উদাহরণ হিসাবে ব্যবহার করা হয়।

sudo mkdir /var/www/html/example.com/src/
cd /var/www/html/example.com/src/

আপনার ওয়েব সার্ভার ব্যবহারকারীর, “www-data”, আপনার সাইটের হোম ডিরেক্টরিতে সেট করুন।

sudo chown -R www-data:www-data /var/www/html/example.com/

WordPress এর সর্বশেষ সংস্করণটি ইনস্টল করুন এবং এটি Extract করুন।

sudo wget http://wordpress.org/latest.tar.gz
sudo -u www-data tar -xvf latest.tar.gz

মূল সোর্স ফাইলগুলির ব্যাকআপ সংরক্ষণের তারিখের পরে, “latest.tar.gz” কে রিনেম করুন এবং “wordpress” এ নামকরণ করুন। ভবিষ্যতে WordPress এর নতুন সংস্করণ ইনস্টল করা হলে পূর্বের রিলিজে ফিরে যাওয়ার প্রয়োজন হলে এটি কার্যকর হবে।

sudo mv latest.tar.gz wordpress-`date "+%Y-%m-%d"`.tar.gz

WordPress এর জন্য রুট ডিরেক্টরি হতে একটি “public_html ডিরেক্টরি” তৈরি করুন।এবার WordPress এর ফাইলগুলো “public_html” ফোল্ডারে স্থানান্তর করুন।

sudo mkdir /var/www/html/example.com/public_html/sudo mv wordpress/* ../public_html/

public_html ফোল্ডার কে আপনার ওয়েব সার্ভার এর অ্যাডমিন অ্যাক্সেস দিন।

sudo chown -R www-data:www-data /var/www/html/example.com/public_html

WordPress কনফিগারেশন করুন।

একটি ওয়েব ব্রাউজারে আপনার ডোমেইনটি ভিজিট করুন এবং নিচের প্রদর্শিত পদক্ষেপগুলি অনুসরণ করুন। সেখান থেকে আপনার ল্যাঙ্গুয়েজ নির্বাচন করুন এবং আপনার সব তথ্য দিয়ে Let’s Go বাটন এ ক্লিক করুন। MySQL ইন্সটল করার সময় যে Database তৈরি করেছেন সেটির নাম লিখুন।

WordPress আপনার দেয়া ইনফর্মেশন চেক করবে, যদি সবকিছু সঠিক হয় তাহলে ইন্সটল রান করার জন্য অনুরোধ জানাবে।

বিঃদ্রঃ

আপনি আপনার ডোমেইন এ ভিজিট করলে যদি WordPress প্রদর্শিত না হয় তাহলে, URL এর শেষে “/ wp-admin” যোগ করে চেষ্টা করুন এটি অনেক সময় হয়ে থাকে।

Administration তথ্য পূরণ করুন এবং Install WordPress বাটন এ ক্লিক করুন।

Dashboard এ যাওয়ার জন্য আপনার ইউজার নেম এবং পাসওয়ার্ড লিখে login এ ক্লিক করুন।

ডিফল্টরূপে, আপনি নতুন থিম বা প্লাগইন ইনস্টল করার সময় ওয়ার্ডপ্রেস, এফটিপি প্রমানপত্রের জন্য আপনাকে অনুরোধ করবে। এটি বাইপাস করার জন্য, নিম্নোক্ত লেখাগুলো যোগ করে আপনার “wp-config.php” ফাইলটি সংশোধন করুন।

/var/www/html/example.com/public_html/wp-config.php

1 2/** Bypass FTP */ define(‘FS_METHOD’, ‘direct’);

আপনি যদি Apache ব্যবহার করেন, তাহলে “mod_rewrite” এনাবল করা আছে তা নিশ্চিত করার জন্য নিম্নোক্ত কমান্ডগুলি প্রয়োগ করুন এবং তারপর পরিবর্তন করার জন্য Apache রিস্টার্ট করুন।

sudo a2enmod rewrite
sudo systemctl restart apache2

ভবিষ্যতে আপনার সাইটে কোন কিছু পরিবর্তন করতে, আপনি আপনার সাইটের URL এ “/ wp-admin” যোগ করে ওয়েব ইন্টারফেস থেকে আপনার ওয়ার্ডপ্রেস সাইটের ড্যাশবোর্ডটি অ্যাক্সেস করতে পারেন। যেমনঃ (example.com/wp-admin).

কিভাবে WordPress এ Permalinks তৈরি করবেন?

Permalinks অটোমেটিক পোস্ট বা পেজ এর নাম দিয়ে URL তৈরি করে। যেমনঃ (example.com/?p=55). একটি “সুন্দর” Permalink ফর্ম্যাট প্রয়োগ করতে, আপনাকে Apache বা Nginx তে কিছু সমন্বয় করতে হবে।

Permalink সেটিং কনফিগার করার জন্য নিচের ধাপগুলো অনুসরণ করুন।

আপনার সাইটের / wp-admin URL এর মাধ্যমে ওয়ার্ডপ্রেস অ্যাডমিন প্যানেলে প্রবেশ করুন।

এখানে Settings থেকে Permalinks এ ক্লিক করুন।

আপনার পছন্দের Permalink স্টাইল নির্বাচন করুন অথবা আপনি নিজের মতো করে কাস্টমাইজ করে নিন এবং সেভ করার জন্য Save বাটন এ ক্লিক করুন।

ওয়ার্ডপ্রেস নীচের উপযুক্ত বিভাগটি ব্যবহার করে কাস্টমাইজড ইউআরএল তৈরি করার জন্য আপনার ওয়েব সার্ভার কনফিগার করুন।

Apache তে Permalinks এর অনুমতি প্রধানের জন্য WordPress কনফিগার করুন।

আপনার ভার্চুয়াল হোস্ট কনফিগারেশনে ডিরেক্টরি সেকশনে নিম্নোক্ত বিকল্পগুলি যোগ করে, “.htaccess” ফাইলটি আপডেট করার জন্য স্বতন্ত্র সাইটগুলিকে অনুমোদন করার জন্য Apache- কে নির্দেশ দিন।

/etc/apache2/sites-available/example.com.conf

1 2 3 4 5<Directory /var/www/html/example.com/public_html>     Options Indexes FollowSymLinks     AllowOverride All     Require all granted </Directory>

পরিবর্তনগুলি সক্ষম করতে Apache রিস্টার্ট করুন।

sudo systemctl restart apache2

Nginx তে Permalinks এর অনুমতি প্রধানের জন্য WordPress কনফিগার করুন।

প্রতিটি পার্মালিংক একটি বিদ্যমান পেজ বোঝায় কিনা Nginx তা সরাসরি পরীক্ষা করে। ডিফল্টভাবে, nginx অনুমান করে যে এটি না, এবং সার্ভার-পার্শ্ব 404 ফেরৎ দেয়। আপনার ভার্চুয়াল হোস্ট কনফিগারেশন “Location / {” ব্লকের নিম্নোক্ত লাইনগুলি আপডেট করুন।

/etc/nginx/sites-available/example.com

1 2 3location / {     index index.php index.html index.htm;     try_files $uri $uri/ /index.php?$args;

Settings থেকে File Size কনফিগার করুন, যেন বড় ফাইল আপলোড করা যায়।

ডিফল্টরূপে, পিএইচপি দুই মেগাবাইটের মধ্যে ওয়েব আপলোডগুলিকে নিয়ন্ত্রণ করে। ওয়েব ইন্টারফেসের মাধ্যমে বড় ফাইল আলোড করার জন্য, “php.ini” এ “upload_max_filesize” সেটিং কনফিগার করুন।

Apache: /etc/php/7.0/apache2/php.ini nginx: /etc/php/7.0/fpm/php.ini

1 2 3; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 2M

অপশনাল পিএইচপি এক্সটেনশন ইনস্টল করুন।

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

ওয়ার্ডপ্রেসে ছবি সংশোধন করার জন্য আপনাকে পিএইচপি-জিডি এক্সটেনশন প্রয়োজন হয়। উদাহরণস্বরূপ, আপনি হেডার হিসাবে ব্যবহার করার জন্য একটি ইমেজ আপলোড করার সময়, এটি আপনার পেজ এ উপযুক্ত করার জন্য চিত্রটি ক্রপ করতে হবে।

GD extension ইন্সটল করতে নিচের কমান্ডটি অনুসরণ করুন।

sudo apt install php7.0-gd

সম্পূর্ণ অ-ইংরেজি ভাষা সমর্থনের জন্য এবং নির্দিষ্ট অক্ষর এনকোডিং-সম্পর্কিত বাগ সংশোধন করার জন্য, আপনাকে multibyte স্ট্রিং (MBSTRING) এক্সটেনশন ব্যবহার করতে হবে।

MBSTRING ইন্সটল করতে নিচের কমান্ডটি অনুসরণ করুন।

sudo apt install php7.0-mbstring

মোবাইল অ্যাপের মাধ্যমে ওয়ার্ডপ্রেস অ্যাক্সেস করতে অথবা জেটপ্যাক ব্যবহার করতে XML-RPC ব্যবহার করতে আপনাকে “php-xmlrpc” এর প্রয়োজন হবে। XML-RPC- তে আরও তথ্যের জন্য, XML-RPC- এ ওয়ার্ডপ্রেস গাইড দেখুন। Jetpack সম্পর্কে আরও তথ্যের জন্য, Jetpack এ ভিজিট করুন।

PrestaShop কি?

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

PrestaShop ই-কমার্স এর জন্য অনেক জনপ্রিয় একটি ওপেন সোর্স ভিত্তিক সমাধান। PrestaShop দিয়ে ই-কমার্স পরিচালনা করতে আপনার কাছে একটু কস্টকর মনে হতে পারে, তবে এর মেনুগুলো সুনির্দিষ্ট আকারে সাজানো হয়েছে এবং এর ইন্টারফেসকে সহজেই নেভিগেট করা যায়। আপনার ওয়েবসাইটকে আপনি PrestaShop এর সাথে কাস্টমাইজ করার জন্য “What You See Is What You Get (WYSIWYG)” এই টুলটি বন্ধুত্বপূর্ণ ভাবে সেটআপ করতে পারবেন এবং কোন রকম সোর্স কোড সম্পাদনা ছাড়া। এছাড়াও PrestaShop অনেকগুলো আউট অফ বক্স ফিচার এবং প্লাগইন নিয়ে আসছে যা সহজেই ব্যবহার করা যায়।

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

সার্ভার আবশ্যকতা

অধিকাংশ ক্ষেত্রে আপনি ১জিবি র‍্যামের সাথে উবুন্তু ১৬.৪ ইন্সটলের মাধ্যমে শুরু করতে পারেন। সেক্ষেত্রে আপনার র‍্যাম কি পরিমানে ব্যবহার হয় সেটির দিকে নজর রাখুন, এবং আপনার অনলাইন শপ বৃদ্ধির জন্য প্রয়োজনে র‍্যাম বাড়িয়ে নিন।

আপনার বিজনেস বড় হয়ে গেলে আপনার জন্য সবচেয়ে ভালো উপায় হচ্ছে, আপনার অনলাইন শপকে অন্তত ৩টি সার্ভারে পৃথক করা।

  • Apache এবং পিএইচপি কোড হোস্ট করে চালানর জন্য।
  • ডাটাবেজ সংরক্ষণ করার জন্য।
  • Static কনটেন্ট সংরক্ষণের জন্য (.jpg .png).

Apache এবং MariaDB ইন্সটলেশন

ইন্সটল Apache, PHP, MariaDB

sudo apt-get install apache2 libapache2-mod-php mariadb-server

MariaDB ইনস্টলেশন সুরক্ষিত করার জন্য নিম্নোক্ত কমান্ডটি ব্যবহার করুন:

sudo mysql_secure_installation

এখানে আপনাকে কয়েকটি প্রশ্ন করা হবে, আপনি চাইলে প্রথম প্রশ্নকে এড়িয়ে জেতে পারেন। (for MariaDB’s root password blank) আপনি এখানে “n” (No) সিলেক্ট করতে পারেন নতুন একটি রুট পাসওয়ার্ড সেট করার জন্য। আর যদি কমান্ড হিসেবে y (Yes) সিলেক্ট করেন তাহলে আপনি পরবর্তী প্রশ্ন পাবেন।

Apache কনফিগারেশন

  • পরবর্তী ধাপ হল Apache- র জন্য একটি মৌলিক কনফিগারেশন ফাইল তৈরি করা, যেখানে আপনার ওয়েবসাইটের ফাইলগুলি এবং আপনার ডোমেন নামটি খুজে পাবেন।
  • একটি টেমপ্লেট হিসাবে এটি ব্যবহার করতে ডিফল্ট কনফিগ ফাইল কপি করে শুরু করুন:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
  • কনফিগারেশন ফাইলটি এডিট করুন এবং server name লাইনটি খালি করুন। com এ আপনার ডোমেইন নেইম এবং আইপি অ্যাড্রেস দিন এবং নিচের কমান্ডটি অনুসরণ করুন।

/etc/apache2/sites-available/example.com.conf

1 2 3 4 5 6. . . ServerName example.com   ServerAdmin webmaster@example.com DocumentRoot /var/www/html/example.com . . .
  • আপনার ওয়েবসাইট ফাইল এরজন্ন ডিরেক্টরি তৈরি করুন।
sudo mkdir /var/www/html/example.com
  • ডিফল্ট কনফিগারেশন ফাইলটি ডিজেবল করুন এবং নতুন তৈরি করা একটি ফাইল এনাবল করুন।
sudo a2dissite 000-default.confsudo a2ensite example.com.conf
  • Apache রিস্টার্ট করুন।
sudo systemctl restart apache2.service

PrestaShop কে অনুমতি দিন .htaccess ফাইল ব্যবহার করার জন্য

PrestaShop .htaccess ফাইলগুলি ব্যবহার করতে পারে। এটি Apache এর সেটিংস স্বয়ংক্রিয়ভাবে যুক্ত করে।

  • .htaccess ওভাররাইড এনাবল করতে কনফিগ ফাইল সম্পাদনা করুন

etc/apache2/sites-available/example.com.conf

1 2 3<Directory /var/www/html/example.com>     AllowOverride All </Directory>

ওয়েবসাইট ট্র্যাফিক এনক্রিপ্ট করার জন্য SSL ইন্সটল করুন।

SSL সার্টিফিকেট ব্যবহারের মাধ্যমে আপনার কাস্টমারদের ডাটা সুরক্ষিত রাখতে পারবেন। আর যদি আপনার ওয়েবসাইট এ SSL (Secure Socket Layer) ব্যবহার না করেন সেক্ষেত্রে গুগল সার্চ ইঞ্জিন এ আপনার ওয়েবসাইট র‍্যাঙ্ক করার সম্ভাবনা কম। আর এজন্য আপনার কাছে একটি FQDN (Fully Qualified Domain Name) থাকা প্রয়োজন যা ইতিমধ্যে DNS সার্ভারগুলিতে তালিকাভুক্ত করা আছে।

  • আপনার ডোমেন নেইমটি DNS সার্ভারগুলিতে প্রচারিত হয়েছে কিনা, তা পরীক্ষা করতে নিচের কমান্ডটি ব্যবহার করুন।
dig @8.8.8.8 example.com

উপরের কমান্ডটি ব্যবহার করার পর আপনি একটি উত্তর পাবেন নিচের কমান্ডটির মতো।

example.com        36173   IN  A   203.0.113.10

A মান আপনার সার্ভারের IP ঠিকানার সমান হলে, আপনি চালিয়ে যেতে পারেন। অন্যথায়, আপনার এর DNS কনফিগারেশনটি পরীক্ষা করুন, এবং কয়েক মিনিট পরে এই ধাপটি পুনরাবৃত্তি করুন।

  • Let’s Encrypt Team এ অফিসিয়াল Personal Package Archive (PPA) যুক্ত করুন। Package সংগ্রহস্থল আপডেট করুন এবং certbot ইন্সটল করুন।
sudo apt-get install software-properties-commonsudo add-apt-repository ppa:certbot/certbotsudo apt-get updatesudo apt-get install python-certbot-apache
  • TLS সার্টিফিকেট ইন্সটল করুন।
sudo certbot --apache
  • যখন আপনাকে বলবে “if you want https redirection”
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.-------------------------------------------------------------------------------1: No redirect - Make no further changes to the webserver configuration.2: Redirect - Make all requests redirect to secure HTTPS access. Choose this fornew sites or if you're confident your site works on HTTPS. You can undo thischange by editing your web server's configuration.-------------------------------------------------------------------------------Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
  • কাজ শুরু করার আগে নিশ্চিত করুন যে আপনার https সঠিক ভাবে কাজ করছে কিনা। আপনি আপনার ওয়েব ব্রাউজার থেকে এটি নেভিগেট করে নিতে পারেন।
  • যেহেতু সার্টিফিকেট এর মেয়াদ ৯০ দিন পরে শেষ হয়ে যায়, সেক্ষেত্রে অটো রিনিউ একটি ভালো সিস্টেম।
sudo crontab <<< "33 3 * * Sat /usr/bin/certbot renew -q"

PrestaShop এর জন্য পরিবেশ নির্বাচন করুন এবং Dependencies ইন্সটল করুন।

PrestaShop- এ প্লাগইন, অটোমেটিক আপডেট এবং অন্যান্য বৈশিষ্ট্যগুলি সক্ষম করার জন্য /var/www/html/example.com এর ownership সেট করুন।

sudo chown www-data: /var/www/html/example.com/

আপনি নিচের কমান্ডটি ও ব্যবহার করতে পারেন।

chown -R www-data *chgrp -R www-data *

PrestaShop ডাউনলোড করুন এবং ফাইলগুলো আনজিপ করুন।

  • যেখানে ওয়েবসাইটের কোড ইনস্টল করা হবে সেখানে কার্যকারী ডিরেক্টরি পরিবর্তন করুন:
cd /var/www/html/example.com/

সব প্রয়োজনীয় ফাইল ধারণকারী জিপ আর্কাইভ ডাউনলোড করুন। উপলব্ধ সর্বশেষ সংস্করণ জন্য এই ওয়েবসাইট চেক করুন: PrestaShop ডাউনলোড পেজ এবং নিম্নলিখিত কমান্ডের মধ্যে লিঙ্কটি পরিবর্তন করুন যাতে এটি বর্তমান রিলিজ প্রতিফলিত করে

sudo curl -O https://download.prestashop.com/download/releases/prestashop_1.7.2.1.zip
  • আনজিপ করুন এবং ইন্সটল করুনঃ
sudo apt-get install unzip
  • জিপ আর্কাইভ ডিকমপ্রেস করুনঃ
sudo unzip prestashop_1.7.2.1.zip

PrestaShop ইন্সটল করুন এবং কনফিগার করুন।

  • PrestaShop এর পিএইচপি dependencies ইনস্টল করুন:
sudo apt-get install php7.0-curl php7.0-gd php7.0-mysql php7.0-zip php7.0-xml php7.0-intl

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

  • Apache rewrite মডিউল এনাবল করুন:
sudo a2enmod rewrite
  • Apache রিস্টার্ট করুনঃ
sudo systemctl restart apache2.service
  • PrestaShop একটি এসকিউএল ডাটাবেস ব্যবহার করে পণ্য, ব্যবহারকারীদের বিভাগগুলি ইত্যাদি সম্পর্কে তথ্য সংরক্ষণ করে। MariaDB এর সুপার ইউজার (রুট) হিসাবে লগ ইন করুন:
sudo mysql
  • উপযুক্ত অনুমতির সাথে একটি ডাটাবেস এবং একটি ব্যবহারকারী তৈরি করুন। আপনার your_database_name, prestashop_user এবং choose_password নিচে রাখুন। পরবর্তী ব্যবহারের জন্য তথ্য রেকর্ড করুন
CREATE DATABASE your_database_name;CREATE USER 'prestashop_user'@'localhost' IDENTIFIED BY 'choose_password';GRANT ALL ON your_database_name.* TO 'prestashop_user'@'localhost';exit

ইন্সটল PrestaShop

  • যে কোন ইন্টারনেট ব্রাউজার এর সাহায্যে https://example.com কে নেভিগেট করুন। আপনার ওয়েবসাইট SSL সম্পন্ন কিনা তা নিশ্চিত করুন।

একটি ইনস্টল উইজার্ড সেটআপ প্রক্রিয়ার মাধ্যমে আপনাকে নির্দেশ দেবে। অনুরোধ জানানো হলে, আপনি আগে সেট আপ ডাটাবেস প্রমাণপত্রাদি পূরণ করুন। প্রথম বক্সটি 127.0.0.1ত্যাগ করুন। আপনি চাইলে Table Prefix অপরিবর্তিত রাখতে পারবেন।

  • আপনার ডাটাবেজ সার্ভার এর কানেকশন টেস্ট করুন।
  • পরবর্তী ক্লিক করার পর ইনস্টলার প্রয়োজনীয় টেবিলগুলি তৈরি করবে এবং স্টোর সেটআপ চূড়ান্ত করবে। আপনি একটি ফর্ম দেখবেন নিচের ইমেজ এর মতো:
  • ইনস্টল ডিরেক্টরি এবং জিপ আর্কাইভ রিমুভ করুন:
cd /var/www/html/example.comsudo rm -r install prestashop_1.7.2.1.zip

PrestaShop Optimize করুন এবং SSL এনাবল করুন।

https এ রিডাইরেক্ট করুন। PrestaShop Backend থেকে CONFIGURE এ যান, সেখান থেকে Shop Parameters এ ক্লিক করুন।

এখানে SSL এনাবল করার জন্য Yes এ ক্লিক করুন এবং Enable SSL on all page এ ক্লিক করুন। এর পর পেজ স্ক্রোল  করে Save বাটন এ ক্লিক করুন।

আপনি সব জায়গায় একসাথে SSL এনাবল করতে না পারলে Save করুন এবং Save হওয়ার পর আবার চেষ্টা করুন।

বাম পাশের মেনুতে ফিরে আসুন এবং Shop Parameters এর popup মেনুতে স্ক্রোল  করুন। সেখান থেকে Traffic And SEO তে ক্লিক করুন। নিচের ইমেজ এর মতো না দেখা পর্যন্ত স্ক্রোল  করতে থাকুন।

Friendly URL এর জন্য YES এ ক্লিক করুন। ক্যানোনিকাল URL এ রিডাইরেক্ট করার জন্য 301 Moved permanently তে ক্লিক করুন। এবার “Save” বাটন এ ক্লিক করুন।

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

CONFIGURE মেনু থেকে Advance Parameters এ ক্লিক করুন এবং সাবমেনু থেকে Performance এ ক্লিক করুন।

এখানে Smarty তে Template Compilation অপশন থেকে “Recompile templates if the files have been updated” ক্লিক করুন। Cache এ Yes ক্লিক করুন এবং সেভ করার জন্য Save বাটন এ ক্লিক করুন।

এবার নিচের দিকে স্ক্রোল করুন যতক্ষণ পর্যন্ত CCC (COMBINE, COMPRESS AND CACHE) খুজে না পান।

এখান থেক সবগুলো অপশন এ YES ক্লিক করে “Save” এ ক্লিক করুন।

একটি টেক্সট এডিটরে /etc/php/7.0/apache2/php.ini খুলুন এবং নিম্নোক্ত তিনটি সেটিংস দেখুন।

/etc/php/7.0/apache2/php.ini

1 2 3memory_limit = 128M upload_max_filesize = 2M max_execution_time = 30

বড় ইমেজ আপলোড এনাবল করার জন্য upload_max_filesize 10M তে পরিবর্তন করুন। অন্য দুটি সেটিংস এই সময়ে পরিবর্তন না করলে ও চলবে, কিন্তু যদি আপনার সাইটের মেমরির ব্যবহার বেড়ে যায় বা আপনি একটি প্লাগইন ইনস্টল করেন যার স্ক্রিপ্টটি ধীরে ধীরে চলতে থাকে, তাহলে আপনাকে যথাক্রমে memory_limit বা max_execution_time বৃদ্ধি বিবেচনা করতে হবে।

এবার Apache রিস্টার্ট করুন।

sudo systemctl restart apache2.service

মেইল ডেলিভারি সেটআপ

PrestaShop- এ মেইল ডেলিভারি চালু করা অত্যাবশ্যক কারণ ই-মেইলের মাধ্যমে এরকম অনেক কিছু ঘটে: গ্রাহক একাউন্টের সার্টিফিকেশন, সাবস্ক্রিপশন, ডেলিভারি অবস্থা, অর্ডার নিশ্চিতকরণ ইত্যাদি।

এখানে Mail-In-a-Box মতো একটি সর্বজনীন সমাধান ব্যবহার করাও সম্ভব, কিন্তু সবচেয়ে সহজ পদ্ধতি হচ্ছে Google এর G Suite বা Fastmail এর মত একটি ডেডিকেটেড সমাধান ব্যবহার করা।

PrestaShop এ মেইল কনফিগার করুন.

CONFIGURE মেনু থেকে Advance Parameters এ ক্লিক করুন এবং সেখান থেকে ইমেইল এ ক্লিক করুন।

class=img-responsive

মেইল কনফিগার করার জন্য উপরের ইমেজটি অনুসরণ করুন।

পেজ এর নিচের দিকে নতুন কিছু অপশন পাবেন নিচের ইমেজ এর মতো।

কিভাবে-ubuntu-16-4-এ-lemp-stack-ইন্সটল-করবেন

LEMP Stack কি?

LAMP স্ট্যাক (লিনাক্স, অ্যাপাচি, মারিয়া ডি বি এবং পিএইচপি) ওয়েব অ্যাপ্লিকেশনের উন্নয়ন এবং হোস্টিংয়ের জন্য একটি জনপ্রিয় সার্ভার কনফিগারেশন। স্ট্যাকের চারটি উপাদান দৃঢ়ভাবে সংযুক্ত নয়। LAMP স্ট্যাক হল একটি সাধারণ ধরন, যেখানে Apache ওয়েব সার্ভারটি NGINX দ্বারা প্রতিস্থাপিত হয়।

শুরু করার আগে যা করতে হবে।

  • আপনার সিস্টেম এ একটি root access এর প্রয়োজন অথবা “sudo” নিয়ন্ত্রিত একটি user account প্রয়োজন হবে।
  • আপনার সিস্টেম এর hostname সেট করুন।
  • আপনার সিস্টেম কে পুরোপুরি আপডেট করুন।

NGINX ইন্সটলেশন

এই স্টেপগুলি Ubuntu তে NGINX Mainline ইনস্টল করে যা NGINX Inc. এর অফিসিয়াল সংগ্রহস্থল থেকে নেওয়া। অন্যান্য ডিস্ট্রিবিউশনের জন্য, NGINX অ্যাডমিন গাইড দেখুন।

  • একটি টেক্সট এডিটরে “/etc/apt/sources.list” এটি খুলুন এবং নিচের লাইনটি অনুসরণ করে নীচে যোগ করুন। আপনার উবুন্টু রিলিজের কোডনাম সহ এই উদাহরণে “CODENAME” প্রতিস্থাপন করুন। উদাহরণস্বরূপ, উবুন্টু 04 এর জন্য, বায়োনিক বীবর নামে, নীচের “CODENAME” এর জায়গায় “bionic” লিখুন।
  • /etc/apt/sources.list
1deb http://nginx.org/packages/mainline/ubuntu/ CODENAME nginx

Repository’s package signing key টি ইম্পোর্ট করুন এবং “apt” তে অ্যাড করুন।

sudo wget http://nginx.org/keys/nginx_signing.keysudo apt-key add nginx_signing.key

NGINX ইনস্টল করুন

sudo apt updatesudo apt install nginx

নিশ্চিত করুন যে NGINX চালু আছে এবং অটোমেটিক রিবুট অপশন এনাবল করা আছে।

sudo systemctl start nginxsudo systemctl enable nginx

MariaDB ইন্সটলেশন

MariaDB সার্ভার এবং “MySQL / MariaDB-PHP” Support ইনস্টল করুন। ইনস্টলেশনের সময় আপনাকে রুট পাসওয়ার্ড নির্ধারণ করতে অনুরোধ করা হতে পারে।

sudo apt install mariadb-server php7.0-mysql

Mysql_secure_installation script টি রান করুন।

sudo mysql_secure_installation

যদি আপনি একটি MySQL Root User Password তৈরি করতে না চান তবে MariaDB ইনস্টল করার সময়, স্ক্রিপ্টটির উত্তর, Y সেট করুন।

নিম্নলিখিত প্রম্পটে Answer “Y” সিলেক্ট করুন।

  • Remove anonymous users?
  • Disallow root login remotely?
  • Remove test database and access to it?
  • Reload privilege tables now

MariaDB এর SQL শেল এ লগইন করুন। অনুরোধ জানানো হলে রুট ব্যবহারকারীর পাসওয়ার্ডটি লিখুন।

mysql -u root -p

অ্যাক্সেস অনুমতির সাথে একটি Test Database এবং User তৈরি করুন।  আপনার সেটআপের জন্য যথাযথ নাম দিয়ে “testdb” এবং “testuser” কে প্রতিস্থাপন করুন। একটি শক্তিশালী পাসওয়ার্ড দিয়ে “Password” প্রতিস্থাপন করুন।

CREATE DATABASE testdb;CREATE USER ‘testuser’ IDENTIFIED BY ‘password’;GRANT ALL PRIVILEGES ON testdb.* TO ‘testuser’;quit

PHP ইন্সটলেশন

PHP FastCGI Processing Manager ইন্সটল করুন। যা মূল পিএইচপি ডিফেন্ডেন্সগুলোতে আনতে হবে।

sudo apt install php7.0-fpm

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

sudo sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php/7.0/fpm/php.ini

“PHP’s listening” এর মালিকানা UNIX সকেটগুলি ডিফল্টভাবে “www-data” তে সেট করা আছে, তবে ব্যবহারকারী এবং গ্রুপ NGINX- এর সাথে মিলিত হওয়া প্রয়োজন। আপনি যদি উপরের NGINX সংগ্রহস্থল থেকে NGINX ইনস্টল করেন, NIGINX ইউজার এবং গ্রুপ এ “nginx” ব্যবহার করা হবে। “www.conf” এ “listen” ভেরিয়েবল পরিবর্তন করুন।

sudo sed -i 's/listen.owner = www-data/listen.owner = nginx/g' /etc/php/7.0/fpm/pool.d/www.confsudo sed -i 's/listen.group = www-data/listen.group = nginx/g' /etc/php/7.0/fpm/pool.d/www.conf

একটি NGINX সাইট কনফিগারেশন ফাইল সেট করুন।

একটি root directory তৈরি করুন, যেখানে আপনার সাইট এর কনটেন্ট লাইভ হবে। “example.com” এর স্থানে আপনার ডোমেইনটি সেট করুন।

sudo mkdir -p /var/www/example.com/

একটি উদাহরণ হিসাবে প্যাকেজ দিয়ে দেওয়া ডিফল্ট সাইট কনফিগারেশন ডিজেবল করুন।

sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.disabled

ওয়েবসাইট কনফিগারেশন ফাইলগুলি “/etc/nginx/conf.d/” এ রাখা উচিত। আপনার সাইটের জন্য একটি কনফিগারেশন ফাইল তৈরি করুন। আবার আপনার ডোমেইন নেমটি example.com এর স্থানে সেট করুন।

/etc/nginx/conf.d/example.com.conf

 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18server {     listen         80 default_server;     listen         [::]:80 default_server;     server_name    example.com www.example.com;     root           /var/www/example.com;     index          index.html;       location / {       try_files $uri $uri/ =404;     }       location ~* \.php$ {       fastcgi_pass unix:/run/php/php7.0-fpm.sock;       include         fastcgi_params;       fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;       fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;     } }

উপরের সার্ভার ব্লক এ একটি ব্রেকডাউন রয়েছে।

  • NGINX উদাহরণস্বরূপ ইনকামিং সংযোগের জন্য পোর্ট 80 শো করছে।
  • সাইটটি “/var/www/example.com/” এখান থেকে লাইভ করা হয় এবং এখানে একটি একটি সাধারণ এইচটিএমএল এ করা Index Page আছে। যদি আপনার Index Page পিএইচপি ব্যবহার করে, “index.html” এর পরিবর্তে “php” বিকল্পটি নির্বাচন করুন।
  • “try_files”, NGINX কে অনুরোধ করার আগে অনুরোধ করা ফাইল বা ডিরেক্টরি প্রকৃতপক্ষে সাইট এর রুট ফাইলসিস্টেমের মধ্যে বিদ্যমান কিনা তা যাচাই করতে বলে। এটি না হলে, একটি “404” ফেরত আসে।
  • “location ~ * \ .php $” এর মানে হল যে NGINX এই কনফিগারেশনটি আপনার সাইটের রুট ডিরেক্টরীতে .php ফাইলগুলির ক্ষেত্রে পিএইচপি ফাইল ধারণকারী কোন সাবডিরেক্টরি সহ প্রয়োগ করবে।
  • “~ * \ .php $” অবস্থান নির্দেশের মধ্যে “*” ইঙ্গিত দেয় যে পিএইচপি ফাইলের নামগুলি ক্ষেত্রে সংবেদনশীল নয়।
  • “fastcgi_pass” PHP Listens অন্যান্য স্থানীয় প্রসেসগুলির থেকে ইনকামিং সংযোগগুলির জন্য UNIX সকেট সুনির্দিষ্ট করে।
  • “fastcgi_params অন্তর্ভুক্ত” NGINX “/ etc / nginx / fastcgi_param” এ “fastcgi_param” ভেরিয়েবলের একটি তালিকা প্রক্রিয়া করতে বলে।
  • “Fastcgi_param” নির্দেশাবলী location (সাইট এর রুট ডিরেক্টরি সম্পর্কিত) এবং পিএইচপি স্ক্রিপ্ট ফাইল naming convention NGINX দ্বারা প্রচার করা হলে পরিবেশিত হয়।

LEMP Stack টেস্ট করুন।

PHP রিস্টার্ট করুন এবং NGINX রিলোড করুন।

sudo systemctl restart php7.0-fpmsudo nginx -s reload

NGINX পিএইচপি রেন্ডার করতে এবং MySQL ডাটাবেসের সাথে সংযুক্ত করতে যাচাই করার জন্য একটি Test Page তৈরি করুন। আপনার উপরে নির্মিত মাইএসকিউএল প্রমাণাদিগুলো “testuser” এবং “password” ক্ষেত্রগুলির সাথে প্রতিস্থাপন করুন।

/var/www/example.com/test.php

 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24<html> <head>     <h2>LEMP Stack Test</h2> </head>     <body>     <?php echo ‘<p>Hello,</p>’;       // Define PHP variables for the MySQL connection.     $servername = “localhost”;     $username = “testuser”;     $password = “password”;       // Create a MySQL connection.     $conn = mysqli_connect($servername, $username, $password);       // Report if the connection fails or is successful.     if (!$conn) {         exit(‘<p>Your connection has failed.<p>’ .  mysqli_connect_error());     }     echo ‘<p>You have connected successfully.</p>’;     ?> </body> </html>

একটি ওয়েব ব্রাউজার থেকে “http://example.com/test.php” এ যান। এটি যে সফলভাবে সংযোগ আছে তার একটি রিপোর্ট করা উচিত, আপনি যদি কোন ত্রুটি বার্তা দেখতে পান বা পেজটি সব সময় লোড না হয় এই রকম সমসযা দেখেন, তাহলে আপনার কনফিগারেশন পুনরায় পরীক্ষা করুন।

সঠিকভাবে কাজ করার জন্য স্ট্যাক যাচাই করার পরে Test File টি ডিলিট মুছে ফেলুন।

sudo rm /var/www/example.com/test.php

কিভাবে Debian 9 এ LEMP Stack ইন্সটল করবেন ?

LEMP Stack কি?

LAMP স্ট্যাক (লিনাক্স, অ্যাপাচি, মারিয়া ডিবি এবং পিএইচপি) ওয়েব অ্যাপ্লিকেশনের উন্নয়ন এবং হোস্টিংয়ের জন্য একটি জনপ্রিয় সার্ভার কনফিগারেশন। স্ট্যাকের চারটি উপাদান দৃঢ়ভাবে সংযুক্ত নয়। LAMP স্ট্যাক হল একটি সাধারণ ধরন, যেখানে Apache ওয়েব সার্ভারটি NGINX দ্বারা প্রতিস্থাপিত হয়।

শুরু করার আগে যা করতে হবে।

  • আপনার সিস্টেম এ একটি root access এর প্রয়োজন অথবা “sudo” নিয়ন্ত্রিত একটি user account প্রয়োজন হবে।
  • আপনার সিস্টেম এর hostname সেট করুন।
  • আপনার সিস্টেম কে পুরোপুরি আপডেট করুন।

NGINX ইন্সটলেশন

এই স্টেপগুলি Debian 9 তে NGINX Mainline ইনস্টল করে যা NGINX Inc. এর অফিসিয়াল সংগ্রহস্থল থেকে নেওয়া। অন্যান্য ডিস্ট্রিবিউশনের জন্য, NGINX অ্যাডমিন গাইড দেখুন।

একটি টেক্সট এডিটরে “/etc/apt/sources.list” এটি খুলুন এবং নিচের লাইনটি অনুসরণ করে নীচে যোগ করুন।

/etc/apt/sources.list

1deb http://nginx.org/packages/mainline/debian/ stretch nginx

Repository’s package signing key টি ইম্পোর্ট করুন এবং “apt” তে অ্যাড করুন।

sudo wget http://nginx.org/keys/nginx_signing.keysudo apt-key add nginx_signing.key

NGINX ইনস্টল করুন

sudo apt updatesudo apt install nginx

নিশ্চিত করুন যে NGINX চালু আছে এবং অটোমেটিক রিবুট অপশন এনাবল করা আছে।

sudo systemctl start nginxsudo systemctl enable nginx

MariaDB ইন্সটলেশন

MariaDB সার্ভার এবং “MySQL / MariaDB-PHP” Support ইনস্টল করুন। ইনস্টলেশনের সময় আপনাকে রুট পাসওয়ার্ড নির্ধারণ করতে অনুরোধ করা হতে পারে।

sudo apt install mariadb-server php7.0-mysql

নিশ্চিত করুন যে MariaDB চালু আছে এবং অটোমেটিক রিবুট অপশন এনাবল করা আছে।

sudo systemctl start mariadbsudo systemctl enable mariadb

Mysql_secure_installation script টি রান করুন।

sudo mysql_secure_installation

MariaDB ইনস্টল করার সময় যদি আপনি MySQL root user password দিতে না চান, সেক্ষেত্রে আপনাকে Password এর জন্য অনুরোধ জানানো হলে Y প্রেস করুন।

নিম্নলিখিত প্রম্পটে Answer “Y” সিলেক্ট করুন।

  • Remove anonymous users?
  • Disallow root login remotely?
  • Remove test database and access to it?
  • Reload privilege tables now

MariaDB এর SQL শেল এ লগইন করুন। অনুরোধ জানানো হলে রুট ব্যবহারকারীর পাসওয়ার্ডটি লিখুন।

mysql -u root -p

অ্যাক্সেস অনুমতির সাথে একটি Test Database এবং User তৈরি করুন।  আপনার সেটআপের জন্য যথাযথ নাম দিয়ে “testdb” এবং “testuser” কে প্রতিস্থাপন করুন। একটি শক্তিশালী পাসওয়ার্ড দিয়ে “Password” প্রতিস্থাপন করুন।

CREATE DATABASE testdb;CREATE USER 'testuser' IDENTIFIED BY 'password';GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';quit

PHP ইন্সটলেশন

PHP FastCGI Processing Manager ইন্সটল করুন। যা মূল পিএইচপি ডিফেন্ডেন্সগুলোতে আনতে হবে।

sudo apt install php7.0-fpm

পিএইচপি কে বলুন, শুধুমাত্র সার্ভারে বিদ্যমান ফাইলগুলির জন্য ইউআরএলগুলি গ্রহন করতে।

sudo sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php/7.0/fpm/php.ini

“PHP’s listening” এর মালিকানা UNIX সকেটগুলি ডিফল্টভাবে “www-data” তে সেট করা আছে, তবে ব্যবহারকারী এবং গ্রুপ NGINX- এর সাথে মিলিত হওয়া প্রয়োজন। আপনি যদি উপরের NGINX সংগ্রহস্থল থেকে NGINX ইনস্টল করেন, NIGINX ইউজার এবং গ্রুপ এ “nginx” ব্যবহার করা হবে। “www.conf” এ “listen” ভেরিয়েবল পরিবর্তন করুন।

sudo sed -i 's/listen.owner = www-data/listen.owner = nginx/g' /etc/php/7.0/fpm/pool.d/www.confsudo sed -i 's/listen.group = www-data/listen.group = nginx/g' /etc/php/7.0/fpm/pool.d/www.conf

একটি NGINX সাইট কনফিগারেশন ফাইল সেট করুন।

একটি root directory তৈরি করুন, যেখানে আপনার সাইট এর কনটেন্ট লাইভ হবে। “example.com” এর স্থানে আপনার ডোমেইনটি সেট করুন।

sudo mkdir -p /var/www/example.com/

প্যাকেজের সাথে ডিফল্ট উদাহরণস্বরূপ সাইট কনফিগারেশন পুনঃনামকরণ করুন। যদি আপনার ব্যবহার জন্য এটি প্রয়োজন না হয় তাহলে এটি ডিলিট করে দিন।

sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.disabled

ওয়েবসাইট কনফিগারেশন ফাইলগুলি “/etc/nginx/conf.d/” এ রাখা উচিত। আপনার সাইটের জন্য একটি কনফিগারেশন ফাইল তৈরি করুন। আবার আপনার ডোমেইন নেমটি example.com এর স্থানে সেট করুন।

/etc/nginx/conf.d/example.com.conf

 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18server {     listen         80 default_server;     listen         [::]:80 default_server;     server_name    example.com www.example.com;     root           /var/www/example.com;     index          index.html;       location / {       try_files $uri $uri/ =404;     }       location ~* \.php$ {       fastcgi_pass unix:/run/php/php7.0-fpm.sock;       include         fastcgi_params;       fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;       fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;     } }

উপরের সার্ভার ব্লক এ একটি ব্রেকডাউন রয়েছে।

  • NGINX উদাহরণস্বরূপ ইনকামিং সংযোগের জন্য পোর্ট 80 শো করছে।
  • সাইটটি “/var/www/example.com/” এখান থেকে লাইভ করা হয় এবং এখানে একটি সাধারণ এইচটিএমএল এ করা Index Page আছে। যদি আপনার Index Page পিএইচপি ব্যবহার করে, “index.html” এর পরিবর্তে “php” বিকল্পটি নির্বাচন করুন।
  • “try_files”, NGINX কে অনুরোধ করার আগে অনুরোধ করা ফাইল বা ডিরেক্টরি প্রকৃতপক্ষে সাইট এর রুট ফাইলসিস্টেমের মধ্যে বিদ্যমান কিনা তা যাচাই করতে বলে। এটি না হলে, একটি “404” ফেরত আসে।
  • “location ~ * \ .php $” এর মানে হল যে NGINX এই কনফিগারেশনটি আপনার সাইটের রুট ডিরেক্টরীতে .php ফাইলগুলির ক্ষেত্রে পিএইচপি ফাইল ধারণকারী কোন সাবডিরেক্টরি সহ প্রয়োগ করবে।
  • “~ * \ .php $” অবস্থান নির্দেশের মধ্যে “*” ইঙ্গিত দেয় যে পিএইচপি ফাইলের নামগুলি ক্ষেত্রে সংবেদনশীল নয়।
  • “fastcgi_pass” PHP Listens অন্যান্য স্থানীয় প্রসেসগুলির থেকে ইনকামিং সংযোগগুলির জন্য UNIX সকেট সুনির্দিষ্ট করে।
  • “fastcgi_params অন্তর্ভুক্ত” NGINX “/ etc / nginx / fastcgi_param” এ “fastcgi_param” ভেরিয়েবলের একটি তালিকা প্রক্রিয়া করতে বলে।

“Fastcgi_param” নির্দেশাবলী location (সাইট এর রুট ডিরেক্টরি সম্পর্কিত) এবং পিএইচপি স্ক্রিপ্ট ফাইল naming convention NGINX দ্বারা প্রচার করা হলে পরিবেশিত হয়।

LEMP Stack টেস্ট করুন।

PHP রিস্টার্ট করুন এবং NGINX রিলোড করুন।

sudo systemctl restart php7.0-fpmsudo nginx -s reload

LEMP Stack টেস্ট করুন।

PHP রিস্টার্ট করুন এবং NGINX রিলোড করুন।

NGINX পিএইচপি রেন্ডার করতে এবং MySQL ডাটাবেসের সাথে সংযুক্ত করতে যাচাই করার জন্য একটি Test Page তৈরি করুন। আপনার উপরে নির্মিত মাইএসকিউএল প্রমাণাদিগুলো “testuser” এবং “password” ক্ষেত্রগুলির সাথে প্রতিস্থাপন করুন।

/var/www/example.com/test.php

 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24<html> <head>     <h2>LEMP Stack Test</h2> </head>     <body>     <?php echo ‘<p>Hello,</p>’;       // Define PHP variables for the MySQL connection.     $servername = “localhost”;     $username = “testuser”;     $password = “password”;       // Create a MySQL connection.     $conn = mysqli_connect($servername, $username, $password);       // Report if the connection fails or is successful.     if (!$conn) {         exit(‘<p>Your connection has failed.<p>’ .  mysqli_connect_error());     }     echo ‘<p>You have connected successfully.</p>’;     ?> </body> </html>

একটি ওয়েব ব্রাউজার থেকে “http://example.com/test.php” এ যান। এটি যে সফলভাবে সংযোগ আছে তার একটি রিপোর্ট করা উচিত, আপনি যদি কোন ত্রুটি বার্তা দেখতে পান বা পেজটি সব সময় লোড না হয় এই রকম সমসযা দেখেন, তাহলে আপনার কনফিগারেশন পুনরায় পরীক্ষা করুন।

সঠিকভাবে কাজ করার জন্য স্ট্যাক যাচাই করার পরে Test File টি ডিলিট মুছে ফেলুন।

sudo rm /var/www/example.com/test.php

Leave a Reply

Your email address will not be published. Required fields are marked *