ডিরেক্টরিতে অ্যাক্সেসের অনুমতি দেওয়া সত্ত্বেও অ্যাপাচি “ক্লায়েন্ট সার্ভার কনফিগারেশন দ্বারা অস্বীকৃত” (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.