2012-02-29 16 views
12

मैं में दिलचस्पी है, मैं जैसे डोमेन नाम के साथ अपाचे पर vhosts हो सकता है यदि: http://something.com/something या http: // {सर्वर आईपी -ड्रेस-यहाँ}/कुछ?आभासी मेजबान

मैं उबंटू सर्वर पर अपाचे 2.2.20 का उपयोग कर रहा हूं, यह मेरा होम सर्वर है और मैं यहां कुछ सामानों का परीक्षण कर रहा हूं, मेरे पास कोई DNS सर्वर नहीं है और मेरे पास केवल सार्वजनिक आईपी पता है और इसमें से एक डोमेन नाम संलग्न है खुली डीएनएस सेवा से।

तो, मैं क्या किया:

  1. मैं /etc/apache2/साइटों से उपलब्ध
  2. में नई फ़ाइल "डेमो" बनाया है मैं वहाँ डाल इस (वास्तव में इसके साथ नकल की जाती है डिफ़ॉल्ट फ़ाइल से संशोधन):

    <VirtualHost *:80> 
        ServerAdmin [email protected] 
        ServerName {mydomain-here}/demo/ 
        DocumentRoot /vhosts/demo 
    <Directory /> 
         Options FollowSymLinks 
         AllowOverride None 
    </Directory> 
    <Directory /vhosts/demo/> 
         Options Indexes FollowSymLinks MultiViews 
         AllowOverride None 
         Order allow,deny 
         allow from all 
    </Directory> 
    
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
    <Directory "/usr/lib/cgi-bin"> 
         AllowOverride None 
         Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 
         Order allow,deny 
         Allow from all 
    </Directory> 
    
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    
    # Possible values include: debug, info, notice, warn, error, crit, 
    # alert, emerg. 
    LogLevel warn 
    
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
    
    Alias /doc/ "/usr/share/doc/" 
    <Directory "/usr/share/doc/"> 
        Options Indexes MultiViews FollowSymLinks 
        AllowOverride None 
        Order deny,allow 
        Deny from all 
        Allow from 127.0.0.0/255.0.0.0 ::1/128 
    </Directory> 
    </VirtualHost> 
    

  3. बनाया सिमलिंक में/etc/apache2/साइटों सक्षम/जो करने के लिए/etc/apache2/साइटों से उपलब्ध/डेमो अंक

  4. +०१२३५१६४१०
  5. /vhosts/demo/index.html फ़ाइल बनाया गया।

और अब मैं क्या मिलता है कि मैं vhost को जो मैं पैदा की है जब मैं करने के लिए {my-domain} जाना है, लेकिन समस्या यह है कि सर्वर मुझे किसी भी मामले में वहाँ इशारा करता है, न केवल {my-domain }/डेमो जो मैं चाहता हूँ।

निष्कर्ष में, मैं चाहता हूं कि मैं अलग-अलग आभासी मेजबान बना सकूं और उन्हें विभिन्न यूआरएल के साथ संलग्न कर सकूं, उदाहरण के लिए www.mydomain.com/vhost1, www.mydomain.com/vhost2 आदि ..

क्या यह संभव है? धन्यवाद :)

उत्तर

15

शुरू करने के लिए, इसका कारण यह है कि आपके पास वर्चुअल होस्ट के लिए * 80 सेटिंग है, इसलिए यदि अनुरोध से मेल नहीं खाता तो यह पहले वर्चुअल होस्ट एंट्री

का उपयोग करता है

तो मैं समझता हूँ कि आप क्या करने की कोशिश कर रहे हैं ऐसा लगता है जैसे तुम सिर्फ प्रत्येक 'आभासी मेजबान'

आपको क्या करने की कोशिश कर रहे हैं नहीं काफी एक आभासी मेजबान (कम से कम क्या एक आभासी मेजबान है अन्य नाम पर चाहते हो सकता है ऐसा करना है), लेकिन आप apache

की उपनाम सुविधा का उपयोग करके इसे पूरा करने में सक्षम हो सकते हैं 0

तो अब जो भी डोमेन आप उपयोग करते हैं उदा। http://whatever.com/vhost1 या http://whatever.com/vhost2 दोनों एम अलग साइट के रूप में दिखाई देंगे

+0

धन्यवाद :) मैंने एलियस बनाया और मुझे वह परिणाम मिला जो मैं चाहता था! लेकिन, ब्याज के लिए: ऐसा लगता है कि वर्चुअल होस्ट को इस तरह से बनाना संभव नहीं है, है ना? – Jibla

+0

मुझे ऐसा नहीं लगता है, मैंने इसे पहले कभी ऐसा नहीं किया है। आम तौर पर जब आप एक सर्वर की आवश्यकता होती है तो एकाधिक डोमेन/ips के लिए सर्वर फ़ाइलों में सक्षम होने के लिए आप इसका उपयोग करते हैं। www.vhost1.com और www.vhost2.com और वर्चुअल होस्ट का उपयोग करना यह है कि सर्वर जानता है कि कौन सी फाइलें www.vhost1.com और www.vhost2 सर्वर पर हैं।कॉम – jeffchong07

+0

आपके मामले में, केवल एक डोमेन है इसलिए वर्चुअल होस्ट आपकी साइट को अलग करने के लिए जरूरी नहीं है – jeffchong07

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