2014-09-30 6 views
5

काम नहीं कर रहा मैं एक WAMP संस्करण 2.5 मेरे अपाचे का उपयोग कर रहा होस्ट 2.4.9 पीएचपी हैWAMP वर्चुअल

पर मेरी httpd.conf: 5.6.17

मैं इन विन्यास है

# Virtual hosts 
Include conf/extra/httpd-vhosts.conf 

पर मेरी G:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhost.conf

# Virtual Hosts 
# 
# Required modules: mod_log_config 

# If you want to maintain multiple domains/hostnames on your 
# machine you can setup VirtualHost containers for them. Most configurations 
# use only name-based virtual hosts so the server doesn't need to worry about 
# IP addresses. This is indicated by the asterisks in the directives below. 
# 
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.4/vhosts/> 
# for further details before you try to setup virtual hosts. 
# 
# You may use the command line option '-S' to verify your virtual host 
# configuration. 
# 


# 
# VirtualHost example: 
# Almost any Apache directive may go into a VirtualHost container. 
# The first VirtualHost section is used for all requests that do not 
# match a ServerName or ServerAlias in any <VirtualHost> block. 
# 


<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "g:/Apache24/docs/dummy-host.example.com" 
    ServerName dummy-host.example.com 
    ServerAlias www.dummy-host.example.com 
    ErrorLog "logs/dummy-host.example.com-error.log" 
    CustomLog "logs/dummy-host.example.com-access.log" common 
</VirtualHost> 

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "g:/Apache24/docs/dummy-host2.example.com" 
    ServerName dummy-host2.example.com 
    ErrorLog "logs/dummy-host2.example.com-error.log" 
    CustomLog "logs/dummy-host2.example.com-access.log" common 
</VirtualHost> 


<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "g:/wamp/www" 
    ServerName localhost 
    ErrorLog "logs/localhost-error.log" 
    CustomLog "logs/localhost-access.log" common 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "g:\wamp\www\mysite\public" 
    ServerName mysite.dev 
</VirtualHost> 

पर मेरी c:\Windows\System32\Drivers\etc\hosts

# localhost name resolution is handled within DNS itself. 
127.0.0.1 localhost 
127.0.0.1 mysite.dev 
# ::1  localhost 

मैं इस यूआरएल का उपयोग कर अपने प्रोजेक्ट तक पहुँचने का प्रयास: http://www.mysite.dev/लेकिन मैं एक Server not found error हो रही है मैं www.mysite.dev, http://mysite.dev का उपयोग कर इसे तक पहुँचने की कोशिश की, लेकिन अभी भी एक बुरी किस्मत होने!

मेरा वर्चुअल होस्ट पहले काम कर रहा था लेकिन मुझे यकीन नहीं है कि यह अब क्यों काम नहीं कर रहा था। कुछ अजीब चीजें चल रही हैं।

मुझे यकीन नहीं है कि क्या हो रहा है। किसी भी विचार की सराहना की जाएगी!

धन्यवाद!

+0

