ওয়েব রুটে আমার কোন ফাইলের অনুমতি সেট করা উচিত?


53

আমি উবুন্টু সার্ভার 10.10 ব্যবহার করি এবং এর সাথে এনগিনেক্স ওয়েব সার্ভার ইনস্টল করেছি apt-get install nginx। এটি একটি ডিফল্ট ওয়েব পৃষ্ঠা তৈরি করে /var/www/nginx-default/এবং সেই ডিরেক্টরিতে অনুমতি রয়েছে drwxr-xr-x 2 root root

আমি যখন ডিফল্ট সাইটে অ্যাক্সেস করি তখন আমি http://localhost/এই বার্তাটি পৃষ্ঠাতে পাই 403 Forbidden

আমার ওয়েব পৃষ্ঠাগুলি অ্যাক্সেস সুরক্ষিত করতে আমি কীভাবে www এর মূল ফাইলের অনুমতি সেট করব? বা অন্য কিছু আছে যা আমাকে বদলাতে হবে?


টীকাঃ পুরো সম্পূর্ণ পাথ আপনার চূড়ান্ত ফোল্ডারের থেকে অ্যাক্সেস করা আবশ্যক! মাঝখানে একটি ফোল্ডারও নয়।
লুসিও

উত্তর:


33

আমি সাধারণত আমার ওয়েব রুটে একটি 755(বা rwxr-xr-x) লেগে থাকি, তবে আপনার ডিরেক্টরিটি ইতিমধ্যে সেট করা থেকে আপনি যে সমস্যাটি চালাচ্ছেন এটি আমি মনে করি না। nginxআপনার ডিরেক্টরিতে অ্যাক্সেস থাকা উচিত। প্রশ্নটি তখন আপনি যে ফাইলটি অ্যাক্সেস করার চেষ্টা করছেন তার অনুমতি (বা অস্তিত্ব) হয়ে যায়। আপনার ডিরেক্টরিতে থাকা ফাইলগুলি ব্যবহারকারীদের দ্বারা পঠনযোগ্য হওয়া দরকার nginxযা চলমান। আমি সাধারণত এই ফাইলগুলিকে একটি 755(ডিরেক্টরি হিসাবে একই) এ সেট করে রাখি । আপনি সম্পূর্ণ ডিরেক্টরি পরিবর্তন করে পরিবর্তন করতে পারেন sudo chmod -R 755 /var/www/nginx-default/

ডিরেক্টরিতে যদি কোনও সূচী ফাইল না থাকে তবে আপনি এখনও একই ত্রুটি পাবেন। সূচী ফাইলটি ব্যবহার করা হয় যখন আপনি কোনও ডিরেক্টরিতে অনুরোধ করেন যেখানে ডিরেক্টরি তালিকা সক্ষম করা থাকে না। সবচেয়ে সাধারণ সূচক ফাইল index.html। এই ডিফল্টটি আপনার কনফিগারেশনে সম্পাদনা করা যেতে পারে, তবে এর মতো কিছু ব্যবহার করে:

location / {
    index index.php;
}

আপনি যদি nginxসেই ডিরেক্টরিতে আপনার জন্য ফাইলগুলির একটি তালিকা তৈরি করতে চান তবে কেবল ডিরেক্টরি সূচকগুলি চালু করুন , যেমন:

location  /  {
  autoindex  on;
}

না আমি index.htmlএই ডিরেক্টরিতে একটি আছে ।
জোনাস

তাহলে আপনার কী অনুমতি আছে index.html?
জ্যাক এম

ধন্যবাদ, কনফিগারেশন ফাইলটি প্রকৃতপক্ষে নির্দেশ করেছে /var/www/এবং উত্পন্ন index.htmlকরা হয়েছে /var/www/nginx-default/যাতে আমার সেই ফাইলটি অনুলিপি করতে হয়েছিল তার cp /var/www/nginx-default/index.html /var/www/পরে আমি আমার ওয়েব ব্রাউজারের সাহায্যে সাইটটি দেখতে যেতে পারি।
জোনাস

56

আমি আপনার ওয়েবরুটের গোষ্ঠীটি এনগিনেক্স www-dataদ্বারা ব্যবহৃত ব্যবহারকারী এবং পিএইচপি 5-এফএমপিতে পরিবর্তনের পরামর্শ দেব would

উদাহরণ স্বরূপ:

sudo chown -R "$USER":www-data /webdirectory
sudo chmod -R 0755 /webdirectory

যেখানে আমার ব্যবহারকারী আপনার নিজের অ্যাকাউন্ট (যা আপনাকে sudo ছাড়াই আপনার ওয়েবরুটে ফাইলগুলি সহজেই রাখতে সক্ষম করে)।


ধন্যবাদ, কোনও সমস্যা ছাড়াই কমান্ডগুলি কার্যকর করা হয়েছে, তবে 403 Forbiddenওয়েব ব্রাউজারের সাহায্যে এটি অ্যাক্সেস করার সময় আমি এখনও পাই ।
জোনাস

@ জোনাস, আমি সমস্যাটি কী তা দেখতে আপনার এনজিএনএক্স ত্রুটি লগটি পরীক্ষা করার পরামর্শ দেব।
পিটার স্মিট

ধন্যবাদ, আমি ত্রুটিটি পেয়েছি, এটি ছিল ত্রুটি লগ। জ্যাক জবাব আমার মন্তব্য দেখুন।
জোনাস

4
নতুন ফাইল সম্পর্কে কি?
এমকন্ট

@ মাত্তিও কনট্রিনি ব্যবহার করুন chmod 2755 webdirectory/যাতে তারা একই অনুমতি এবং অধিকারের সাথে সংরক্ষণ করা হয়
hand
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.