কিভাবে উবুন্তু 16.4 এ PrestaShop ইন্সটল করবেন?

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

3

memory_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

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

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