Apache HTTP Server, जिसे Apache के नाम से जाना जाता है, एक मुफ्त और ओपन सोर्स वेब-सर्वर है, जिसे Apache Software Foundation ने बनाया है। 1990 के दशक की शुरुआत में शुरू किया गया, Apache लंबे समय तक इंटरनेट पर एक वर्चस्व वाला वेब-सर्वर रहा है, इसकी मॉड्यूलरिटी, फ्लेक्सिबिलिटी और रिलायबिलिटी की वजह से। यह कई प्रकार के फीचर्स का सपोर्ट करता है, जैसे कि वर्चुअल होस्ट्स, SSL/TLS और एक लचीला कॉन्फ़िगरेशन सिस्टम। Apache विभिन्न ऑपरेटिंग सिस्टम्स के लिए उपलब्ध है, जिसमें UNIX, Linux और Windows शामिल हैं। इस लेख में हम Debian 11 पर Apache की स्थापना का अध्ययन करेंगे। यह निर्देश Debian 10 जैसे पूर्व के संस्करणों के लिए भी लागू होगा और Debian 12 जैसे बाद के संस्करणों के लिए भी।
यदि आप हमारे कोर्स का अनुसरण कर रहे हैं Debian 11 पर WordPress की स्थापना के लिए बिना कंट्रोल पैनल के और पहले ही nginx की स्थापना कर चुके हैं, तो सबसे पहले nginx को रोकें
sudo systemctl stop nginx
अब Apache की स्थापना की ओर बढ़ सकते हैं।
यहाँ Debian 11 पर Apache की स्थापना के लिए कदम दर कदम निर्देश हैं:
कदम 1. सिस्टम को अपडेट करना
सबसे पहले, उपलब्ध पैकेजों की सूची को अपडेट करें:
sudo apt update
कदम 2: Apache की स्थापना
sudo apt install apache2
कदम 3. Debian 11 पर Apache को शुरू करना
sudo systemctl start apache2
कदम 4. Apache की स्थिति की जांच करना
sudo systemctl status apache2
यदि सब कुछ सफल रहा, तो आपको “active (running)” संदेश दिखाई देगा।
कदम 5: फ़ायरवॉल का कॉन्फ़िगरेशन
UFW के साथ Apache के लिए ट्रैफ़िक को अनुमति दें। इसके लिए निम्नलिखित कमांड करें:
sudo ufw allow 'WWW Full'
कदम 6: Apache के कार्य की जांच करना
अपने सर्वर के आईपी या डोमेन को ब्राउज़र में खोलें। हमारे कोर्स के लिए http://test.friendhosting.net सबडोमेन का इस्तेमाल किया गया है।
यदि सब कुछ ठीक है, तो आप “Apache2 Debian Default Page” का स्टैंडर्ड पेज देख पाएंगे।
कदम 7: अपनी वेबसाइट के लिए एक निर्देशिका बनाना
test.friendhosting.net वर्चुअल होस्ट के लिए रूट डायरेक्टरी बनाने के लिए टर्मिनल में निम्नलिखित कमांड करें:
sudo mkdir -p /var/www/test.friendhosting.net
इस कमांड को करने के बाद /var/www/ में test.friendhosting.net निर्देशिका बन जाएगी और यदि वे पहले से नहीं बनाए गए हों तो इस पथ पर सभी आवश्यक पैरेंट निर्देशिकाएँ भी बन जाएंगी।
सही परमिशन सेट करने के लिए निम्नलिखित कमांड करें:
sudo chown -R www-data:www-data /var/www/test.friendhosting.net
इस कमांड को चलाने से /var/www/test.friendhosting.net डायरेक्टरी और इसकी सभी सबडायरेक्टरीज और फाइलों के मालिक और ग्रुप को www-data में परिवर्तित कर दिया जाएगा। इसे इसलिए किया जाता है ताकि Apache वेब-सर्वर इस डायरेक्टरी की सामग्री के साथ सही ढंग से काम कर सके, जिसमें पढ़ने, लिखने या कार्यों को निष्पादित करने के लिए आवश्यक अधिकार शामिल हैं, यह सब कॉन्फ़िगरेशन के अनुसार होता है।
कदम 8: Debian 11 में Apache के वर्चुअल होस्ट का कॉन्फ़िगरेशन
वर्चुअल होस्ट्स की मदद से आपका Apache वेब-सर्वर अनुरोधों को स्वीकार करता है और विभिन्न डोमेन्स को सर्विस प्रदान करता है, ऐसे मानो आपके पास एक भौतिक सर्वर पर कई वेब-सर्वर हों।
Apache में sites-available नामक एक डायरेक्टरी होती है, जहाँ वर्चुअल होस्ट्स के उपलब्ध कॉन्फ़िगरेशन स्टोर होते हैं। हर एक साइट के लिए एक अलग फाइल की आवश्यकता होती है। साइट के लिए कॉन्फ़िगरेशन फाइल बनाएं। उदाहरण के लिए हम test.friendhosting.net का इस्तेमाल करेंगे
sudo nano /etc/apache2/sites-available/test.friendhosting.net.conf
इसमें निम्नलिखित कॉन्फ़िगरेशन जोड़ें:
<VirtualHost *:80> ServerAdmin [email protected] ServerName test.friendhosting.net ServerAlias www.test.friendhosting.net DocumentRoot /var/www/test.friendhosting.net/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Apache के वर्चुअल होस्ट कॉन्फ़िगरेशन में प्रत्येक निर्देश एक खास भूमिका निभाता है और वेब-साइट के होस्टिंग कॉन्फ़िगरेशन को सही ढंग से सेट करने के लिए यह महत्वपूर्ण है। यहाँ हर एक का विस्तृत वर्णन है:
ServerAdmin वेबसाइट एडमिनिस्ट्रेटर का ईमेल पता दर्शाता है। यह पता अक्सर सर्वर के एरर पेज पर दिखाई देता है ताकि विज़िटर्स तकनीकी समस्याओं के बारे में सूचित कर सकें। उदाहरण में [email protected], वह पता है जहाँ समस्याओं की जानकारी भेजी जाएगी।
ServerName वह मुख्य डोमेन सेट करता है जिसे वर्चुअल होस्ट सर्विस करता है। जब Apache एक अनुरोध प्राप्त करता है, तो यह ServerName के मूल्य का उपयोग करता है ताकि तय कर सके कि कौन सा वर्चुअल होस्ट उपयोग करना है। test.friendhosting.net मूल्य बताता है कि यह वर्चुअल होस्ट इस डोमेन के लिए इंटेंडेड अनुरोधों का जवाब देगा।
ServerAlias उन अतिरिक्त डोमेन्स को परिभाषित करता है जिन्हें इस वर्चुअल होस्ट द्वारा हैंडल किया जाएगा। यह एक ही वर्चुअल होस्ट को विभिन्न डोमेन नामों के लिए अनुरोधों का उत्तर देने की अनुमति देता है। इस मामले में www.test.friendhosting.net एक एलियास है, और वर्चुअल होस्ट www-वर्शन डोमेन के लिए भी अनुरोधों का हैंडल करेगा।
DocumentRoot वह डायरेक्टरी तय करता है जहाँ साइट की फाइलें स्टोर होती हैं। यह Apache का रूट डायरेक्टरी है जहाँ से यह वर्चुअल होस्ट के लिए कंटेंट सर्व करता है। उदाहरण में /var/www/test.friendhosting.net/ वह फोल्डर है जहाँ साइट की सभी फाइलें, जैसे HTML, CSS, JavaScript, और इमेजेज़ स्थित होंगी।
ErrorLog उस फाइल के पाथ को तय करता है जहाँ सर्वर की एरर मैसेजेज़ रिकॉर्ड की जाएंगी। यह लॉग उन सभी एरर्स की डिटेल्ड जानकारी रखती है जो सर्वर पर हुई हैं और अक्सर समस्याओं के डायग्नोसिस के लिए उपयोग की जाती है। इस उदाहरण में ${APACHE_LOG_DIR}/error.log, APACHE_LOG_DIR नामक एनवायरनमेंट वेरिएबल का उपयोग करती है, जो आमतौर पर /var/log/apache2 के रूप में परिभाषित होती है।
CustomLog सर्वर के हर अनुरोध की जानकारी रिकॉर्ड करने वाले एक्सेस लॉग फाइल के पाथ को इंगित करता है। इसमें विज़िटर का IP पता, रिक्वेस्ट किया गया URL, अनुरोध का समय और सर्वर का रिस्पॉन्स स्टेटस कोड जैसी डिटेल्स शामिल होती हैं। अंत में दिए गए डायरेक्टिव combined का मतलब है कि लॉग का कॉम्बाइंड फॉर्मेट इस्तेमाल किया जाएगा, जो कि एक आम स्वीकृत स्टैंडर्ड है और उपयोगी जानकारी जैसे कि रेफरर (उपयोगकर्ता कहाँ से आया) और यूज़र एजेंट की जानकारी (कौन सा ब्राउज़र इस्तेमाल किया गया) शामिल करता है।
अब आपके वर्चुअल होस्ट को एक्टिवेट करने का समय आ गया है। इसके लिए निम्नलिखित कमांड को एक्जीक्यूट करें
sudo a2ensite test.friendhosting.net
अब डिफॉल्ट वर्चुअल होस्ट को डिसेबल करें। इसके लिए निम्नलिखित कमांड को एक्जीक्यूट करें
sudo a2dissite 000-default.conf
Apache को पुनरारंभ करें:
sudo systemctl restart apache2
हमारी वेबसाइट की रूट डायरेक्टरी में index.html बनाएं। निम्न कमांड को चलाएँ
sudo nano /var/www/test.friendhosting.net/index.html
और उसमें निम्न टेक्स्ट कॉपी करें
Virtual host test.friendhosting.net is working.
अब, अगर हम अपने ब्राउज़र में हमारा डोमेन http://test.friendhosting.net खोलते हैं तो हमें स्टैंडर्ड पेज दिखाई देगा
यह Debian 11 पर Apache स्थापित करने और कॉन्फ़िगर करने के बेसिक निर्देश हैं। कई अन्य अतिरिक्त सेटिंग्स और ऑप्टिमाइजेशन हैं जिन्हें आप अपनी ज़रूरत के मुताबिक सर्वर को अनुकूलित करने के लिए कर सकते हैं।