अपाचे वर्चुअल होस्ट, हम उन्हें Ubuntu 20.04 में कैसे कॉन्फ़िगर कर सकते हैं

वर्चुअल होस्ट अपाचे के बारे में

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

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

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

निर्देशिका संरचना बनाएँ

दस्तावेज़ रूट निर्देशिका है जहाँ अनुरोधों के जवाब में डोमेन नाम के लिए वेबसाइट फ़ाइलों को संग्रहीत और सेवा की जाती है। हम रूट को उस स्थान पर स्थापित कर सकते हैं जो हमें रुचता है प्रत्येक डोमेन पर होस्ट किया गया अपाचे सर्वर इसका दस्तावेज़ रूट सेट किया जाएगा / var / www / डोमेन-नाम / public_html.

हम जा रहे हैं दो डोमेन के लिए रूट निर्देशिका बनाकर प्रारंभ करें जिसका मैं इस उदाहरण में उपयोग करने जा रहा हूं:

निर्देशिका संरचना बनाएँ

sudo mkdir -p /var/www/dominio1.com/public_html
sudo mkdir -p /var/www/dominio2.com/public_html

भी हम एक फ़ाइल बनाएंगे सूचकांक प्रत्येक डोमेन के दस्तावेज़ रूट निर्देशिका के भीतर। यह तब दिखाया जाएगा जब हम ब्राउज़र से डोमेन पर जाएँ:

sudo vim /var/www/dominio1.com/public_html/index.html

फ़ाइल के अंदर, हम निम्नलिखित सामग्री को चिपकाने जा रहे हैं:

होम कोड domain1

 
<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">dominio1</title>
  </head>
  <body>    
<h1>Home del dominio1</h1>
  </body>
</html>

दूसरे डोमेन के लिए, हम इसकी index.html फ़ाइल को संपादित करेंगे और इसे जोड़ेंगे निम्नलिखित सामग्री:

sudo vim /var/www/dominio2.com/public_html/index.html

होम कोड डोमेन 2

<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">dominio2</title>
  </head>
  <body>
<h1>Home del dominio2</h1>
  </body>
</html>

चूंकि उपरोक्त कमांड सुडो के साथ चलाए जाते हैं, इसलिए नई बनाई गई फाइलें और निर्देशिकाएं रूट के स्वामित्व में हैं। अनुमति की समस्याओं से बचने के लिए, हम इन निर्देशिका के भीतर डोमेन और सभी फाइलों की मूल निर्देशिका के स्वामित्व को अपाचे उपयोगकर्ता (www-data) में बदलने जा रहे हैं:

sudo chown -R www-data: /var/www/dominio1.com
sudo chown -R www-data: /var/www/dominio2.com

वर्चुअल होस्ट बनाएं

उबंटू सिस्टम पर, Apache के लिए वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइल निर्देशिका में स्थित हैं / Etc / apache2 / साइटों से उपलब्ध। निर्देशिका में प्रतीकात्मक लिंक बनाकर उन्हें सक्षम किया जा सकता है / Etc / apache2 / साइटों सक्षम, जो अपाचे स्टार्टअप के दौरान पढ़ता है।

हम कॉन्फ़िगरेशन फ़ाइलों को नाम दे सकते हैं जो हम चाहते हैं। परंतु वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइल के नाम के रूप में डोमेन नाम का उपयोग करने के लिए सबसे अच्छा अभ्यास है। अब हम अपने पसंदीदा टेक्स्ट एडिटर को खोलने जा रहे हैं और बुनियादी विन्यास फाइल बना सकते हैं। उदाहरण में मैं सिर्फ domain1 के लिए कोड दिखाने जा रहा हूँ:

sudo vim /etc/apache2/sites-available/dominio1.com.conf

अंदर हम निम्नलिखित की तरह कुछ जोड़ देंगे, लेकिन domain2 के लिए, हमें निम्नलिखित कोड में domain1 को domain2 में बदलना होगा:

domain1 के लिए वर्चुअल होस्ट

<VirtualHost *:80>
    ServerName dominio1.com
    ServerAlias www.dominio1.com
    ServerAdmin webmaster@dominio1.com
    DocumentRoot /var/www/dominio1.com/public_html

    <Directory /var/www/dominio1.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/dominio1.com-error.log
    CustomLog ${APACHE_LOG_DIR}/dominio1.com-access.log combined
