2012-06-28 21 views
23
  • पर किसी अन्य मशीन से वर्चुअल होस्ट एक्सेस करें मैं विंडोज 7 का उपयोग वैंप 2.2 सर्वर के साथ कर रहा हूं।
  • मैंने 2 वर्चुअल होस्ट सेटअप किए हैं: www.project1.com और www.project2.com
  • मैंने नीचे दिए गए परिवर्तनों के लिए "hosts", httpd.conf, और httpd-vhosts.conf फ़ाइलों को संशोधित किया है।

, अपने ब्राउज़र का उपयोग करते हुए जब मैं टाइप www.project1.com या www.project2.com, मैं सफलतापूर्वक मेरे जाल पृष्ठ लैपटॉप है कि सर्वर पर स्थापित किया है पर खोला मिलता है। मेंलैन

परिवर्तन "मेजबान फ़ाइल": मैं फ़ाइल के अंत में निम्नलिखित संलग्न किया है: -

httpd.conf फ़ाइल में
127.0.0.1  localhost 
127.0.0.1  www.project2.com 
127.0.0.1  www.project1.com 

परिवर्तन: -

Include conf/extra/httpd-vhosts.conf 

परिवर्तन httpd-vhosts फ़ाइल में: -

NameVirtualHost *:80 

<Directory "D:/websites/"> 
    AllowOverride All 
    Order Deny,Allow 
    Allow from all 
    </Directory> 
<VirtualHost 127.0.0.1> 
    DocumentRoot "D:/websites/wamp/www/" 
    ServerName localhost 
</VirtualHost> 


<VirtualHost 127.0.0.1> 
    DocumentRoot "D:/websites/project1/" 
    ServerName www.project1.com 
</VirtualHost> 


<VirtualHost 127.0.0.1> 
    DocumentRoot "D:/websites/project2/" 
    ServerName www.project2.com 
</VirtualHost> 


अब; चूंकि मैं PC_1 (सर्वर के साथ एक) में ब्राउज़र से इन वेब पृष्ठों को खोल सकता हूं, मैं PC_2 में ब्राउज़र से इन वेब पृष्ठों को कैसे एक्सेस कर सकता हूं? (मेरा मतलब है कि किसी भी पीसी को PC_1 से लैन के माध्यम से जोड़ा गया है।)

+0

मैं इन सबके लिए नया हूं और कुछ और प्रश्न हैं .. 1. क्या मेरा उपरोक्त कोड जो मैं प्राप्त करना चाहता हूं उसके लिए उचित है? @ गैब्रियल - उपर्युक्त कोड और किसी अन्य पीसी की मेजबान फ़ाइल को बदलने के आपके सुझाव के साथ, यह www.project1.com – jatin3893

+0

टाइप करने पर वैंप डिफ़ॉल्ट पृष्ठ खोलता है, यह करने का यह एक सामान्य तरीका है। यदि आप इसे गतिशील डीएनएस सेवाओं के साथ जोड़ना चाहते हैं, तो आप कई सर्वरअलीस विकल्प भी सेट कर सकते हैं। – dmp

+0

बस इस लिंक http://stackoverflow.com/questions/2530418/wamp-server-multiple-virtual-hosts-are-not-working-on-windows/17850423#17850423 मैं जवाब देने का उल्लेख इसके लिए ... उपरोक्त कोड के साथ –

उत्तर

20

अपने वर्चुअलहोस्ट निर्देश में, 127.0.0.1 को *:80 में बदलें और गैब्रियल के अनुसार, अन्य मशीन में होस्ट फ़ाइल में एक प्रविष्टि जोड़ें, अपने डोमेन को अपने सर्वर के आईपी से जोड़ने के लिए जोड़ने के लिए।

जब आप निर्देश में एक स्पष्ट आईपी डालते हैं, तो अपाचे केवल उस आईपी पर ही सुनता है - लेकिन वाइल्डकार्ड इसे सभी आईपी को उपलब्ध कराएगा।

<VirtualHost *:80> 
    DocumentRoot "D:/websites/project1/" 
    ServerName www.project1.com 
</VirtualHost> 

अपने सर्वर उदाहरण के लिए 192.168.1.70 पर है, तो अपने लैन पर अन्य मशीनों में, मेजबान प्रविष्टि तरह दिखेगा:

192.168.1.70  www.project1.com 

पुनः प्रारंभ अपाचे और यह ठीक काम करना चाहिए।

