আমার প্রোগ্রামিং লাইফ শুরুই হইছে বলতে পিএইচপি দিয়ে। আমি সি প্রোগ্রামিং করার আগে পিএইচপি করছি, কাজেই জ্যাম্পের (XAMPP)-এর সাথে আমার পরিচয় বহুদিনের।
আবার এইবার ডাটাবেজ ম্যানেজমেন্ট সিস্টেম কোর্স করার জন্য আমাদের XAMPP ব্যাবহার করা দরকার হয়ে পরেছিলো কারন আমাদের কোর্সের ফাইনাল প্রোজেক্ট হলো একটা ডাটাবেজ ক্রুড অ্যাপলিকেশন ডেভেলপ করা।
ক্রুড (CRUD) হলো Create, Read, Update, Delete এর সংক্ষিপ্ত রূপ।
এখন টিমের কাজ ভাগ করা হয়েছে এভাবে, একজন ডাটাবেজে ডাটা ইনপুট দিবে আর রিপোর্ট-প্রেজেন্টেশনে কাজ করবে, আরেকজন ব্যাকেন্ড প্রোগ্রামিং করবে, আরেকজন ফ্রন্টেন্ড প্রোগ্রামিং করবে।
এখন সবাই যখন একসাথে কাজ করতে বসি তখন মনে হয় ভেঙ্গে ভেঙ্গে কাজ করার চাইতে সবাই যদি একটা কম্পিউটারে শেয়ার করে কাজ করতে পারতো। মানে আমার কম্পিউটারে থাকা XAMPP ইন্সটলেশনে যদি বাকি দুইজন টিম মেম্বার একসাথে কাজ করতে পারতো, তাহলে আরোও এফিশিয়েন্ট হতো পুরো বিষয়টা।
একই ওয়াইফাই রাউটার কিংবা লোকাল নেটওয়ার্কে থাকলে অন্য কম্পিউটারে হোস্ট করা XAMPP-এ থাকা প্রোজেক্ট খুব সহজে এক্সেস করা যায়।
localhost/ProjectFolderName দিয়ে যেমন আমরা নিজেদের কম্পিউটারে থাকা প্রোজেক্ট এক্সেস করতে পারি, এইখানে localhost হোস্টনেম বদলে দিয়ে যদি আমার নিজের কম্পিউটারের আইপি অ্যাড্রেস দিয়ে পরিবর্তন করে দিই তবে একই নেটওয়ার্কে থাকা আমার বন্ধুর কম্পিউটার থেকেও একই প্রোজেক্ট দেখতে পারবে।
যদি ধরি আমার কম্পিউটারের আইপি হলো 192.168.0.112
তাহলে http://localhost/ProjectFolderName হয়ে যাবে http://192.168.0.112/ProjectFolderName
সবার আগে বের করা দরকার আমার কম্পিউটারের লোকাল আইপি অ্যাড্রেস। যেহেতু আমার কম্পিউটারে XAMPP ইন্সটল করা আছে এবং এটাতেই মূলত মূল প্রোজেক্ট রাখা হবে।
সরাসরি রাউটারের অ্যাডমিন কন্ট্রোল থেকেও আইপি অ্যাড্রেস দেখা যায়। অনেক রাউটারে এইটা বেশ সহজ করে দেয়া থাকে কম্পিউটারের নামধাম আর অপারেটিং সিস্টেমের নাম সহ, সব রাউটার এতো ফিচার দেয় না, যেমন আমার বাসার রাউটারে কেবল লোকাল আইপি অ্যাড্রেস বাদ দিয়ে এতো কিছু দেখা যায় না। তাই নতুন কারো, যার এসব বিষয়ে অভিজ্ঞতা কম, তারা একটু ঝামেলা মনে করতে পারেন।
নিজের কম্পিউটারের আইপি অ্যাড্রেস পাবার জন্য Command Prompt-এ গিয়ে কমান্ড দিতে হবে
ipconfig /all
তাহলে যে নেটওয়ার্কে কানেক্ট হয়ে আছে সেটা দেখাবে।
সেখানে বের করে নিতে হবে আমাদের লোকাল আইপি অ্যাড্রেস যেটা হলো আপনার IPv4 Address. যেটা এখানে 192.168.0.112 দেখা যাচ্ছে।
যেমন আমি কানেক্ট করে আছি ক্যাবল (Ethernet) দিয়ে, তাই এটাই হচ্ছে আমার কাঙ্ক্ষিত নেটওয়ার্ক এবং আমার কম্পিউটারের আইপি অ্যাড্রেস।
এছাড়া ডিফল্ট গেটওয়ে (Default Gateway) দেয়া আছে 192.168.0.1 যেইটা মূলত আমার রাউটারের অ্যাড্রেস। এটা দেখে নিশ্চিত হয়ে যেতে পারলাম এইটাই সেই কাঙ্ক্ষিত কানেকশন এবং আইপি অ্যাড্রেস।
এবার আমি আমার XAMPP সার্ভারওয়ালা কম্পিউটারের আইপি অ্যাড্রেস পেয়ে গেছি। এবার ব্রাউজারে চলে যাই এই অ্যাড্রেস চেক করে দেখার জন্য। একই নেটওয়ার্কে থাকা যেকোনো কম্পিউটার অথবা মোবাইল ফোন দিয়ে কাজ করবে এটি। দেখা যাক।
দেখা যাচ্ছে ঠিকই কাজ করছে একই নেটওয়ার্কে থাকা অন্য কম্পিউটার থেকে। এবার আমাদের কাজ হবে পিএইচপি মাই অ্যাডমিনে গিয়ে চেক করা যে অন্য কম্পিউটার থেকে পিএইচপি মাই অ্যাডমিনে কাজ করা যায় কিনা।
এখানে বেশ কিছু কথা আগেই বলে নিতে চাই।
XAMPP কিন্তু কেবল মাত্র ডেভেলপমেন্টে ব্যবহার করার জন্য তৈরি করা হয়েছে। এইটার সিকিউরিটি বেশ দুর্বল। প্রোডাকশন রেডি কোনো ফিচার এতে নেই। এইটার সিকিউরিটি দুর্বল রাখা হয়েছে যাতে করে ডেভেলপার বা স্টুডেন্টরা সহজেই এইটা ইন্সটল করে কাজ শুরু করে দিতে পারে। এমনকি মাই এসকিউএল ডাটাবেজেও এখানে পাসওয়ার্ড দেয়া থাকে না।
এখন কেউ যদি ভেবে থাকো যে, যেহেতু অন্য কম্পিউটার থেকে আমার কম্পিউটারে থাকা ওয়েবসাইট দেখা যাচ্ছে, তাইলে আমি আমার কম্পিউটার থেকেই পাবলিক হোস্টিং করতে পারবো। হ্যাঁ, ঠিকঠাক ভাবে সেটাপ করতে পারলে আসলেই XAMPP দিয়ে বাসায় থাকা কম্পিউটারে ওয়েবসাইট হোস্টিং করা সম্ভব কিন্তু সেটা হবে খুবই ইন্সিকিউর একটা কাজ। কাজেই যদি পাবলিক নেটওয়ার্ক কিংবা আইপি পাবলিক হয়ে থাকে, তাহলে সেই নেটওয়ার্কে XAMPP চালু করে কাজ করার ব্যাপারে একটু সতর্ক থাকা উচিত। শেয়ার্ড আইপির ইন্টারনেট কানেকশনে এই ঝুঁকি বেশ কম, যদি কোনো রাউটারের পেছনের লোকাল নেটওয়ার্কে XAMPP কাজ করতে থাকে।
আবার আমরা আমাদের কাজে ফিরে যাই। আমরা চেষ্টা করে দেখবো আমার কম্পিউটারের XAMPP-এর PhpMyAdmin কি একই নেটওয়ার্কে থাকা আমার বন্ধুর কম্পিউটার থেকে এক্সেস করে কাজ করা যায় কিনা। যেহেতু আমরা একই সময়ে প্রোজেক্টে ডাটা এন্ট্রি করার কাজও করতে পারি।
তো চেষ্টা করে দেখা যাক আমার বন্ধুর কম্পিউটার থেকে...
দেখা যাচ্ছে যে আমরা অন্য কম্পিউটার থেকে পিএইচপি মাই অ্যাডমিনে যেতে পারছি না। কারন XAMPP ডাটাবেজের সেফটির জন্য এইটা বন্ধ করে রেখেছে যাতে অন্য কেউ আমাদের ডাটাবেজে কোনো কাজ না করতে পারে। তো আমরা যেহেতু আমাদের নিজেদের ওয়াইফাই নেটওয়ার্ক কিংবা লোকাল নেটওয়ার্কে আছি, তাই আমি চাইলে এইটা ওপেন করে দিতে পারি যাতে করে ডেভেলপমেন্টের কাজ করতে পারি।
তাই আমি এবার একটা কাজ করবো, XAMPP-এর যে কন্ট্রোল প্যানেলটা আছে, সেখানে চলে যাবো।
তারপর Apache-এর Config থেকে httpd-xampp.conf ফাইলটা ওপেন করবো।
অথবা XAMPP-এর ইন্সটলেশন ফোল্ডার থেকে apache\conf\extra\httpd-xampp.conf ফাইলটি ওপেন করবো, দুইটি আসলে একই ফাইল। সাধারণত notepad দিয়ে ওপেন হয়ে যায়, কিন্তু আমি কনফিগারেশন থেকে notepad++ সেট করে নিয়েছি। তাই আমার নোটপ্যাড প্লাসপ্লাস দিয়ে ওপেন হয়ে গেছে।
- এখন এই ফাইলে নিচের অংশটুকু খুঁজে বের করি। সাধারণত ফাইলের একদম শেষে থাকে এইটুক অংশ। চাইলে কেবল phpMyAdmin সার্চ দিয়ে বের করে নেয়া যায়।
Alias /phpmyadmin "I:/XamppNew/phpMyAdmin/"
<Directory "I:/XamppNew/phpMyAdmin">
AllowOverride AuthConfig
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory> - এইবার এখানে 'Require local' অংশটাকে ডিলিট করে 'Require all granted' লিখে দিই।
Alias /phpmyadmin "I:/XamppNew/phpMyAdmin/"
<Directory "I:/XamppNew/phpMyAdmin">
AllowOverride AuthConfig
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
যদি চালু করাই থেকে থাকে আগে থেকে, তাহলে একবার বন্ধ করে তারপর চালু করবো।
এবার একবার রিফ্রেশ করে দেখি অন্য কম্পিউটার থেকে MySQL কাজ করে নাকি
!
এবং কাজের শেষে এক্সেস বন্ধ করার জন্য আবার কনফিগারেশন এডিট করার কথা ভুলে গেলে চলবে না।
আশা করি এইটা সবার জন্য বেশ কাজে এসেছে। ধন্যবাদ সবাইকে!