অ্যাপাচি httpd ভার্চুয়াল হোস্টগুলিতে বেসিক প্রমাণীকরণ কীভাবে কনফিগার করবেন?


48

আমি অ্যাপাচি এইচটিপি ব্যবহার করে মার্উরিয়াল অ্যাক্সেস কনফিগার করার চেষ্টা করছি। এটির জন্য প্রমাণীকরণ প্রয়োজন। আমার /etc/apache2/sites-enabled/mercurialচেহারাটি এরকম:

NameVirtualHost *:8080

<VirtualHost *:8080>
    UseCanonicalName Off
    ServerAdmin  webmaster@localhost
    AddHandler cgi-script .cgi
    ScriptAliasMatch ^(.*) /usr/lib/cgi-bin/hgwebdir.cgi/$1
</VirtualHost>

আমি ইন্টারনেটে পড়া প্রতিটি টিউটোরিয়াল আমাকে এই লাইনগুলি সন্নিবেশ করতে বলে:

AuthType Basic
AuthUserFile /usr/local/etc/httpd/users

তবে আমি যখন এটি করি তখন আমি নিম্নলিখিত ত্রুটিটি পাই:

# /etc/init.d/apache2 reload
Syntax error on line 8 of /etc/apache2/sites-enabled/mercurial:
AuthType not allowed here

আমার ডিস্ট্রো হ'ল টার্নকি লিনাক্স রেডমাইন নামে একটি কাস্টমাইজড উবুন্টু

উত্তর:


73

আপনার এটি কোনও অবস্থান নির্দেশের মধ্যে রাখা উচিত:

<VirtualHost *:8080>

<Location /> #the / has to be there, otherwise Apache startup fails
            Deny from all
            #Allow from (You may set IP here / to access without password)
            AuthUserFile /usr/local/etc/httpd/users
            AuthName authorization
            AuthType Basic
            Satisfy Any # (or all, if IPs specified and require IP + pass)
                        # any means neither ip nor pass
            require valid-user
</Location>
...
</VirtualHost>

1
এটি আমার পক্ষে কাজ করে না। <Location /opt/mcmap/shapefiles.php> AuthType Kerberos AuthName KerberosLogin KrbServiceName HTTP/intranet.spectrumasa.com KrbMethodNegotiate On KrbMethodK5Passwd On KrbAuthRealms DOMAIN.COM Krb5KeyTab /etc/httpd/conf/intranet.keytab require valid-user Options Indexes MultiViews FollowSymLinks AllowOverride All Order allow,deny Allow from all SetOutputFilter DEFLATE </Location>
shorif2000

1
অ্যাপাচি ডক পৃষ্ঠাটি এই সমস্ত ব্যাখ্যা করে, তবে বিরক্তিকরভাবে কখনই আপনাকে একটি সম্পূর্ণ উদাহরণ দেয় না। আমি তাদের উদাহরণের কিছু অংশ অনুলিপি করেছি, তবে require valid-userঅংশটি মিস করেছি । একটি সম্পূর্ণ উদাহরণ একটি দুর্দান্ত জিনিস হতে পারে। ধন্যবাদ।
বাটাল বুট্কাস

1
@ শরিফটি <লোকেশন /> হওয়া উচিত, যার অর্থ আপনার হোস্ট ডটকমের মূল ইউআরএল অ্যাক্সেস হওয়া দরকার যে
লেখার

1
<Location />কনফিগার ফাইলটি লোড করার সময় সিনট্যাক্স ত্রুটি না পেয়ে আমার যে কোনও ক্ষেত্রে প্রয়োজন ।
পার্সেইডস

3
"অনেক ঝামেলা এড়াতে" স্থির ... এর অভ্যন্তরীণ লগ বার্তা দিয়ে কেন <Location /> সম্পাদনা করা হয়েছিল <Location>, কিন্তু উত্তরে তার আসল কারণ সম্পর্কে কিছুই বলছেন না? একটি যেমন জিনিস নেই <Location>নির্দেশ (অর্থাত এক ছাড়া এ্যাপাচি একটি অবস্থান)। এটি অবশ্যই সমস্যার সৃষ্টি করে। ;) (উদাহরণস্বরূপ উপরে দেখুন।)
জেড।

