ওয়ার্ডপ্রেস পিএইচপি দিয়ে লেখা, তাই যেকোন ধরনের ডেভেলপমেন্টের জন্য আপনার কিছুটা হলেও পিএইচপি জানতেই হবে। তাই বলে আবার যে শুধু পিএইচপি জানলেই হবে তাও কিন্তু না, সাথে আরো কিছু আনুসঙ্গিক টুলস এবং টেকনোলজী সম্পর্কে সম্যক এবং কার্যকরী ধারনা থাকা লাগবে। ওয়ার্ডপ্রেসে ডেটাবেজ হিসেবে মাইসিকুয়েল (বা মাইএসকিউএল, যে যেভাবে উচ্চারণ করেন আর কি) এবং ওয়েবসার্ভার হিসেবে অ্যাপাচি ব্যবহার করে। কিছু থার্ড পার্টি লাইব্রেরী আছে বটে যেগুলোর সাহায্যে ওয়ার্ডপ্রেস কোনরকমে পোস্টগ্রেস বা সিকুয়েল লাইট দিয়েও চালানো যায় কিন্তু সেগুলো অতটা রোবাস্ট না হওয়ায়, সুযোগ সুবিধা সীমিত হওয়ার কারনে এবং সর্বোপরি মাইসিকুয়েল সব ধরনের হোস্টিং এনভায়রনমেন্টে অত্যন্ত সহজলভ্য হওয়ায় সেগুলো তেমন জনপ্রিয় হয়নি। আর ওয়েবসার্ভার হিসেবে যে অ্যাপাচির কথা বলছিলাম, সেখানেও একই রকম ব্যাপার। তবে তারপরেও এনজিনএক্স (nginx) নামে আরেকটি অত্যন্ত জনপ্রিয় এবং লাইটওয়েট ওয়েবসার্ভার আছে যা দিয়েও ওয়ার্ডপ্রেস চালানো যায়। কিন্তু এনজিনএক্সের সাথে ওয়ার্ডপ্রেস সেটআপ করা কিছুটা অ্যাডভান্সড হওয়ায় আমরা এই আর্টিকেলে সেটা নিয়ে আলোচনা করব না, বরং পরবর্তীতে বিশদভাবে এই ব্যাপারে কথা বলা হবে। ওয়ার্ডপ্রেসের ডকুমেন্টেশন বা কোডেক্সেও এই বিষয়ে বিশদ একটি আর্টিকেল রয়েছে।
ওয়েবসার্ভার সংক্রান্ত প্রয়োজনীয় বিষয়সমূহ: ওয়ার্ডপ্রেস অ্যাপাচি ব্যবহার করলেও কাজের সুবিধার্থে আপনার অ্যাপাচির ডিফল্ট কনফিগারেশনে কিছু কিছু মডিউল থাকা বাঞ্ছনীয়। যেমন ভ্যানিটি ইউআরএল বা ফ্রেন্ডলি ইউআরএলের জন্য মড-রিরাইট থাকাটা প্রায় অত্যাবশ্যকীয়। এছাড়া আপনি যদি পরবর্তীতে ডেটাবেজ এবং সিপিইউ এর উপরে লোড কমাতে চান তাহলে ক্যাশিং এনাবল করার জন্য মড-এক্সপায়ারি অথবা মড-হেডারস থাকতে হবে। তবে সেগুলো পরের ব্যাপার। আপাতত মড-রিরাইট থাকাই যথেষ্ট
পিএইচপির ভার্সন: ওয়ার্ডপ্রেস চালানোর জন্য আপনার প্রয়োজন পিএইচপি ৫.২.৪ বা এর পরের ভার্সন প্রয়োজন। এর সাথে অবশ্যই সুহোসিন এবং এপিসি কনফিগার করা থাকা উচিত। বিভিন্ন ধরনের সিকিউরিটি এক্সপ্লয়েট অটোমেটিকালি ঠেকানোর জন্য সুহোসিন একটি চমৎকার লাইব্রেরী যা পিএইচপির সাথে মিলে কাজ করে। আর কোড ক্যাশিংয়ের জন্য এবং সাবলীলভাবে পিএইচপি রান করানোর জন্য এপিসি থাকাটা প্রায় ডি-ফ্যাকটো হয়ে গেছে ইদানীং কালে।
মাইসিকুয়েল: এক্ষেত্রে আমাদের প্রয়োজন মাইসিকুয়েলের ৫ বা তার পরের ভার্সন।
সহজে ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করার জন্য কিছু বান্ডলড টুলস বা প্রোগ্রাম পাওয়া যায় যেগুলো আপনার কম্পিউটারে আলাদা ভাবে মাইএসকিএউল, অ্যাপাচি, পিএইচপি ইত্যাদি ইনস্টল বা আপডেট করার ঝামেলা কমায় এবং এরা একসাথে প্রি কনফিগার করা অবস্থায় একটি বান্ডল হিসেবে আসে। সুবিধা হল আপনি একদম ঝামেলা ছাড়া জাস্ট এই প্রোগ্রাম গুলোর কোন একটা ইনস্টল করলেই আপনার পুরো এনভায়রনমেন্ট সেটআপ হয়ে যায়। আর অসুবিধা হল ফ্লেক্সিবিলিটির অভাব। সবকিছু নিজে আলাদা ভাবে কনফিগার করে নিলে যে ফ্লেক্সিবিলিটি পাওয়া যায় তা অনেক সময় এই বান্ডল সফটওয়্যারগুলোতে পাওয়া যায় না। তারপরেও, এগুলো যথেস্টই ব্যবহারউপযোগী এবং নতুন ব্যবহারকারীদের জন্য অনেক ফ্রেন্ডলি।
উইন্ডোজের জন্য আপনারা WAMP বা XAMPP ব্যবহার করতে পারেন। লিনাক্সে সবচেয়ে ভালো হল আলাদা আলাদা ভাবে ইনস্টল করে নেয়া, তারপরেও চাইলে XAMPP ব্যবহার করতে পারেন। আর ম্যাকের জন্য MAMP বা XAMPP রয়েছে।
বিশেষভাবে উল্লেখ্য: যদিও আপনি নিজের মেশিনেই কাজ করবেন, তাও আপনার প্রতিটি ডেভেলপমেন্ট প্রজেক্টের জন্য আলাদা আলাদা ভার্চুয়াল হোস্ট সেটআপ করে নেয়া বাঞ্ছনীয়। এতে অর্গানাইজড থাকা যায়, পরবর্তীতে ইউআরএল রিডাইরেকশন সংক্রান্ত কিছু ঝামেলা সহজেই এড়ানো যায়। আপনারা নেটে সার্চ করলে এ বিষয়ে অসংখ্য আর্টিকেল পাবেন, কিন্তু আমি এর পরের আর্টিকেলে ভার্চুয়াল হোস্ট কনফিগার করা নিয়ে আলোচনা করব।
এডিটর: প্রতিটি ডেভেলপারেরই নিজস্ব পছন্দ থাকে এডিটর বাছাই এবং ব্যবহারের ব্যাপারে, তারপেরও নতুনদের জন্য নেটবিনস বা সাবলাইম টেক্সট অনেক আকর্ষনীয় মনে হতে পারে। কিছুটা অ্যাডভান্সড ব্যবহারকারীর অবশ্যই ভিম (vim) সম্পর্কে সম্যক ধারনা থাকা উচিত। সাবলাইম টেক্সটের সবচেয়ে বড় সুবিধা হল এটি লাইটওয়েট, অসম্ভব রকমের ডেভেলপার-ফ্রেন্ডলি এবং উইন্ডোজ, ম্যাক, লিনাক্স সব প্লাটফর্মেই এটি সমানতালে কাজ করে।
ভার্সন কনট্রোল: ওয়ার্ডপ্রেস ডেভেলপমেন্টের জন্য ভার্সন কন্ট্রোল টুলের ব্যবহার জানা অত্যাবশ্যকীয় না, কিন্তু একই সাথে ইদানীং কালে ভার্সন কন্ট্রোল ম্যানেজমেন্ট বা ভিসিএম টুল ব্যবহার করা ছাড়া ডেভেলপমেন্টের কথা ভাবাই যায় না, সেটা ওয়ান ম্যান প্রজেক্ট হোক বা টিম ওয়ার্ক। বর্তমানে কয়েকটি প্রচলিত ভিসিএমের মাঝে গিট সবচেয়ে জনপ্রিয়। এর পরেই রয়েছে সাবভার্সন এবং মারকুরিয়াল। আপনি যদি নতুন হন, তাহলে গিট দিয়ে শুরু করুন। আর পুরনো ব্যবহারকারী হলে যা ব্যবহার করছেন তাই ব্যবহার করুন – তবে গিট টেস্ট করে দেখতে ভুলবেন না কিন্তু
পরিশেষে আরও কিছু জিনিস জানতে হবে আপনাকে, এগুলো জানাটাও একদম আবশ্যক
এইচটিএমএল: একটি ওয়েব অ্যাপ্লিকেশনের দেহের বহিরাবরন হল তার মার্কআপ 🙂 এর লেয়াউট থেকে শুরু করে সবকিছুই মূলত প্রদর্শন করা হয় মার্কআপ লিখে। সুতরাং বুঝতেই পারছেন সঠিকভাবে এইচটিএমএল জানাটা কতটা প্রয়োজনীয়। আপনার যদি এইচটিএমএল ৪ সমন্ধে অলরেডী ধারণা থেকে থাকে তাহলে খুব ভালো, আর না থাকলে ভালো করে শিখে নিন। এখন হল এইচটিএমএল ৫ এর যুগ। সুতরাং অবসর সময়ে এইচটিএমএল ৫ ও রপ্ত করে ফেলুন
সিএসএস: ওয়েব অ্যাপ্লিকেশনের জামাকাপড়, বা তার মেকআপ হিসেবে তুলনা করতে পারেন সিএসএস কে। সিএসএস বা ক্যাসকেডিং স্টাইলশীটের মাধ্যমে ওয়েব অ্যাপ্লিকেশনের স্টাইলিং করা হয়, এর সৌন্দর্য্য নিয়ন্ত্রন করা হয়। সিএসএস শেখাটা এখনকার দিনে অতি প্রয়োজনীয় বিষয়, সুতরাং এটাকে হেলাফেলার চোখে না দেখে ভালো করে রপ্ত করে নিন। সময় থাকলে সিএসএস৩ ও শিখে নিন। আরেকটি উল্লেখযোগ্য বিষয় হল যে বিভিন্ন ব্রাউজারে এবং স্মার্ট ডিভাইসের ডিসপ্লেতে একই সিএসএস মাঝে মাঝে ভিন্ন ভাবে প্রদর্শিত হয় যা একটি ঝামেলা যা পরবর্তীতে সিএসএস রিসেট বা অন্যান্য টেকনিক ব্যবহারের মাধ্যমে এড়ানো যায় । একজন ভালো ওয়েব অ্যাপ্লিকেশন ডেভেলপার বা ওয়ার্ডপ্রেস ডেভেলপার হতে হলে আপনার এই সিএসএসের ব্রাউজার কম্প্যাটিবিলিটি সম্বন্ধে জ্ঞান রাখতে হবে।
জাভাস্ক্রিপ্ট: বর্তমান যুগে জাভাস্ক্রিপ্ট ছাড়া ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের কথা চিন্তাই করা যায় না, সেটা যত ছোট বা বড় হোক। ক্লায়েন্ট সাইডে বিভিন্ন রকমের প্রয়োজনীয় ফিচার, ভ্যালিডেশন, অ্যানিমেশন কিংবা বিজনেস লজিকের জন্য জাভাসক্রিপ্ট জানাটা অত্যাবশ্যকীয়। জাভাস্ক্রিপ্ট শেখা খুবই সহজ, সুতরাং শিখে ফেলুন 🙂
Very helpful information.
Thanks a lot.
very helpful post. I learned lot of things from the article.
Thanks Boss.
Nice article for new wordpress user.
Thanks
Pradip
শুধু ধন্যবাদ নয়, দোয়া করি যাতে এইরুপ আরো উপকার করেন। অনেক অনেক ধন্যবাদ। মোহাম্মদ শাহজামান
Keep posting it will better for us. I want to learn WordPress most.
Thank you very much for your word press information.
A very nice article for the beginner, to start WP.
PHP লাগবে না ? আমি আসলে সিদ্ধান্ত নিতে পারতেছি না JS না PHP আগে শিখবো 🙁
WordPress theme development requires moderately good skill in PHP. So spend some time in learning PHP first. Beside that, it also needs a good sense of UI+UX, design, aesthetics for better acceptance.
Learn PHP first, HTML + CSS too. Then go for JS, specially jQuery 🙂
i already got the answer. But which would be first PHP or JS i confuse!
php 🙂
Thank you.waiting for your new article