আমার ~ / সাইটগুলিতে / ম্যাক ওএস এক্স লায়ন 10.7.2 এর অধীনে অ্যাপাচি-র জন্য একটি প্রতীকী লিঙ্কে কীভাবে অ্যাক্সেসের অনুমতি দেওয়া যায়?


12

আমার অ্যাপাচি থেকে আমার ~ / সাইটগুলির মধ্যে একটি সিম-লিঙ্কযুক্ত ডিরেক্টরিতে অ্যাক্সেসের অনুমতি দেওয়া দরকার। আমি ডিরেক্টরিগুলি এ জাতীয়ভাবে সংযুক্ত করেছি

ln -s ~/path/to/the/source/directory/ ~/Sites/source-link-here

এখন যখনই আমি একটি জিইটি অনুরোধ শুরু করি তখনই আমি 403 টি উত্তর পাই

curl http://localhost/~username/source-link-here/
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /~username/source-link-here
on this server.</p>
...

আমি কীভাবে আপাচিকে বলতে পারি যে সিমলিংকড ডিরেক্টরিতে অ্যাক্সেসের অনুমতি দিতে এবং আমি কীভাবে আপাচিকে বলি কেবল লোকালহস্ট থেকে বরখাস্ত অনুরোধের জন্য এটি অনুমতি দিন।

কোন সাহায্য ব্যাপকভাবে প্রশংসা করা হয়।

শুভেচ্ছান্তে

robertj

উত্তর:


10

আপনি যখন যা করতে চাইছেন ঠিক কীভাবে করবেন তা নির্ধারণের চেষ্টা করার সময় আমি এখানে একটি ব্লগ পোস্ট লিখেছিলাম is

  1. সিস্টেম প্রিফেরেন্সগুলি -> ভাগ করে নেওয়া -> চেক ওয়েব ভাগ করে নেওয়ার মাধ্যমে ম্যাকের সাথে ওয়েব ভাগ করা সক্ষম করুন
  2. / বেসরকারী / ইত্যাদি / অ্যাপাচি 2 / ব্যবহারকারীদের মধ্যে অবস্থিত আপনার ব্যবহারকারীর নাম.কনফ ফাইলটি সম্পাদনা করুন এবং "ফলোসিমলিংকস" নির্দেশ যুক্ত করুন:

    <ডিরেক্টরি "/ ব্যবহারকারী / আপনার ব্যবহারকারী নাম / সাইট /">
        বিকল্পগুলি সূচি মাল্টিভিউগুলি অনুসরণ সিমলিঙ্কগুলি
        AllverOverride কিছুই নেই
        আদেশ অনুমতি, অস্বীকার
        সব থেকে অনুমতি দিন
    </ নির্দেশিকা>
    
  3. /Private/etc/apache2/httpd.conf ফাইলটি সম্পাদনা করুন এবং নিশ্চিত করুন যে "# ভার্চুয়াল হোস্টগুলি" এর আওতায় থাকা লাইনটি মন্তব্য করা হয়নি, যেমন:

    /Private/etc/apache2/extra/httpd-vhosts.conf অন্তর্ভুক্ত করুন
    
  4. /Private/etc/apache2/extra/httpd-vhosts.conf ফাইলটি সম্পাদনা করুন এবং যুক্ত করুন:

    <ভার্চুয়ালহোস্ট *: 80>  
        <ডিরেক্টরি / ব্যবহারকারী / আপনার ব্যবহারকারী নাম / সাইটগুলি / মাইওয়েবসাইট.কম>
            বিকল্পগুলি + ফলোসিমলিংকগুলি + সিমলিংকসফোনওয়ান ম্যাচ
            AllverOverride All
        </ নির্দেশিকা>
      ডকুমেন্টরুট / ইউজার / ইউজারনেম / সাইটস / মাইওয়েবসাইট
      সার্ভারনাম মাইওয়েবসাইট.লোকাল
    </ VirtualHost>
    
  5. / ইত্যাদি / হোস্ট ফাইলটি সম্পাদনা করুন এবং এটি শীর্ষে যুক্ত করুন:

    127.0.0.1 MyWebSite.local
    
  6. সাইট কোডের একটিতে আপনার কোড ডিরেক্টরিকে লিঙ্ক করতে একটি সিমিলিংক তৈরি করুন।

    ln -s ~ / কোড / MyWebSite ~ / সাইটগুলি / মাই ওয়েবসাইট
    
  7. অ্যাপাচি পুনরায় চালু করুন


1
সুপার ব্যবহারকারীকে স্বাগতম! উত্তরের প্রয়োজনীয় অংশগুলি এখানে অন্তর্ভুক্ত করা ভাল হবে এবং কেবল ভবিষ্যতের রেফারেন্সের জন্য লিঙ্কটি সরবরাহ করুন provide
slhck

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

2

