ডিরেক্টরিতে অ্যাক্সেসের অনুমতি দেওয়া সত্ত্বেও অ্যাপাচি “ক্লায়েন্ট সার্ভার কনফিগারেশন দ্বারা অস্বীকৃত” (vhost কনফিগারেশন)


38

উবুন্টু-এ অ্যাপাচি-তে আমি একটি ভোস্ট স্থাপন করেছি, তবে ব্রাউজারে আমি "403 প্রবেশ নিষিদ্ধ" ত্রুটি পেতে থাকি; লগটি বলে " ক্লায়েন্ট সার্ভার কনফিগারেশন দ্বারা অস্বীকৃত: / হোম / রিমিক্স / "।

অনলাইনে সমাধানটির সন্ধান করে আমি ডিরেক্টরি অ্যাক্সেস (সমস্ত থেকে মঞ্জুর করুন) ইত্যাদি সম্পর্কে অনেকগুলি পোস্ট পেয়েছি, তবে যতদূর আমি জানি আমি ইতিমধ্যে এটি করেছি। ইন httpd 'র-vhosts.conf সেখানে নিম্নলিখিত কোড হল:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/opt/lampp/htdocs/"
    ServerName localhost
    ServerAlias localhost
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "/home/remix/"
    ServerName testproject
    ServerAlias testproject
    <Directory "/home/remix/">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

আমি যোগ করেছি

127.0.0.1    testproject

/ ইত্যাদি / হোস্ট ফাইল থেকে।

এছাড়াও, / home / রিমিক্স / ফোল্ডারে একটি index.html ফাইল রয়েছে এবং httpd.conf এ vhosts সক্ষম করা আছে।

এমন কিছু আছে যা আমি দেখছি না?

সম্পাদনা করুন: এটি অ্যাপাচি ত্রুটি_লগ এন্ট্রি:

[Sat Aug 18 09:15:32.666938 2012] [authz_core:error] [pid 6587] 
[client 127.0.0.1:38873] AH01630: client denied by server configuration: /home/remix/

অ্যাপাচি এর ত্রুটি লগতে কি আছে?
শেন ম্যাডেন

আহ, আমি ভেবেছিলাম আমি কিছু ভুলে গেছি ... আমি এটি আসল পোস্টে যুক্ত করেছি।
রেমিক্স

আপনি অ্যাপাচি এর কোন সংস্করণ ব্যবহার করছেন?
শেন ম্যাডেন

অ্যাপাচি /
২.৪.২

উত্তর:


65

আপনার অনুমোদন কনফিগারেশন পরিবর্তন করুন:

<Directory /home/remix/>
    #...
    Order allow,deny
    Allow from all
</Directory>

... একই অ্যাপাচি ২.৪ সংস্করণে।

<Directory /home/remix/>
    #...
    Require all granted
</Directory>

অন্যান্য পরিবর্তনগুলির জন্য আপনার প্রয়োজন হতে পারে তথ্যের জন্য আপগ্রেডিং ওভারভিউ ডকুমেন্টটি পর্যালোচনা করুন - এবং সচেতন হন যে গুগলে (পাশাপাশি এই সাইটে) আপনি সন্ধান করেছেন এমন বেশিরভাগ কনফিগার উদাহরণ এবং সহায়তাটি ২.২ উল্লেখ করছে।


2
আমার যদি সময় থাকে তবে আমি এ সম্পর্কে একটি ত্রুটি লগ করব কারণ httpd -t বলছে যে পুরানো বাক্য গঠন ব্যবহার করার ক্ষেত্রে কোনও সমস্যা নেই, এবং না httpd -S নেই। আমার মনে, একটি কনফিগারেশন চেকারের পুরো পয়েন্টটি এটি সমস্যাগুলি দেখানো উচিত! ... আপনার যদি এমন কোনও ডিরেক্টরি থাকে যা আপনি ডাব্লু / এটিকে উল্লেখ করছেন তবে এটি কার্যকর হবে না - এটি সহজ। ... উত্তরে থাম্বস আপ।
রিচার্ড টি

4

ডিরেক্টরিতে অনুমতি চেক করুন। আমি বাজি ধরব যে এটি নিজেকে ছাড়া অন্য কারও অ্যাক্সেসকে অস্বীকার করার জন্য সেট করেছে: উদাহরণস্বরূপ:

$ ls -ld /home/remix
drwx------ 92 remix remix 4096 Aug 17 22:59 /home/remix

