Apache একটি ওয়েব সার্ভার সফটওয়্যার যা বিশ্বের প্রায় ৬৭% ওয়েব সার্ভারে ব্যবহৃত হয়। এই সফটওয়্যারটি Apache Software Distribution দ্বারা বিকশিত ও বিতরণ করা হয়। এটি ওপেন-সোর্স এবং ফ্রিতে উপলব্ধ। Apache দ্রুত, সুরক্ষিত এবং নির্ভরযোগ্য যা এর জনপ্রিয়তার কারণها 중 একটি। যাইহোক, gầnামে অনেক ব্যবহারকারী তাদের ডোমেইনের জন্য Apache সেটআপ করার সময় "Forbidden - You Don't Have Permission To Access / on this Server" ত্রুটির সম্মুখীন হচ্ছেন।

"Forbidden - You Don't Have Permission To Access / on this Server" ত্রুটির কারণ কী?
বহু ব্যবহারকারীর রিপোর্ট পাওয়ার পর আমরা এই সমস্যাটি তদন্ত করেছি এবং এটি সম্পূর্ণরূপে সমাধানের সমাধানগুলো খুঁজে বের করেছি। একই সাথে, এই ত্রুটি কোন কারণে ট্রিগার হয় তা বিশ্লেষণ করে নিচে তালিকাভুক্ত করা হলো।
- ভুল গ্লোবাল ডিরেক্টরি সেটিংস: গ্লোবাল ডিরেক্টরির সেটিংস সঠিকভাবে কনফিগার না থাকলে সাইটে পর্যাপ্ত ডিরেক্টিভ নাও থাকতে পারে। সাইটে সঠিক ডিরেক্টিভ না থাকলে এই ত্রুটি দেখা দিতে পারে।
- ভুল পারমিশন: Apache-এর রুট ফোল্ডার পর্যন্ত পারমিশন দরকার যাতে সেটি সঠিকভাবে কাজ করতে পারে, এই পারমিশন না দিলে ত্রুটি হতে পারে।
- ইউজারনেম অনুপস্থিত: "httpd.conf"-এ কিছু ক্ষেত্রে ব্যবহারকারীর আসল ইউজারনেম দিতে হয় ত্রুটি দূর করতে। এটি কিছুর জন্য কাজ করে কিন্তু অন্যদের জন্য না।
এখন আপনি সমস্যার প্রকৃতি সম্পর্কে মৌলিক ধারণা পেয়েছেন, আমরা সমাধানদিকে যাব। নির্দিষ্ট ক্রম অনুযায়ী এইগুলো প্রয়োগ করুন।
সমাধান ১: গ্লোবাল ডিরেক্টরি সেটিংস পরিবর্তন
এই সমস্যা সমাধানের জন্য নির্দিষ্ট সেটিংস সঠিকভাবে কনফিগার করতে হবে। এই ধাপে, আমরা "httpd.conf" বা "httpd-vhosts.conf"-এ (ব্যবহারকারীর ওপর নির্ভর করে) গ্লোবাল ডিরেক্টরি সেটিংসে Options Directive যোগ করব। এর জন্য:
- "httpd.conf" বা "httpd-vhosts.conf"-এ একবার হলে, directory সেটিংস খুঁজুন, সেগুলো নিচের কোডের মতো হওয়া উচিত।
<Directory /> Options FollowSymLinks AllowOverride All Order deny,allow Allow from all </Directory>

নোট: কোডে "Deny From All" থাকতে পারে "Allow From All"-এর বদলে। এটি "Allow From All" বা "Require All Granted"-এ পরিবর্তন করা গুরুত্বপূর্ণ নিচে ইঙ্গিত করা অনুযায়ী।
- নিশ্চিত করুন আপনি "Options Indexes FollowSymLinks Includes ExecCGI" লাইনটি যোগ করেছেন এমনভাবে যে কোডটি নিচের কোডের মতো দেখায়।
<Directory /> #Options FollowSymLinks Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order deny,allow Allow from all </Directory>
- চেক করুন সমস্যা কি tiếp tục আছে।
- যদি সমস্যা সমাধান না হয়, কোডটি পরিবর্তন করুন "Allow from All"-কে "Require All Granted"-এ।
- চেক করুন সমস্যা কি tiếp tục আছে।
সমাধান ২: পারমিশন পরিবর্তন
ব্যবহারকারী Apache কে তাদের ডোমেইনের সাথে লিঙ্ক করার সময় সফটওয়্যারটিকে ফাইল পড়া এবং লেখার পারমিশন দেন। এই পারমিশনগুলো সঠিকভাবে দেওয়া গুরুত্বপূর্ণ। নিচে পারমিশন দেওয়ার সঠিক পদ্ধতি দেওয়া হলো।
- প্রথাগতভাবে, ব্যবহারকারীরা পারমিশন নিচেরভাবে দেন।
chgrp -R www-data /username/home/Dropbox/myamazingsite/ chmod -R 2750 /username/home/Dropbox/myamazingsite/
- এই কমান্ডগুলো ভুল এবং এগুলোকে নিচেরদিকের সাথে প্রতিস্থাপন করতে হবে
chgrp -R www-data /username chmod -R 2750 /username
- এছাড়া, মনে রাখবেন আপনি সঠিক লেভেলের "chmod" ব্যবহার করছেন, এমন একটি ব্যবহার করুন যা ব্যবহারকারীদের রিড পারমিশন দেয় যেমন "chmod 755"।
- সুপারিশগুলো চেষ্টা করার পর চেক করুন সমস্যা কি tiếp tục আছে।
সমাধান ৩: ইউজারনেম যোগ করা
"httpd.conf"-এ, "User" বা "Group" শব্দের বদলে আপনার সঠিক ইউজারনেম যোগ করুন। কিছু ক্ষেত্রে, ইউজারনেম যোগ করলে সমস্যা সমাধান হয়।