Apache2 के 2.4.7 संस्करण के साथ शुरू होने वाली मेरी स्थानीय वेबसाइट को कहां रखें?


50

मैंने हाल ही में Ubuntu 14.04 स्थापित किया, फिर मैंने lamp-serverअपनी वेबपेजों को /var/wwwनिर्देशिका में स्थापित किया और रखा , लेकिन जब मैंने ब्राउज़र में लोकलहोस्ट खोला तो कुछ भी नहीं था। मुझे लगता है कि ऐसा हुआ क्योंकि Zend ने अपाचे को अपडेट किया।

जो भी कारण हो सकता है, मैं जानना चाहता हूं कि मुझे अपने php फ़ाइलों को कहां रखना चाहिए ताकि मैं उन्हें अपने ब्राउज़र से एक्सेस कर सकूं।


: हालांकि ओपी के सवाल का एक जवाब नहीं है, तो निम्न जवाब कुछ आगंतुकों को जो इस सवाल पर ठोकर एक संबंधित समस्या को ठीक करने का प्रयास करते हुए मदद मिल सकती है askubuntu.com/a/525120/1183
Augustin

जवाबों:


76

Apache2 संस्करण जो Ubuntu 14.04 रिलीज़ होने पर प्रकाशित किया गया था, 2.4.7 है और इस संस्करण से शुरू होता है, ऐसा लगता है कि, सुरक्षा कारणों से, सर्वर के लिए नई रूट निर्देशिका है:

/var/www/html

तो, अब से, यह वह जगह है जहाँ आपको अपनी (स्थानीय) वेबसाइट के लिए फाइलें रखनी चाहिए। भविष्य के अपडेट के साथ आपको फिर से यह समस्या नहीं होनी चाहिए।


वैसे भी, यदि आप इस निर्देशिका को किसी अन्य के साथ बदलना चाहते हैं, तो आपको /etc/apache2/sites-available/000-default.confफ़ाइल से निम्न पंक्ति (रूट के रूप में) को संशोधित करना होगा sudo nano /etc/apache2/sites-available/000-default.conf:

DocumentRoot /var/www/html

सेवा

DocumentRoot /path/to/another/directory

इसके बाद, नए परिवर्तनों को प्रभावी होने के लिए, आपको निम्न आदेश का उपयोग करके अपाचे सर्वर को पुनः आरंभ करना होगा:

sudo service apache2 restart

10
दिलचस्प है, मैंने इस कदम के पीछे तर्क की खोज करने की कोशिश की। अगर किसी को दिलचस्पी है तो मुझे डेबियन में यह बग रिपोर्ट मिली, जो इसे बताती है।
डैन

4
मुझे इस परिवर्तन के बाद निषिद्ध त्रुटि मिल रही है।
दर्शन

1
Apache2.4 में @Darshana डिफ़ॉल्ट कॉन्फ़िगरेशन अपाचे को बाहर कुछ भी एक्सेस करने की अनुमति नहीं देता है /var/www/html। अपनी साइट को उस निर्देशिका (या इसके उप-निर्देशिका) के अलावा कहीं भी रखना, आपको 403 त्रुटि देगा। तुम एक जोड़ने की जरूरत <Directory /path/to/your/site>निर्देश एक साथ अपने vhost कॉन्फ़िगरेशन को requireनिर्देश उस में।
डैन

यह मेरे लिए काम नहीं किया।
user124384

यहाँ भी .. यह अब मुझे त्रुटि देता है 403 निषिद्ध! मुझे इसे कैसे हल करना चाहिए (सरल तरीके से, इस तरह से) कृपया
abhishah901

27

/etc/apache2/sites-available/000-default.confपुराने संस्करण में वापस संशोधन करने के बजाय , मैं डिफ़ॉल्ट पैकेज फ़ाइलों को अनमॉडिफाइड रखना पसंद करता हूं।

इसका एक कारण यह है कि यह अगले नवीनीकरण के दौरान फिर से नहीं टूटेगा, जो 000-default.confफ़ाइल को रीसेट कर सकता है ।
इसके अलावा, इस तरह के संशोधन सिर्फ हमें परेशान करने के लिए नहीं किए गए हैं, संशोधन एक अच्छे कारण के लिए किया गया था, जैसा कि डेबियन बताते हैं कि यह बग रिपोर्ट है

हमारे webservers [sic] ने डिफ़ॉल्ट दस्तावेज़ रूट को / var / www पर सेट किया है, जबकि साइट-स्थानीय प्रशासक /var/www/example.com का उपयोग करते हैं। यदि आगंतुकों के डिफ़ॉल्ट दस्तावेज़ रूट पर पहुँच प्राप्त होती है, तो इसके सुरक्षा निहितार्थ हैं। उदाहरण के लिए / माना / दस्तावेज़ रूट को दरकिनार करना। यह समस्याग्रस्त है यदि संवेदनशील डेटा को कथित दस्तावेज़ रूट के बाहर रखा जाता है (जैसे एक काल्पनिक /var/www/example-com-db.conf कॉन्फ़िगरेशन फ़ाइल पर विचार करें)।

एक बेहतर उपाय यह होगा कि साइट्स की फाइलों को इससे स्थानांतरित किया /var/wwwजाए /var/www/html/

# 1. move all files excluding the `html` directory
sudo mv /var/www/[!html]* /var/www/html
# 2. Move the hidden files as well which are skipped in previous command
sudo mv /var/www/.[!.]?* /var/www/html/

इसके अलावा, एक और संभावित समाधान एक और वर्चुअल होस्ट बनाना और डिफ़ॉल्ट को कमांड के साथ अक्षम करना है sudo a2dissite 000-default

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.