9

আমি উবুন্টু 10.04 এ অ্যাপাচি 2 চালাচ্ছি - একই সমস্যা এবং সমাধানের জন্য ধন্যবাদ। আমি দেখতে পেলাম যে আমাকে কনফিগারেশনটি প্রবেশ করতে হবে/etc/apache2/apache2.conf

আপনি htpasswd ব্যবহার করে ব্যবহারকারীর নাম এবং পাসওয়ার্ড তৈরি করতে পারেন। নতুন নথি:

$ htpasswd -c /srv/auth/.htpasswd squire

বিদ্যমান ফাইলটিতে সংযুক্ত করতে:

$ htpasswd -b /srv/auth/.htpasswd squire2 tickleme2

7

আপনি কোনও অবস্থান বা একটি ডিরেক্টরি রক্ষা করতে পারেন। একটি ডিরেক্টরি জন্য কিছু যুক্ত করুন:

<Directory /some/dir/cgi-bin/>
    Options +ExecCGI
    AddHandler cgi-script .cgi
    AuthType Basic
    AuthName 'Private scripts'
    AuthUserFile '/some/other/dir/.htpasswd'
    Require valid-user
</Directory>

আপনি আরও সূক্ষ্ম নিয়ন্ত্রণের জন্য যোগ Denyএবং Allowনির্দেশিকাও করতে পারেন ।


4

মনে হচ্ছে আপনি এর মধ্যে প্রমাণীকরণ সেটিংস নির্দিষ্ট করছেন VirtualHost। সাধারণত, এই সেটিংস Directoryনির্দেশের অধীনে নির্দিষ্ট করা হয় ।

আপনি .htaccesssফাইলগুলিও ব্যবহার করতে পারেন তবে অ্যাপাচি কনফেয়ারে উল্লেখ করা ভাল ডিফল্ট, কারণ এতে কম এক্সপোজার থাকে।

অ্যাপাচি ডকুমেন্টেশন


3

আমি উবুন্টু ১০.১০ এ অ্যাপাচি ২ চালাচ্ছি। উপরের সমস্ত সমাধান নিয়ে আমার সমস্যা হচ্ছে, তবে এটি ভালভাবে কাজ করেছে (অ্যাপাচি ডক্স থেকে):

<ডিরেক্টরি / ভেরি / www />
  বিকল্প সূচকগুলি অনুসরণ করুন সিমলিংকগুলি মাল্টিভিউগুলি
  AllverOverride All
  আদেশ অনুমতি, অস্বীকার
  সব থেকে অনুমতি দিন
  অ্যাথটাইপ বেসিক
  অ্যাথনাম "সীমাবদ্ধ"
  অ্যাথব্যাসিকপ্রভাইডার ফাইল
  AuthUserFile / ইত্যাদি / ব্যবহারকারীগণ
  ব্যবহারকারী দর্শনার্থীর প্রয়োজন
</ নির্দেশিকা>

উপরের উত্তরগুলির মধ্যে সবচেয়ে বড় পার্থক্যটি মনে হয় যে "ফাইল" এ সেট করা অথব্যাসিকপ্রাইডার নির্দেশিকা এবং প্রকৃত ব্যবহারকারীর নামের আগে "ব্যবহারকারী" বিট সহ প্রয়োজনীয় নির্দেশিকা রয়েছে।

আশা করি এটি কাউকে সাহায্য করবে।


3

আমরা অ্যাপাচের একটি মেমরি অপ্টিমাইজড সংস্করণ চালাচ্ছি এবং এই সমস্যার মুখোমুখি।

নিম্নোক্ত লাইনটি অ্যাপাচি কনফিগারেশনে উপস্থিত না হওয়ার কারণে এটি হয়েছিল:

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