প্রকৃতপক্ষে এমজেয়ের উত্তর এবং প্রথম অ্যাপাচি পুনঃসূচনা থেকে প্রথম দুটি পদক্ষেপই প্রয়োজনীয়, এখানে আমার জন্য কাজ করা হয়েছে:

  1. সিস্টেম প্রিফেরেন্সগুলি -> ভাগ করে নেওয়া -> সক্ষম ওয়েব ভাগ করে নেওয়ার মাধ্যমে ম্যাকের সাথে ওয়েব ভাগ করা সক্ষম করুন

  2. আপনার username.confঅবস্থিত ফাইলটি সম্পাদনা /private/etc/apache2/usersকরুন এবং ফলোস সিমলিংকের নির্দেশিকা যুক্ত করুন:

    <Directory "/Users/yourUserName/Sites/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    
  3. আপনার অ্যাপাচি কনফিগারেশন পরীক্ষা করুন

    sudo apachectl -t

  4. অ্যাপাচি পুনরায় চালু করুন

    sudo apachectl পুনরায় চালু করুন

এখন অ্যাপাচি আপনার Sitesডিরেক্টরিতে প্রতীকী লিঙ্কগুলি পরিবেশন করবে ।


1

আমার 403 forbiddenত্রুটি হচ্ছে আমার সমস্যার সমাধান করার জন্য httpd-vhosts.confআমি নীচের কনফিগারটি প্রতিস্থাপন করেছি

<Location "/modulename">
  Order allow,deny
  Allow from all
</Location>

সঙ্গে

<Location "/modulename">
  Require all granted
</Location>

সমস্ত অবস্থানের ট্যাগের জন্য একই কাজ। এটি অনুমতি সমস্যার সমাধান করেছে solved


0

Options FollowSymLinks উপযুক্ত ধারক জন্য httpd.conf এ

  1. কনফিডে ডকুমেন্টআর্ট স্ট্রিংটি সন্ধান করুন, এটির মান মনে রাখবেন। <Directory "docroot here">...</Directory>বিকল্প স্ট্রিংয়ের জন্য বিভাগের সামগ্রীটি পরীক্ষা করুন । যদি বিকল্পগুলি অনুপস্থিত থাকে - স্ট্রিং যুক্ত করুন Options FollowSymLinks, যদি তা উপস্থিত থাকে তবে ফলের সিমলিঙ্কস না থাকে - স্মিথের জন্য এই পরামিতিটি যুক্ত করুন Options Indexes FollowSymLinks। কনফিগার সংশোধন করার পরে অ্যাপাচি পুনরায় চালু করুন। পরীক্ষার ফলাফল, এটি এখানে লিখুন

  2. অ্যাপাচি ডক্স পড়ুন


হাই, দুঃখিত - এই উত্তরটি মোটেই সাহায্য করে না।
রবার্টজ

আপনি কি এটা করার চেষ্টা করেছিলেন ? আপনি অ্যাপাচি কনফিগারেশনে ফলো সিমলিংকগুলি অক্ষম করেছেন, সিমলিঙ্কযুক্ত সংস্থানগুলি ব্যবহার করার জন্য আপনাকে অবশ্যই সাইট বা ডিরেক্টরি স্তরে সক্ষম করতে হবে
অলস ব্যাজার

এবং inside এর মধ্যে ফাইলগুলির জন্য অনুমতি পরীক্ষা করুন, এর পরে ডিরেক্টরি ইনডেক্স ফাইল উপস্থিতি: ক্রমানুসারে টাস্কটি সমাধান করুন, সমস্ত সম্ভাবনা পরীক্ষা করে দেখুন
অলস ব্যাজার

1
আবার - আমি আপনার মন্তব্য থেকে কিছু করতে সক্ষম নই। আমি অ্যাপাচি সম্পর্কিত মোট নবাবী (গত 6 ঘন্টা ধরে আমার গুগলিং বাদে) উপযুক্ত ধারকটি কী তা সম্পর্কে আমার কোনও ক্লু নেই । আসলে কী সহায়ক হবে তা হ'ল httpd.conf এবং httpd-vhost.conf কীভাবে কনফিগার করা যায় তার একটি নিদর্শন।
রবার্টজ

@ আরবার্টজ - এটিই আপনার সমস্যার সমাধান। আপনাকে সেই ফাইলটি সম্পাদনা করতে হবে এবং এটি অনুসারে এটি পরিবর্তন করতে হবে যেমন @ লেজি_বাজার বলেছিলেন। এটি অধীনে অবস্থিত করা উচিত <Directory /usr/share/web>। নোট করুন যে এরপরে, আপনাকে অ্যাপাচি ব্যবহার করে পুনরায় চালু করতে হবেsudo /usr/sbin/apachectl restart
স্টিভেন লু

0

কখনও কখনও এটি ঘটছে যদি:

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

আমি একটি এক্সট 4 ফাইল সিস্টেমে একটি নতুন ফোল্ডার তৈরি করে এবং এর সাথে একটি প্রতীকী লিঙ্ক তৈরি করে এই সমস্যার সমাধান করেছি /var/www


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