পৃথিবী জুড়ে ওয়েব ডেভেলপমেন্টের সাথে জড়িত প্রফেশনালগণ সাধারণত ওয়েবসাইট ডেভেলপের জন্য তাদের কম্পিউটারতে ইন্সটলকৃত লোকাল ডেভেলপমেন্ট সার্ভারের (Xampp, Lampp, Wamp, Local by Flywheel, ইত্যাদি) উপরে নির্ভর করেন। ডেভেলপমেন্টের যাবতীয় কাজ সম্পন্ন হওয়ার পর তারা ওয়েবসাইটকে লোকালহোস্ট থেকে তাদের সার্ভারে সেট-আপ করেন। আর, এর মধ্য দিয়ে তাদের ওয়েবসাইটকে অনলাইন দুনিয়াতে সকলের ব্যবহারের জন্য উন্মুক্ত করে দেন।
এই গাইডে, আমরা দেখানোর চেষ্টা করব যে, লোকালহোস্টে ডেভেলপকৃত একটি ওয়েবসাইটকে কিভাবে আপনি স্টেপ বাই স্টেপ অনুসরণ করে লোকালহোস্ট থেকে একটি অনলাইন সার্ভারে সেট-আপ করবেন। আমি ধরেই নিচ্ছি যে, আপনার ওয়েবসাইটটির ডেভেলপমেন্টের কাজ সম্পূর্ণভাবে শেষ হয়ে গিয়েছে।
চলুন, আর কথা না বাড়িয়ে, একটি জুমলা সাইটকে কিভাবে লোকাল ডেভেলপমেন্ট এনভার্নমেন্ট থেকে অনলাইন সার্ভারে নিয়ে যাব, সেই প্রসেসটা ধাপে ধাপে দেখে নেই।
লোকাল সাইট থেকে সার্ভারে জুমলা সাইট ট্রান্সফারের স্টেপগুলো
চট করে দেখে নেয়ার সুবিধার জন্য সাইট ট্রান্সফারের ধাপগুলো এক নজরে নীচের মত হয়ে থাকে:
- লোকালহোস্ট সার্ভারে থাকা আপনার ওয়েবসাইটের রুট ফোল্ডারের সব ফাইলগুলোকে নিয়ে একটি কম্প্রেসড Zip ফাইল তৈরী করা।
- ওয়েবসাইটের Zip ফাইলকে সার্ভারে রুট ফোল্ডারে আপলোড করতে হবে। এ কাজে একটি FTP ক্লায়েন্ট সফটওয়্যার (যেমন, FileZilla) ব্যবহার করা যেতে পারে। অথবা, বিকল্প হিসেবে, হোস্টিং সার্ভারে লগইন করে cPanel এর ফাইল ম্যানেজার ব্যবহার করা যেতে পারে।
- লোকালহোস্টের phpMyAdmin ব্যবহার করে আপনার জুমলা সাইটের ডাটাবেজকে এক্সপোর্ট করা।
- অনলাইন সার্ভারের phpMyAdmin ব্যবহার করে লোকালহোস্টের জুমলা ডাটাবেজকে ইম্পোর্ট করা।
- এবার, জুমলার configuration.php ফাইলে থাকা প্রয়োজনীয় প্রোপারটিজের সঠিক ভ্যালু সেট করা।
- অনলাইনে টেস্ট করে দেখা যাতে সাইটটি ডিজাইনের সাথে সামঞ্জস্যপূর্ণ দেখাচ্ছে কিনা।
এই টিউটোরিয়ালের গাইডলাইন দেখে, লোকালহোস্ট থেকে অনলাইন সার্ভারে একটা জুমলা ওয়েবসাইটকে ট্রান্সফার করার কাজকে সহজ করে দিবে। আর, এই একই স্টেপগুলো অনুসরণ করে আপনি দুইটা অনলাইন সার্ভারের মধ্যে একটি জুমলা ওয়েবসাইটকে ট্রান্সফার করে ফেলতে পারবেন।
এই টিউটোরিয়ালে যে স্টেপগুলো দেখানো হয়েছে, তা বেশ সরলভাবে উপস্থাপন করা হয়েছে। তবে, এর টেকনিক্যাল দিকগুলো সম্পর্কে আগে থেকে জানা থাকলে এই কাজটি সুচারূভাবে সম্পন্ন করা যাবে।
প্রথমত: কম্প্রেসড .zip ফাইল তৈরী করা
প্রথম ধাপে, আমি আমার লোকালহোস্টের যে ফোল্ডারের মধ্যে জুমলা সাইটটি তৈরী করেছি, তার মধ্যে থাকা সব ফাইলগুলোকে নিয়ে একটি কম্প্রেসড .zip ফাইল তৈরী করব। ধরি, আমার ফাইলের নাম awesome-joomla-site.zip ফাইল।
Windows Operating System এ, লোকালহোস্টের রুট ফোল্ডারটি C:\Xampp\htdocs ফোল্ডারের মধ্য থাকে। Linux এর ক্ষেত্রে, এটি সাধারণত: /opt/lampp/htdocs ফোল্ডারের মধ্যে পাওয়া যেতে পারে।