एक नोट के रूप में, जब आप वर्चुअलहोस्ट का उपयोग कर रहे हैं, तो अपाचे पहली परिभाषा का उपयोग डिफ़ॉल्ट के रूप में करेगा जब यह HTTP अनुरोध शीर्षलेख में पारित डोमेन और कॉन्फ़िगरेशन में साइट सेटअप के बीच कोई मिलान नहीं कर सकता है, जो कि यही कारण है कि आपका डिफ़ॉल्ट पृष्ठ दिखाई दे रहा था।

आपने NameVirtualHost *:80 निर्देश के साथ सभी आईपी से जुड़ने के लिए अपाचे को बताया, लेकिन फिर उस बाहरी आईपी के लिए साइट सेट नहीं की गई। उम्मीद है की वो मदद करदे!

+0

आप इसे कैसे बना सकते हैं ताकि आप किसी भी लैन मशीन से आईपैड्रेस/वर्चुअलहोस्टनाम का उपयोग कर सकते हैं, बिना विज़िटिंग मशीन होस्ट संपादित किए? – dibs

+0

उदाहरण के लिए यदि आप किसी आईफोन से इसका परीक्षण करना चाहते हैं तो क्या होगा? मेजबान फ़ाइल को बदलने से कोई और तरीका है? – Victor

0

आपको उस फ़ाइल पर होस्ट फ़ाइल को बदलने की आवश्यकता है, जिसे आप पृष्ठ से देखने का प्रयास कर रहे हैं।

तो आपको उन्हें अन्य लैन मशीन पर मेजबान फ़ाइल में जोड़ने की आवश्यकता है।

+0

और किसी अन्य पीसी की मेजबान फ़ाइल को बदलने के आपके सुझाव के साथ, यह www.project1.com टाइप करने पर वैंप डिफ़ॉल्ट पृष्ठ खोलता है। मैं इसे www.project1 के इंडेक्स पेज पर कैसे बना सकता हूं .com? – jatin3893

5

स्थानीय नेटवर्क में दो कंप्यूटर हैं।

एक कंप्यूटर (1 9 2.168.1।70) सेटअप (डी: \ WAMP \ बिन \ अपाचे \ Apache2.2.11 \ conf \ अतिरिक्त \ httpd-vhosts.conf):

<VirtualHost *:80> 
    DocumentRoot "D:/websites/project1/" 
    ServerName www.project1.com 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "D:/websites/project2/" 
    ServerName www.project2.com 
</VirtualHost> 

बी कंप्यूटर सेटअप (ग:/विंडोज़/system32/ड्राइव/etc/मेजबान):

192.168.1.70 www.project1.com 
192.168.1.70 www.project2.com 

बी एक्सेस ए, मेरा प्रोजेक्ट काम कर रहा है।

19

डैनप के उत्तर के अतिरिक्त, आप वर्चुअल होस्ट पर पोर्ट निर्दिष्ट करके क्लाइंट मशीन की इत्यादि/होस्ट फ़ाइल को बदलने के बिना वर्चुअल होस्ट तक पहुंच सकते हैं।

  1. संपादित सर्वर के httpd.conf फ़ाइल पर: "Listen" (लाइन 61 के आसपास) के लिए

    \wamp\bin\apache\apache2.2.x\conf\httpd.conf 
    

    खोजें आप एक मोबाइल या टेबलेट डिवाइस के साथ सर्वर का उपयोग करना चाहते हैं तो यह आदर्श है। निम्नलिखित लाइनों बंदरगाह 81 के लिए सुन जोड़ने के लिए जोड़ें

    Listen 0.0.0.0:80 
    Listen [::0]:80 
    

    (या किसी भी बंदरगाह):

    Listen 0.0.0.0:81 
    Listen [::0]:81 
    
  2. संपादित httpd-vhosts.conf फ़ाइल आप निम्नलिखित कि पोर्ट 80 के लिए सुनने के लिए अपाचे के लिए अनुमति देता है देखना चाहिए पर:

    \wamp\bin\apache\apache2.2.x\conf\extra\httpd-vhosts.conf 
    

    बंदरगाहकरने के लिए अपने "वर्चुअल होस्ट" टैग बदलें 10:

    <VirtualHost *:81> 
        DocumentRoot "D:/websites/project1/" 
        ServerName www.project1.com 
    </VirtualHost> 
    
  3. अपाचे सर्वर को पुनरारंभ करें।

  4. क्लाइंट मशीन/टेबलेट/मोबाइल पर, वेब ब्राउज़र पर, सर्वर का IP पता (192.168.0.10, या जो कुछ भी आईपी) निम्न स्वरूप में पोर्ट संख्या दर्ज़ करें:

    http://192.168.0.10:81 
    