আপনি যদি drwx------ঠিক দেখতে পান তবে এই ক্ষেত্রে এটি হয়। এটি চালিয়ে ঠিক করুন:

chmod a+x /home/remix

আমি দেখছি: drwxrwxr-x 2 রিমিক্স রিমিক্স 4096 আগস্ট 16 09:36 / হোম / রিমিক্স। আমি কোনওভাবেই কমান্ডটি চেষ্টা করেছিলাম।
রেমিক্স

আহ, সবই জিততে পারছে না।
মাইকেল হ্যাম্পটন

3

নিশ্চিত হয়ে নিন যে httpdপরিষেবাটি চালাচ্ছেন যে ব্যবহারকারীর এই ডিরেক্টরিতে অ্যাক্সেস রয়েছে।


আমি নিশ্চিত না যে এইচডিডিডি ব্যবহারকারীর কারা বা কীভাবে চেক করবেন, তবে প্রত্যেকে (ব্যবহারকারী / দল / অন্যান্য) পড়তে পারবেন।
রেমিক্স

পরমের জন্য httpd.conf দেখুন User
cpt.Buggy

1
ঠিক আছে এটি 'ব্যবহারকারীর কেউ নেই', এবং 'গ্রুপ নগ্রুপ' বলে। আমি এটিকে 'ব্যবহারকারীর রিমিক্স' (যা ফোল্ডারের মালিক) এ পরিবর্তন করার চেষ্টা করেছি, তবে এটি কোনও সাহায্য করবে না।
রেমিক্স

1

"ক্লায়েন্ট সার্ভার কনফিগারেশন দ্বারা অস্বীকৃত" এর অর্থ লিনাক্স সার্ভার নিজেই ফাইলটিতে অ্যাক্সেস নিষিদ্ধ করেছে, অ্যাপাচি নয়।

পরিবর্তন অনুমতি / মালিকানা / গ্রুপ সদস্য সমস্যার সমাধান না দিয়ে অ্যাক্সেস প্রদান করেন, তাহলে রুট কারণ SELinux- র হিসাবে ব্যাখ্যা করা যা না উপযুক্ত দঃপূঃ লিনাক্স প্রসঙ্গ হয়েছে কোনো ফোল্ডারের অ্যাক্সেস বাধা দিত হতে পারে 'SELinux অধীনে একটি অ্যাপাচি DocumentRoot relocating'

  • যদি অস্থায়ীভাবে SELinux অক্ষম করে তা setenforce 0ফাইল অ্যাক্সেসযোগ্য করে তোলে
  • অন্যদিকে SELinux পুনরায় সক্ষম setenforce 0করে ফাইলে অ্যাক্সেসযোগ্য নয়

তারপরে নিশ্চিত হয়ে নিন যে ফাইলের অনুমতি যা-ই হোক না কেন SELinux দ্বারা অ্যাক্সেস নিষিদ্ধ।


0

ব্যবহারকারীদের ডিরেক্টরিগুলি / বাড়িতে / * এ না থাকলেও অন্য কোথাও যেমন / নেটহোম / * না থাকলে লোকেরা এই সমস্যার কারণ হতে পারে এমন আরও একটি সহজ (তবে কৌশলযুক্ত গেটচা)

সরবরাহকৃত ইউআরডিআর.কনফ এর মধ্যে এমন কিছু রয়েছে: (তবে ব্যবহারকারীদিরের সাথে: অক্ষম)

$ cat /etc/httpd/conf.d/userdir.conf 
<IfModule mod_userdir.c>
    UserDir enabled
    UserDir public_html
</IfModule>

<Directory "/home/*/public_html">
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

ডিরেক্টরি স্পেসিফিকেশন অনুমান করে ~ ব্যবহারকারীর == / বাড়ি / ব্যবহারকারী। কেবলমাত্র ব্যবহারকারী বাড়ির ডিরেক্টরিগুলি যেখানে থাকে তার জন্য ডিরেক্টরি স্পেসিফিকেশন পরিবর্তন বা যুক্ত করুন।

স্পষ্টতই সুস্পষ্ট তবে আমাকে কিছুটা সময় নিয়ে বের করলেন !! :- পি ডিউএইচ!

যেমন ~ ব্যবহারকারী == / নেটহোম / ব্যবহারকারী

<Directory "/nethome/*/public_html">
    AllowOverride All
    Options MultiViews Indexes Includes FollowSymLinks
    Require all granted
</Directory>

এই ডিরেক্টরিতে সাধারণত আরও উন্মুক্ত অনুমোদন দেখুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.