सबसे पहले आपको उदाहरण डमी . को हटाना होगा आपकी 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>
दूसरा Apache 2.4.x IPV4 ( 127.0.0.1 ) और IPV6 (::1) जागरूक है इसलिए आपके hosts
प्रत्येक साइट के लिए IPV4 और IPV6 दोनों संस्करणों की परिभाषाओं के साथ फ़ाइल इस तरह दिखनी चाहिए। ब्राउज़र मनमाने ढंग से या तो उपयोग कर सकता है, इसलिए आपको दोनों की आवश्यकता है, लेकिन यदि दोनों वास्तव में आपके पीसी पर सक्रिय हैं, तो संभवतः IPV4 की बजाय IPV6 नेटवर्क का उपयोग करेंगे।
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>
<Directory>....</Directory>
<VirtualHost>....</VirtualHost>
. के अंतर्गत अनुभाग अनुभाग अपाचे को बताता है कि किस आईपी पते से इसे कनेक्शन स्वीकार करने की अनुमति है, इसलिए अपाचे 2.4 सिंटैक्स का उपयोग करना Require local
पहुंच को सीमित करता है ताकि केवल WAMPServer चलाने वाला पीसी यानी अपाचे इनमें से किसी भी साइट से जुड़ सके।
Apache 2.2 सिंटैक्स और Apache 2.4 सिंटैक्स को एक ही परिभाषा में एक साथ मिलाने से बचें। तो उपयोग न करें
Order Allow,Deny
Allow from all
और
Require all granted
एक ही परिभाषा में। आप Apache 2.4 का उपयोग कर रहे हैं इसलिए Apache 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
ipconfig /flushdns