+0

बिल्कुल सही, मैं बस विंडोज़ पर जोड़ूंगा, आपको फ़ायरवॉल –

+0

में वैंप (इनबाउंड नियम) के लिए पोर्ट 81 खोलने की आवश्यकता हो सकती है, मैं बंदरगाहों के साथ चिपक रहा हूं। यदि केवल एक तरीका था, तो स्थानीय लैन में सीरेलल होस्टनामों (या तो कुछ राउटर DNS सेटिंग्स या अन्य जगहों में) के अंतर्गत जाने वाली एक विंडोज मशीन बनाने के लिए, बहुत अधिक सुरुचिपूर्ण ... –

+1

सभी उपकरणों में सुंदर समाधान होगा। खूनी समाधान :) परीक्षण और साबित हुआ। धन्यवाद – ColinWa

2

अद्यतित अंक के एक जोड़े को चयनित जवाब के लिए विचार करने के लिए:

  1. NameVirtualHost नहीं रह गया है अपाचे संस्करण के बाद प्रयोग किया जाता है 2.3.11 और छोड़ा जा सकता है।

    2.3.11 में और बाद में, किसी भी समय एक आईपी पते और पोर्ट संयोजन कई आभासी मेजबान में प्रयोग किया जाता है, नाम के आधार पर आभासी होस्टिंग स्वचालित रूप से उस पते के लिए सक्षम है।

  2. क्योंकि हम लैन पर एक वेबसाइट की मेजबानी के बारे में बात कर रहे हैं, चलो एक आवश्यकता सेट * केवल कनेक्शन स्वीकार करने आईपी से अपने स्थानीय नेटवर्क पर संबोधित करते हैं। उदाहरण के लिए, एक सामान्य लिंकिस राउटर पर, डिफ़ॉल्ट नेटवर्क पर प्रत्येक डिवाइस को आवंटित आईपी 1 9 2.168.1.100 से 1 9 2.168.1.255 तक है।आप LAN पर सभी डिवाइसों से कनेक्शन को Require ip 192.168.1 का उपयोग करके आईपी पते 192.168.1.XXX पर सभी उपकरणों से कनेक्शन की अनुमति दे सकते हैं (ध्यान दें कि अंतिम 0ctरेंज की अनुमति देने के लिए अंतिम ऑक्टेट आईपी से छोड़ा गया है)।

    यह आपको प्रति परियोजना तक पहुंच कॉन्फ़िगर करने की अनुमति देता है ताकि कोई भी लैन पर उपलब्ध हो और दूसरा स्थानीय रूप से उपलब्ध हो।

    # This will allow all LAN connections to www.project1.com 
    <VirtualHost *:80> 
        DocumentRoot "D:/websites/project1/" 
        <Directory "D:/websites/project1/"> 
         Require local 
         Require ip 192.168.1 
        </Directory> 
        ServerName www.project1.com 
    </VirtualHost> 
    
    # This will allow only the machine hosting the website to access www.project2.com 
    <VirtualHost *:80> 
        DocumentRoot "D:/websites/project2/" 
        <Directory "D:/websites/project2/"> 
         Require local 
        </Directory> 
        ServerName www.project2.com 
    </VirtualHost> 
    

    अपनी साइट अपने होस्ट को पोर्ट 80 पर रूटर अग्रेषण यातायात के बिना सार्वजनिक रूप से प्रस्तुत नहीं किए जाएंगे, वहीं मेरा मानना ​​है कि यह सबसे अच्छा अभ्यास माना जाता है। यह विशेष रूप से जरूरी है यदि आपको यह नियंत्रित करने की आवश्यकता है कि लैन पर डिवाइस पर कौन सी परियोजनाएं उपलब्ध हैं।

  3. अनुस्मारक: आपके होस्ट मशीन को आपके राउटर के डीएचसीपी द्वारा असाइन किए जाने के बजाय स्थिर आईपी पते का उपयोग करने के लिए कॉन्फ़िगर किया जाना चाहिए। चूंकि हम सर्वर के आईपी, पर इंगित करने के लिए अन्य उपकरणों की मेजबान फ़ाइल को संपादित करते हैं, इसलिए हम इसे बदलना नहीं चाहते हैं।

* मैं इस शामिल कर रहा हूँ, क्योंकि यह एक स्थानीय विकास सर्वर पर प्रतिबंधों का उपयोग करने के लिए आम है और आप इसे विशेष रूप अपने स्थानीय नेटवर्क से उपलब्ध बनाने के लिए की आवश्यकता होगी।

संबंधित मुद्दे