Apache2 डिफ़ॉल्ट कॉन्फ़िगरेशन में <डायरेक्टरी /> एंट्री का क्या मतलब है


6

यह /etc/apache2/sites-enabled/000-defaultरिपॉजिटरी से अपाचे 2 को स्थापित करने के बाद फ़ाइल से सही है।

DocumentRoot /var/www
<Directory />
        Options FollowSymLinks
        AllowOverride None
</Directory>
<Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
</Directory>

वह पहला भाग क्या स्थापित करता है? मेरे लिए ऐसा लगता है कि DocumentRoot होना चाहिए / इसके बजाय / var / www उस <Directory />हिस्से को कोई प्रभाव होने देना चाहिए लेकिन मुझे गलत होना चाहिए।

जवाबों:


4

यह रूट के लिए परमिट सेट करता है ('/' इस संदर्भ में एक dir है, यह टैग को बंद करने से कोई लेना-देना नहीं है) और सभी तरह से नीचे, जब तक कि ओवरराइड नहीं किया जाता है। रूट डाउन => आपकी पूरी डिस्क। फिर यह आपके DocRoot के लिए इसे ओवरराइड करता है।

तो इस फ़ाइल में, यह पूरी डिस्क पर बहुत ही प्रतिबंधात्मक परमिट (AllowOverride कोई नहीं) सेट करता है, फिर अगली निर्देशिका श्लोक इसे विशेष रूप से आपके DocRoot के लिए खोलती है।

ये प्रतिबंधात्मक परमिट चीजों को गति भी देते हैं। यह FollowSymLinks की अनुमति देता है, जिसका अर्थ है कि वेबसर्वर को कुछ डिस्क syscalls को बचाने के लिए, प्रत्येक निर्देशिका को रूट पर एक lstat () कॉल करने की आवश्यकता नहीं है। AllowOverrideNone का अर्थ यह भी है कि आपको उन निर्देशिकाओं में .htaccess फ़ाइलों की खोज करने की ज़रूरत नहीं है, कुछ और (धीमी) डिस्क syscalls को काटते हुए। याद रखें कि प्रत्येक अनुरोध के लिए, वेबसर्वर को dir से प्रत्येक निर्देशिका पर विचार करना होगा, जो सामग्री सभी तरह से जड़ तक रहती है। इन परमिटों के साथ, आप उन सर्किटों को शॉर्ट सर्किट करते हैं, जो डिस्क को हिट को समाप्त करते हैं, जो एक वास्तविक दुश्मन हैं।


तो <Directory /var/www/>विकल्प FollowSymlinks और AllowOverride में कोई भी निरर्थक नहीं हैं? और यही कारण है कि उन विकल्पों में सेट कर दिया गया <Directory />है क्योंकि वहाँ सहानुभूति सक्षम हैं और यह / var / www फ़ोल्डर से "बाहर तोड़ने" के लिए संभव है?
जोनी

@joni। यह निर्भर करता है कि आप इसे कैसे देखते हैं। अब आपके पास 2 श्लोक हैं जो स्वतंत्र हैं। आप एक को बदल सकते हैं, और दूसरे को पता है कि आपके पास अभी भी वही परमिट होंगे जो आपने सोचा था। और हाँ, सहानुभूति एक ऐसा तरीका है जिससे आप 'ब्रेक आउट' कर सकते हैं, लेकिन दूसरे भी हैं। कुछ ऊपर संपादित।
रिच होमोलका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.