क्या आपने कुछ ऐसा करने की कोशिश की है (http://stackoverflow.com/a/11154840/2518525)? – Darren

+0

यूआरएल में केवल mysite.dev का उपयोग करें। और –

+0

जांचें और अपनी mysite \ public में भी जांच करें index.php है? –

उत्तर

-1

आप पर इस एपाचे कोशिश httpd.config फ़ाइल:

<VirtualHost *:80> 
     ServerName mysite.dev 
     DocumentRoot "g:\wamp\www\mysite\public" 
    SetEnv APPLICATION_ENV "development" 

    <Directory "g:\wamp\www\mysite\public"> 
     DirectoryIndex index.php 
     Options All Includes Indexes 
     Options All Indexes FollowSymLinks 
     Order allow,deny 
     Allow from all 
     Require all granted 
    </Directory> 
    </VirtualHost> 

अपने WAMP सर्वर को पुनः आरंभ और आप ब्राउज़र पर mysite.dev/ तरह यूआरएल डाल दिया। उम्मीद है कि यह आपकी मदद करेगा। धन्यवाद।

10

सबसे पहले आपको अपने vhost-httpd.conf फ़ाइल से डमी परिभाषाओं को हटाने की आवश्यकता है। वे उदाहरण हैं केवल सिंटैक्स के साथ शुरू करने के लिए, और सक्रिय conf/extra/httpd-vhosts.conf में सक्रिय नहीं रहना चाहिए क्योंकि वे मौजूद मौजूदा फ़ोल्डरों को इंगित कर रहे हैं।

तो फ़ाइल से इन 2 परिभाषाएँ निकालें:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "g:/Apache24/docs/dummy-host.example.com" 
    ServerName dummy-host.example.com 
    ServerAlias www.dummy-host.example.com 
    ErrorLog "logs/dummy-host.example.com-error.log" 
    CustomLog "logs/dummy-host.example.com-access.log" common 
</VirtualHost> 

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "g:/Apache24/docs/dummy-host2.example.com" 
    ServerName dummy-host2.example.com 
    ErrorLog "logs/dummy-host2.example.com-error.log" 
    CustomLog "logs/dummy-host2.example.com-access.log" common 
</VirtualHost> 

दूसरा अपाचे 2.4.x IPV4 है (127.0.0.1) और IPv6 (:: 1) के बारे में पता तो अपने hosts फ़ाइल परिभाषा के साथ इस तरह दिखना चाहिए प्रत्येक साइट के लिए आईपीवी 4 और आईपीवी 6 संस्करण दोनों के लिए। ब्राउज़र मनमाने ढंग से या तो उपयोग कर सकता है ताकि आपको दोनों की आवश्यकता हो लेकिन शायद आईपीवी 6 नेटवर्क को प्राथमिकता में आईपीवी 4 का उपयोग करें यदि दोनों वास्तव में आपके पीसी पर सक्रिय हैं।

127.0.0.1 localhost 
::1 localhost 

127.0.0.1 mysite.dev 
::1 mysite.dev 

अब 2 आभासी मेजबान है कि वास्तव में आपके सिस्टम पर मौजूद वर्चुअल होस्ट परिभाषा के रूप में इस कोशिश पर:

<VirtualHost *:80> 
    DocumentRoot "g:/wamp/www" 
    ServerName localhost 
    ServerAlias localhost 
    ErrorLog "logs/localhost-error.log" 
    CustomLog "logs/localhost-access.log" common 
    <Directory "G:/wamp/www"> 
     AllowOverride All 
     Options Indexes FollowSymLinks 
     Require local 
    </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "g:\wamp\www\mysite\public" 
    ServerName mysite.dev 
    ServerAlias www.mysite.dev 
    ErrorLog "logs/mysite-error.log" 
    CustomLog "logs/mysite-access.log" common 
    <Directory "G:/wamp/www/mysite/public"> 
     AllowOverride All 
     Options Indexes FollowSymLinks 
     Require local 
    </Directory> 
</VirtualHost> 

<VirtualHost>....</VirtualHost> अनुभाग के भीतर <Directory>....</Directory> अनुभाग बताता है अपाचे जो आईपी पते यह करने के लिए अनुमति दी है कनेक्शन स्वीकार करें, इसलिए अपाचे 2.4 सिंटैक्स Require local का उपयोग सीमित करने के लिए ताकि केवल पीसी चलने वाले WAMPServer यानी अपाचे इन साइटों में से किसी से कनेक्ट हो सके।

उसी परिभाषा में एक साथ अपाचे 2.2 सिंटैक्स और अपाचे 2.4 सिंटैक्स मिश्रण से बचें।तो एक ही परिभाषा

Order Allow,Deny 
Allow from all 

और

Require all granted 

का उपयोग नहीं है। आप अपाचे 2.4 का उपयोग कर रहे हैं इसलिए अपाचे 2.4 सिंटैक्स का उपयोग करें।

यदि आप पाते हैं कि आप अन्य पीसी को अपने स्थानीय नेटवर्क के अंदर आपको साइट यानी काम करने वाले साथी या बच्चों आदि को देखने की अनुमति देना चाहते हैं, तो आप इस वाक्यविन्यास को अपनी एक या अधिक वर्चुअल होस्ट परिभाषा में जोड़ सकते हैं।

अपनी साइट में सिर्फ एक अन्य पीसी की अनुमति दें

Require local 
Require ip 192.168.1.100 

या 2 अन्य पीसी

Require local 
Require ip 192.168.1.100, 192.168.1.101 

या अपने स्थानीय नेटवर्क पर किसी को भी सिर्फ आईपी के 4 चतुर्थकों के पहले 3 उपयोग करने के लिए पता।

Require ip 192.168.1 

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

Require all granted <--Apache 2.4 syntax 

or 

Order Allow,Deny  <-- Apache 2.2 syntax 
Allow from all  

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

बेहतर साइट पर आप लोग/परीक्षण के लिए देखने के लिए Require local से Require all granted को डींग मारने और केवल कि एक साइट इंटरनेट से पहुंच होने की अनुमति चाहते हैं के लिए एक आभासी होस्ट परिभाषा बदलने के लिए।

एक बार जब आप इन सभी परिवर्तनों को अपाचे को पुनरारंभ करना याद रखें।

यदि आप chnages सक्रिय करने के लिए मेजबान फ़ाइल को बदलते हैं तो आपको या तो Runs as Administrator विकल्प को शुरू करने वाली कमांड विंडो की कमांड लाइन से इन कमांड को रीबूट या चलाने चाहिए।

net stop dnscache 
net start dnscache 
+0

हे भगवान, मुझे यकीन नहीं है कि वास्तव में किसने काम किया था। :: 1 और संस्करणों में वाक्यविन्यास अंतर क्योंकि मैंने दो परिवर्तन किए हैं (आईपी 6 जागरूक मेजबान फ़ाइल और 2.4 कॉन्फ़िगरेशन सिंटैक्स को ठीक करना)। मैं हफ्तों से बहुत संघर्ष कर रहा था (जो मैंने वर्चुअल होस्ट का उपयोग नहीं किया लेकिन कभी भी आवश्यक साइटों को स्विच करें)। बहुत बहुत धन्यवाद –

+0

बहुत बहुत धन्यवाद, मेरी मेजबान फ़ाइल में :: 1 जोड़ना समस्या का समाधान! –

+0

अच्छी जानकारी! – CrashBurn

2

के बाद मेरे लिए काम कर रहा है httpd.conf में uncommented इस मॉड्यूल बाहर की जाँच करें Apache फ़ोल्डर में httpd.conf में कुछ लाइनों को असम्बद्ध द्वारा roblem। नीचे

टिप्पणी हटाएं लाइनों:

Include conf/extra/httpd-vhosts.conf 
LoadModule vhost_alias_module modules/mod_vhost_alias.so 

फ़ाइल सहेजें और अपने अपाचे पुनरारंभ करें और यह काम करेंगे। इस आदमी को बहुत धन्यवाद: https://john-dugan.com/wamp-vhost-setup/

1

मैं एक ही पी ठीक

  • proxy_module
  • proxy_http_module
2

गूगल .dev जीटीएलडी प्राप्त करने, .dev विकास साइटों होने के कारण अब कोई आसानी से संभव है, कम करने के लिए सबसे अच्छा तरीका है बस .local या कुछ में अपने विकास डोमेन नाम बदलने के लिए है कि आप पसंद करते हैं।

पृष्ठभूमि में क्या होता है यह है कि स्थानीय DNS सर्वर ब्राउज़र को 127.0.53.53 (ओपन cmd> nslookup yourdomain.dev) पर रीडायरेक्ट करता है ताकि डीडीवी जीटीएलडी के अंतिम उपयोगकर्ताओं को सूचित किया जा सके। चूंकि होस्ट फ़ाइल में .dev डोमेन 127.0.0.1 पर सेट है, यह कनेक्शन से इनकार कर देता है।

आप मेजबान फ़ाइल में 127.0.0.1 से 127.0.53.53 को बदल सकते हैं और देख सकते हैं कि ब्राउज़र त्रुटि ERR_CONNECTION_REFUSED से ERR_ICANN_NAME_COLLISION तक बदल जाती है।