দ্বিতীয়ত: ওয়েবসাইটের Zip ফাইলকে সার্ভারের রুট ফোল্ডারে আপলোড করা
এখন আমার হাতে রয়েছে আমার সম্পূর্ণ সাইটের .zip ফাইলটি। এবার এই ফাইলকে সার্ভারে আপলোড করার পালা। সাইটের ফাইলগুলোকে .zip আকারে আপলোড করলে, তুলনামূলকভাবে অনেক দ্রুত ফাইল ট্রান্সফার করা যায়। একটা একটা করে প্রতিটা ফাইল আপলোড করলে সেই তুলনায় অনেক, অনেক বেশি সময়ের প্রয়োজন হয়।
আমি এবার FTP ক্লায়েন্ট সফটওয়্যার এবং cPanel এর File Manager ব্যবহার করে ফাইল আপলোড করার পদ্ধতি নিয়ে আলোচনা করব।
FTP ব্যবহার করে ফাইল ট্রান্সফার
FTP ক্লায়েন্ট ব্যবহার করার জন্য আমাকে প্রথমে এর কিছু তথ্য জানতে হবে। কিন্তু, FTP এর সেটিংগুলোর বিস্তারিত তথ্য কোথায় পাবেন? সাইটের স্বত্ত্বাধিকারী এবং ওয়েব ডেভেলপারদের মধ্যে cPanel-ভিত্তিক ওয়েব হোস্টিং ব্যাপক জনপ্রিয়। যে কেউ cPanel-ভিত্তিক হোস্টিং প্যাকেজ ক্রয় করলে হোস্টিং কোম্পানী থেকে ইমেইল’র মাধ্যমে হোস্টিং এর যাবতীয় তথ্যাদি সরবরাহ করা হয়। এর মধ্যে FTP সংক্রান্ত তথ্যও সন্নিবেশিত থাকে।
FTP দিয়ে অনলাইন সার্ভারের সাথে যোগাযোগ স্থাপন করতে নীচের দুইটি তথ্য প্রয়োজন হয়:
- FTP অ্যাড্রেস: সাধারণত: অ্যাড্রেসটি দেখতে অনেকটা এমন হয়: ftp.yourdomain.com
- FTP লগইন’র বিস্তারিত: FTP প্রটোকলের সাথে যুক্ত হওয়ার username এবং password
আর, এই কাজে আমার প্রয়োজন হবে, একটি FTP ক্লায়েন্ট সফটওয়্যার। আমি প্রধানত: FileZilla ব্যবহার করি। আমি আগেই FTP ক্লায়েন্টটি ডাউনলোড করে ইন্সটল করে নিয়েছি এবং FTP লগইন’র তথ্য ব্যবহার করে সার্ভারের সাথে যুক্ত হয়েছি।
FileZilla এ লগইন তথ্য সংরক্ষণ রাখার অংশটি নিচের মত দেখা যায়:

আমার জুমলা সার্ভারের সাথে কানেক্টেড থাকা অবস্থায়, আমি রিমোট সার্ভারে একটু আগে যে .zip ফাইল তৈরী করেছি, তা আপলোড করেছি। সাধারণত, রিমোট সার্ভার রুট ফোল্ডারটি “public-html” বা “www” ফোল্ডারে থাকে। FileZilla এ দুটি প্যানেল আছে, বাম প্যানেল এবং ডান প্যানেল। বাম প্যানেল লোকালহোস্টের দিকে নির্দেশ করে এবং ডান প্যানেল রিমোট সার্ভারের দিকে নির্দেশ করে।
স্থানান্তর শুরু করার জন্য, আমি প্রথমে বাম প্যানেলে আমার ফাইল সিলেক্ট করি এবং FileZilla এর ডান প্যানেলে ড্র্যাগ করে টেনে এনে ছেড়ে দিই। এটি আপনার সার্ভারে আপনার ফাইল স্থানান্তর শুরু করবে।
এখানে একটা কথা স্মরণ রাখতে হবে। যদি আমি একটি .zip ফাইল না তৈরী করি, তবে আমি আমার জুমলা সাইটের সব ফাইলগুলো একটা-একটা করে আপলোড করতে হবে। একটা জুমলা ৩ এ প্রায় ১৩,০০০ এর মত ফাইল রয়েছে।
কিন্তু, আমি যদি আমার সাইটের একটা .zip ফাইলকে সার্ভারে আপলোড করি, তবে এই .zip ফাইলকে আবার আনকম্প্রেস করতে হবে। এক্ষেত্রে, আমি cPanel এ লগইন করে ফাইল ম্যানেজার ব্যবহার করে public-html ফোল্ডারের মধ্যে ঢুকে এই আনকম্প্রেসের কাজটি করব।
cPanel এর File Manager ব্যবহার করে ফাইল ট্রান্সফার