</VirtualHost>
  • सर्वर का नाम → आप उस डोमेन को इंगित करने जा रहे हैं जो इस वर्चुअल होस्ट कॉन्फ़िगरेशन से मेल खाना चाहिए। पूर्व डोमेन नाम होना चाहिए.
  • सर्वर का → सभी अन्य डोमेन या उप डोमेन जो इस वर्चुअल होस्ट के लिए मेल खाना चाहिए, जैसे www।
  • DocumentRoot → यहाँ है उस निर्देशिका को इंगित करेगा जहाँ से Apache फ़ाइलों की सेवा करेगा.
  • विकल्प → यह निर्देश एक विशिष्ट निर्देशिका में सर्वर के कार्य क्या हैं, इसे नियंत्रित करता है.
    • अनुक्रमित → निर्देशिका लिस्टिंग से बचें।
    • FollowSymLinks → जब यह विकल्प सक्षम हो जाता है, तो Apache प्रतीकात्मक लिंक का अनुसरण करेगा।
  • अवहेलना की अनुमति दें → आप क्या निर्दिष्ट करने जा रहे हैं .Htaccess फ़ाइल में घोषित निर्देश कॉन्फ़िगरेशन निर्देशों को ओवरराइड कर सकते हैं.
  • त्रुटि लॉग, कस्टम लॉग → यहाँ आप निर्दिष्ट करेंगे लॉग फ़ाइल स्थान.

एक बार फाइलें सेव हो जाने के बाद, नई वर्चुअल होस्ट फाइल को सक्षम करने के लिए, हम जा रहे हैं वर्चुअल होस्ट फ़ाइल से साइट-सक्षम निर्देशिका के लिए एक प्रतीकात्मक लिंक बनाएं। हम स्क्रिप्ट का उपयोग करके ऐसा करेंगे a2ensite:

a2ensite domain1

sudo a2ensite dominio1.com

दूसरा विकल्प है मैन्युअल रूप से एक प्रतीकात्मक लिंक बनाएं जैसा कि यह निम्नलिखित में दिखाया गया है:

sudo ln -s /etc/apache2/sites-available/dominio1.com.conf /etc/apache2/sites-enabled/

एक बार यह हो जाने के बाद, हम कर सकते हैं सिंटैक्स त्रुटियों के लिए कॉन्फ़िगरेशन का परीक्षण करें साथ:

sudo apachectl configtest

यदि कोई त्रुटि नहीं है, तो टर्मिनल में हमें निम्न जैसा परिणाम दिखाई देगा:

वाक्यविन्यास ठीक है

हम जारी रखते हैं अपाचे सेवा को फिर से शुरू करना परिवर्तन प्रभावी होने के लिए:

sudo systemctl restart apache2

अंत में, सत्यापित करने के लिए कि सब कुछ उम्मीद के मुताबिक काम करता है, हम URL खोलेंगे http://dominio1.com ब्राउज़र में और हमें domain1 के index.html पेज की सामग्री को देखना चाहिए:

घरेलू डोमिनो १

वर्चुअल होस्ट के साथ हम एक ही Ubuntu सर्वर पर कई डोमेन होस्ट कर सकते हैं। हम अपने सभी डोमेन के लिए अतिरिक्त वर्चुअल होस्ट बनाने के लिए पिछली लाइनों में वर्णित चरणों को दोहरा सकते हैं।

आभासी मेजबान Apache ब्राउज़र

इस लेख में उजागर बात केवल वर्चुअल होस्ट और उबंटू में इसके कॉन्फ़िगरेशन के बारे में एक बुनियादी व्याख्या है। यह अधिक जानकारी प्राप्त करें अपाचे वेबसाइट.


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   कार्लोस कहा

    हैलो, इसने मुझे वर्चुअल होस्ट बनाने में सक्षम होने में बहुत मदद की, लेकिन apachectl confitest चलाते समय मुझे निम्न त्रुटि मिली: "AH00558: apache2: 127.0.1.1 का उपयोग करके सर्वर के पूर्णतः योग्य डोमेन नाम को विश्वसनीय रूप से निर्धारित नहीं कर सका। इस संदेश को दबाने के लिए विश्व स्तर पर 'सर्वरनाम' निर्देश सेट करें
    सिंटेक्स ओके»

    मुझे नहीं पता कि क्या गलत हो सकता है