अपाचे वर्चुअल होस्ट गलत डॉक्यूमेंटरूट की ओर इशारा करता है


9

मैं वर्चुअल होस्ट के साथ Ubuntu 12.04.3 पर चलने वाले डिजिटल महासागर पर एक VPS संचालित करता हूं। मैं यहां इस ट्यूटोरियल के बाद चीजों को सेट करने में सक्षम था: https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts

हालाँकि, कुछ दिनों के बाद मैंने अपने मुख्य डोमेन (noelforte.com) पर नेविगेट किया और यह देखने के लिए कि क्या सब कुछ सुचारू रूप से चल रहा है, लेकिन लैंडिंग पृष्ठ को देखने के बजाय जिसे मैंने अस्थायी रूप से स्थापित किया था, मुझे इसके बजाय एक निर्देशिका लिस्टिंग के साथ स्वागत किया गया था।

विचित्र रूप से पर्याप्त है, जो उप डोमेन मैंने VHosts के साथ कॉन्फ़िगर किया था, वह अभी भी सही निर्देशिका को इंगित करता था, हालांकि मेरा मुख्य डोमेन डिफ़ॉल्ट दस्तावेज़ रूट पर इंगित करने के लिए वापस आ गया /var/www

/etc/apache2/sites-availableसब कुछ फिर से एक ही परिणाम प्राप्त करने और सब कुछ सेट करने में कॉन्फ़िगर फ़ाइलों को हटाने : कोई भी उपडोमेन सही स्थान पर इंगित करेगा, हालांकि रूट TLD रहता है /var/www

इस तरह की स्थिति के कारण क्या हो सकता है, और फिर शुरू में ठीक से काम क्यों किया?

जवाबों:


12

उसे हल कर लिया! रनिंग sudo apache2ctl -Sने निम्नलिखित लौटाया:

VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost media.noelforte.com (/etc/apache2/sites-enabled/media.noelforte.com:1)

मैंने डिफ़ॉल्ट सहित सभी साइटों को अक्षम करने का निर्णय लिया और केवल उन साइटों को सक्रिय करें जिनकी मुझे आवश्यकता थी। इससे मेरी समस्या हल हो गई।

अगर कोई समझा सकता है कि जैसा यहां देखा noelforte.comगया था वैसा क्यों चल रहा था default-000:

port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)

जो गलतफहमी हो सकती है, उस पर कुछ प्रकाश डालने में मदद करेगा। धन्यवाद!


मेरे पास एक ही मुद्दा था, मेरे लिए यह था क्योंकि ServerName को 000-डिफ़ॉल्ट फ़ाइल में डोमेन के समान सेट किया गया था।
हार्ड-उबला हुआ वंडरलैंड

1

एक 000-defaultफ़ाइल बनाएँ /etc/apache2/sites-availableया, यदि यह पहले से मौजूद है, तो इसे संपादित करें। यह वह जगह है जहाँ आपका वेब सर्वर इंगित करेगा यदि आपके द्वारा देखी जा रही साइट के लिए कोई वर्चुअलहोस्ट परिभाषित नहीं है।

सुनिश्चित करें कि फ़ाइल में भी मौजूद है की जाँच करें /etc/apache2/sites-enabled। यदि यह नहीं है:ln -s /etc/apache2 sites-available/000-default /etc/apache2/sites-enabled/


defaultमेरी /etc/apache2/sites-availableनिर्देशिका में एक फ़ाइल पहले से है । मेरे पास noelforte.comसेट अप और सक्षम के लिए एक वर्चुअल होस्ट भी है , हालांकि, यह vhost फ़ाइल में परिभाषित दस्तावेज़ रूट की ओर इशारा नहीं करता है। क्यों?
नोएल फोर्ट

0

आपको /etc/apache2/sites-enabled/yourdomain.conf को संपादित करना होगा और "ServerName" को "yourdomain" में जोड़ना होगा। Ex:

<VirtualHost *:80>
    ServerName MyDomain
    DocumentRoot /var/www/myDomainFolder
...
</VirtualHost>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.