বর্তমানে সিংহভাগ হোস্টিং cPanel ভিত্তিক হোস্টিং হয়ে থাকে। কারণ, এতে বহুল-ব্যবহৃত কাজগুলোতে সাবলীলভাবে সম্পন্ন করা যায়। তবে, কিছু কিছু কোম্পানী হোস্টিং এর সাথে কাস্টমাইজড বা নিজেদের তৈরী হোস্টিং ম্যানেজমেন্ট সিস্টেম প্রদান করে।
- হোস্টিং অ্যাকাউন্টে আপনার ফাইলটি সরাসরি সার্ভারের রুট ফোল্ডারে আপলোড করুন।
- .zip ফাইলটি আন-কম্প্রেস করুন। এতে আপনার লোকালহোস্টের সব ফাইল ও ফোল্ডারগুলোর একটা হুবহু কপি সার্ভারে যথাযথভাবে তৈরী হয়ে যাবে।
তৃতীয়ত: লোকালহোস্টে phpMyAdmin দিয়ে Joomla! ডাটাবেজ এক্সপোর্ট করা

আমি এবার জুমলা ডাটাবেজ এক্সপোর্ট এবং ইমপোর্ট করব। এতে দুইটা স্টেপ রয়েছে:
- লোকালহোস্টের phpMyAdmin থেকে ডাটাবেস এক্সপোর্ট করা
- হোস্টিং কোম্পানীর সার্ভারে MySQL ডাটাবেসে এক্সপোর্ট করা ডাটাবেস ইম্পোর্ট করা
লোকালহোস্ট থেকে জুমলা ডাটাবেস এক্সপোর্ট করা
আমার বর্তমান ডাটাবেস এক্সপোর্ট করতে, আমি phpMyAdmin ব্যবহার করি। আমার ব্যক্তিগত উইন্ডোজ-বেসড কম্পিউটারে Xampp ইনস্টল করার সময় এই phpMyAdmin ইন্সটল হয়েছিল। আর, লিনাক্স-বেসড অপারেটিং সিস্টেমে একে Lampp বলা হয়।
phpMyAdmin একটি ওয়েব-বেসড ডাটাবেস ম্যানেজমেন্ট সিস্টেম। সাধারণত: ব্রাউজারের অ্যাড্রেস বারে http://phpmyadmin – এই URL টি লিখে Enter key চাপ দিয়ে একে ব্যবহার করতে হয়।
phpMyAdmin অ্যাডমিন প্যানেল থেকে, আমি ডাটাবেসের নামের উপরে ক্লিক করি। উপরের মেনু থেকে আমি Export বাটনে ক্লিক করলাম (উপরের চিত্র দেখুন)। Export বাটনে ক্লিক করলে এর সংশ্লিষ্ট পেজ দেখাবে। এখানে, আমি “Custom – display all possible options” অপশনে ক্লিক করলে এই পেজের নিচের দিকে আরও কিছু অপশন দেখাবে। এখান থেকে “Compression” পদ্ধতিকে “Zip” এ পরিবর্তন করি। পেজ একটু স্ক্রল করে নীচের দিকে এসে “OK” বাটনে ক্লিক করুন! কিছুক্ষণের মধ্যে phpMyAdmin আমার ডাটাবেস এক্সপোর্ট করে একটা .zip ফাইলে কনভার্ট করে ডাউনলোড করার জন্য প্রম্পট করবে। .zip টিকে ডেস্কটপে ডাউনলোড করব।
এই .zip ফাইলের মধ্যে আমার ডাটাবেজ ও এর মধ্যে থাকা টেবিলগুলোর যাবতীয় তথ্য ও ডাটা রয়েছে।
মনে রাখা ভাল:
phpMyAdmin এর ডিফল্ট সেটিং অনুযায়ী, Export পেজে “Add CREATE DATABASE / USE statement” টি আন-চেক অবস্থায় থাকে। সজাগ থাকতে হবে যাতে, এই অপশনটি আন-চেক অবস্থায় থাকে। আর, আমরা যখন ডাটাবেজ ইমপোর্ট করব, তার আগে ডাটাবেজকে সার্ভারে ম্যানুয়ালি তৈরী করে নেব।
চতুর্থত: অনলাইন সার্ভারের phpMyAdmin ব্যবহার করে লোকালহোস্টের জুমলা ডাটাবেজকে ইম্পোর্ট করা
এই ধাপে, আমি আমার জুমলা ডাটাবেজকে অনলাইন সার্ভারে ইম্পোর্ট করব।

