स्वचालित वर्चुअल होस्ट निर्माण

आपका दिन शुभ हो!

विकास प्रक्रिया में, आप हमेशा नियमित संचालन को स्वचालित करना चाहते हैं (या यह मुझे ऐसा लगता है) और सीधे दिलचस्प चीजों के लिए आगे बढ़ें। चूंकि मैं एक वेब डेवलपर हूं, ऐसे माहौल की तैनाती हमेशा मेरे लिए एक ऐसा ऑपरेशन रहा है। आज मैं स्थानीय मशीन पर एक नई परियोजना के लिए एक नया होस्ट बनाने के कार्य को सरल बनाने का प्रयास करूंगा।

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


बेशक हमें अपाचे की जरूरत है। डाउनलोड और इंस्टॉल करें। आगे कुछ जादू है:

मास वर्चुअल होस्ट


सबसे पहले, हम उस फ़ोल्डर का चयन करते हैं जहां हमारी सभी परियोजनाएं रहेंगी और इसे अपाचे के लिए उपलब्ध कराएंगी। इसे डी होने दें : / साइटें (मैं विंडोज का उपयोग करता हूं, इसलिए सभी उदाहरण इसके लिए होंगे, लेकिन यह लिनक्स पर भी काम करना चाहिए):

<Directory d:/sites> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> 


अब हम नए होस्ट बनाने की प्रक्रिया को स्वचालित करते हैं। इस प्रयोजन के लिए, आपको Apache के लिए mod_vhost_alias मॉड्यूल को सक्षम करने और कॉन्फ़िगरेशन फ़ाइल में केवल 2 पंक्तियाँ जोड़ने की आवश्यकता है:

  NameVirtualHost *:80 VirtualDocumentRoot d:/sites/%-2 


कुंजी % -2, अपाचे को अनुरोध URL का आधार भाग लेने के लिए कहता है और अनुरोध को d: / साइटों में एक सबफ़ोल्डर को निर्देशित करता है । उप-डोमेन एक बोनस के रूप में कैसे काम करेगा। कुछ उदाहरण:

  http://test.local -> d:/sites/test http://qwerty.local -> d:/sites/qwerty http://a.domain.local -> d:/sites/domain 


प्रलेखन पृष्ठ पर संभावित कुंजियों के बारे में अधिक जानकारी प्राप्त की जा सकती है।

नोट। इस होस्ट कॉन्फ़िगरेशन के साथ, mod_rewrite काम नहीं करेगा। समस्या को ठीक करने के लिए बहुत सरल है: आपको बस "रिवाइटरबेस /" निर्दिष्ट करने की आवश्यकता है। परिणाम कुछ इस तरह होना चाहिए:
 <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / # Your rewrite rules go next </IfModule> 


डीएनएस ऑटो कॉन्फ़िगरेशन



सबसे अच्छा समाधान राउटर में एक नया * .local क्षेत्र (यदि कोई हो) पंजीकृत करना होगा, क्योंकि मेजबान फाइलें वाइल्डकार्ड (*) का समर्थन नहीं करती हैं। यदि कोई राउटर नहीं है, तो अतिरिक्त सॉफ़्टवेयर की मदद से समस्या को कम किया जा सकता है।

विंडोज

प्रत्येक बार मैन्युअल रूप से एक नया होस्ट पंजीकृत न करने के लिए, आप स्थानीय DNS प्रॉक्सी सेट कर सकते हैं। मैं ऐक्रेलिक डीएनएस प्रॉक्सी का उपयोग कर रहा हूं। कार्यक्रम छोटे और उपयोग करने में बेहद आसान है।
  1. इंटरनेट कनेक्शन के गुणों में, DNS पते को 127.0.0.1 में बदलें
  2. हम ऐक्रेलिक सेटिंग्स फ़ाइल को संपादित करते हैं: प्रोग्राम \ ऐक्रेलिक डीएनएस प्रॉक्सी \ कॉन्फिगरेशन \ _ कॉन्फिगरेशन फाइल । आपको अपने प्रदाता के DNS सर्वर या किसी अन्य उपलब्ध (उदाहरण के लिए, Google DNS 8.8.8.8) को निर्दिष्ट करना होगा जो कि ऐक्रेलिक तब उपयोग करेगा जब डोमेन नाम कैश में न हो।
  3. एडिटिंग प्रोग्राम्स / ऐक्रेलिक डीएनएस प्रॉक्सी \ कॉन्फिग \ एड कस्टम होस्ट्स फाइल । ऐक्रेलिक एक तारांकन को समझता है। हुर्रे! व्यक्तिगत रूप से, मैं * का उपयोग करता हूं स्थानीय
  4. हम कैश को साफ़ करते हैं और ऐक्रेलिक को फिर से शुरू करते हैं: प्रोग्राम्स \ एक्रिलिक डीएनएस प्रॉक्सी \ कॉन्फिग \ पर्ज ऐक्रेलिक कैश डेटा


लिनक्स

एक ही उद्देश्य के लिए Dnsmasq (धन्यवाद अनाम ) है। संपादन /etc/dnsmasq.conf । * .Local ज़ोन के लिए आपको जोड़ना होगा:

 address=/local/127.0.0.1 listen-address=127.0.0.1 

परिवर्तनों को सहेजें और Dnsmasq को पुनरारंभ करें।

बोनस: ईमेल सेटअप


विंडोज में अंतर्निहित सेंडमेल नहीं है। मैं छोटे टेस्ट मेल सर्वर टूल का उपयोग करता हूं, जो केवल एक फ़ोल्डर में अक्षर डालता है।

Source: https://habr.com/ru/post/In139792/


All Articles