তবে, তার আগে আমি cPanel থেকে “MySQL® Databases” লিংকে ক্লিক করে একটি ডাটাবেজ তৈরী করে নেব।

একই সাথে, আমি একটা username তৈরী করব এবং এর জন্য একটি শক্তিশালী password সেট করে নেব।

এই database name, username এবং এর password এর তথ্যগুলো আমাদের পরে প্রয়োজন হবে। এই তথ্যগুলোকে যথাযথভাবে জুমলা’র configuration.php ফাইলে থাকা $db, $user, এবং $password এর ভ্যালু হিসেবে সেট করব।
এছাড়া, হোস্টিং কোম্পানী তাদের পাঠানো ইমেইলের মধ্যে আপনার জুমলা’র সাইটের কনফিগারেশনের জন্য $host এর ভ্যালুর জন্য কি লিখতে হবে (localhost, বা, IP Address), সেটিও উল্লেখ করে দিবে।

আমি এবার cPanel থেকে phpMyAdmin লিংকে ক্লিক করে এর সংশ্লিষ্ট পেজটি ওপেন করব।
এই পেজের বাম ও ডান দিকে দুইটা প্যানেল আছে। বাম দিকে রয়েছে, cPanel থেকে তৈরী করা আমার সবগুলো ডাটাবেজের নামের তালিকা। এই তালিকা থেকে আমার জুমলা সাইটের ডাটাবেজের নামের উপরে ক্লিক করলে ডান দিকে প্যানেলে সংশ্লিষ্ট ডাটাবেজের বিস্তারিত তথ্যগুলো দেখাবে।
এবার, ডান দিকের প্যানেলের উপরে দিকে থাকা মেনুবার থেকে Import বাটনটি ক্লিক করব। Import পেজে থাকা Browse… বাটনে চাপ দিব। বাটনে চাপ দেয়ার পর File Upload ডায়ালগ বক্স দেখাবে। আমার লোকালহোস্টের .zip ফাইলটি সিলেক্ট করে Open বাটনে ক্লিক করব। এবার, Import পেজের নিচের দিকে থাকে OK বাটনে চাপ দিব।
এর ফলে, phpMyAdmin আমার .zip ফাইলটি আপলোড করে আমার ডাটাবেজে সব টেবিল ও প্রতিটা টেবিলের থাকা সব row গুলো সেট-আপ করে দিবে।
ডাটাবেজ ইমপোর্ট করার কাজটি একেবারের সোজা-সাপ্টা কাজ। তবুও, নতুনদের ক্ষেত্রে এই কাজটি গোলমেলে মনে হতে পারে। এক্ষেত্রে, হোস্টিং কোম্পানীর সাপোর্ট টিমের কাছে এ কাজে সাহায্য চাইলে, তারা খুশী মনেই এই কাজটা করে দিবে, আশা করি। সাপোর্ট টিম আপনার কাছে ডাটাবেজ এর .zip ফাইলটি চাইবে।
পঞ্চমত: জুমলার configuration.php ফাইল আপডেট করা
জুমলার configuration.php ফাইলে জুমলার বিভিন্ন সেটিংগুলো লেখা থাকে, যেমন: host এর অ্যাড্রেস, database এর নাম, এর ইউজারনেম ও পাসওয়ার্ড, temporary ও log ফাইলের ফিজিক্যাল অ্যাড্রেস (path), ইত্যাদি। বর্তমানে সার্ভারের জুমলা কনফিগারেশন ফাইলে লোকালহোস্টের সেটিং ভ্যালুগুলো থেকে গেছে। এগুলোতে সার্ভারের সাথে সামঞ্জস্যপূর্ণ ভ্যালুগুলো দিয়ে পরিবর্তন করে দিতে হবে।
- আমার হোস্টিং অ্যাকাউন্টের রুট ফোল্ডারে যাব যেখানে আমার জুমলা সাইটকে হোস্ট করব। আমার ক্ষেত্রে রুট ফোল্ডারটি ছিল public_html।
- জুমলা কনফিগারেশন ফাইলটি হল, configuration.php
- ফাইলটিকে খুলে নিচের লাইনগুলো খুঁজে বের করি:
// usually, 'localhost', or '172.0.0.1' public $host = 'localhost'; // change it to the new database username public $user = 'root'; // enter the new database password public $password = ''; // change it to your live server database name public $db = 'joomla_db_name’;
- সার্ভারের ফাইল সিস্টেমের সাপেক্ষে logs এবং tmp ফোল্ডার দু’টির লোকেশন এই দু’টি ভ্যালুতে সঠিকভাবে আপডেট করে নেব:
public $log_path = '/home/account_name/htdocs/public_html/administrator/logs'; public $tmp_path = '/home/account_name/htdocs/public_html/tmp';
এই লাইন দুইটাতে account_name এর স্থলে লাইভ সার্ভারের অ্যাকাউন্টের নামে লিখতে হবে।
এ পর্যন্ত configuration.php ফাইলে যে পরিবর্তনগুলো করেছি, সেগুলো Save করি। এবার, ফাইলটি Close করে দিব।
জুমলা’কে আমরা সঠিকভাবে বলে দিয়েছি, ঠিক কোন অ্যাড্রেসে গিয়ে সাইটের ডাটাবেজ খুঁজে পাবে, এবং এর log ও tmp ফোল্ডার দুইটা কোথায় আছে। সাধারণত: এই কয়েকটি সেটিং পরিবর্তন করলে আপনার জুমলা সাইটটি ব্রাউজারে সঠিকভাবে প্রদর্শন করার জন্য প্রস্তুত হয়ে যায়।
এবার, আপনি যদি ব্রাউজারের অ্যাড্রেসবারে গিয়ে আপনার সাইটের URL লিখে Enter key চাপ দেন, তাহলে আপনি সাইটটি স্ক্রিনে দেখতে পাওয়ার কথা, আশা করি।
ষষ্ঠত: লাইভ সাইট টেস্ট করে দেখা যাতে সাইটটি ডিজাইনের সাথে সামঞ্জস্যপূর্ণ দেখাচ্ছে
আপনার সাইটটির অ্যাসেটটিগুলো, যেমন, CSS, JS এবং Image মত ঠিক মত লোড হলে, এটি ডিজাইনের সাথে হুবুহু মিল রেখে ব্রাউজারে প্রদর্শন করবে।
যদি অ্যাসেটগুলো ঠিক মত লোড না হয়, তবে, F12 কি চাপ দিয়ে ব্রাউজারের “Inspection Tool” টি ওপেন করে অ্যাসেটগুলো পাথ চেক করে দেখতে হবে, কোথাও কোন ভুল আছে কিনা। বিশেষ করে, ইমেজগুলোর পাথ অ্যাড্রেসে লোকালহোস্টের পাথ হার্ডকোড করে দেখা হলে, সেগুলো লাইভ সার্ভারে স্বাভাবিকভাবেই ঠিক মত প্রদর্শন করবে না।
সুতরাং, এই ধরণের বিপত্তির ক্ষেত্রে আতঙ্কিত না হয়ে, ঠাণ্ডা মাথায় ডিবাগ করলে, ভুলগুলো সুধরে নেয়া যাবে।
যদি ব্রাউজারে আপনার সাইটটি ঠিক মত দেখা যায়, তবে, আপনাকে অভিনন্দন! আপনি একটা জুমলা সাইটকে সাফল্যের সাথে লোকালহোস্ট থেকে সার্ভারে ট্রান্সফারের কাজটি সম্পন্ন করেছেন।
পরিশেষে
এই টিউটোরিয়ালে আমি একটা জুমলা সাইটকে লোকালহোস্টের ডেভেলপমেন্ট এনভার্নমেন্ট থেকে সার্ভারে সেট-আপ করার যাবতীয় কর্মযজ্ঞ দেখানোর চেষ্টা করেছি। যদি আপনি মনে করে, ওয়ার্ডপ্রেস বা জুমলা দিয়ে ওয়েবসাইট তৈরী করা ও সাইটকে সার্ভারের সেট-আপ করা আপনার জন্য “টেকনিক্যাল” বিষয় হয়ে যাচ্ছে, তাহলে, আমাদেরকে হায়ার বিষয়টি বিবেচনা করে দেখতে পারে।