संपादित 2 महीने पहले द्वारा ExtremeHow संपादकीय टीम
अपाचेलिनक्ससमस्या निवारणत्रुटियाँवेब सर्वरलॉग्सडिबगिंगसिस्टम एडमिनआईटीसुधारविकासरखरखावकमांड
अनुवाद अपडेट किया गया 2 महीने पहले
अपाचे एक लोकप्रिय वेब सर्वर है जिसे लिनक्स सिस्टम पर उपयोग किया जाता है। इसकी मजबूती के बावजूद, कभी-कभी आपको ऐसी त्रुटियाँ मिल सकती हैं जिन्हें ठीक करने की आवश्यकता होती है। यह मार्गदर्शिका आपको लिनक्स पर सबसे सामान्य अपाचे त्रुटियों को समझने और हल करने में मदद करेगी। हम फ़ाइल अनुमतियों, कॉन्फ़िगरेशन समस्याओं और सर्वर कनेक्टिविटी सहित अन्य मुद्दों को कवर करेंगे। सफल समाधान सुनिश्चित करने के लिए प्रत्येक चरण का ध्यानपूर्वक पालन करें।
किसी भी समस्या का समाधान करने से पहले, यह जानना महत्वपूर्ण है कि त्रुटि जानकारी कहाँ प्राप्त करें। अपाचे लॉग आमतौर पर उबंटू-आधारित डिस्ट्रीब्यूशनों में /var/log/apache2/
डायरेक्ट्री में स्थित होते हैं और CentOS/RHEL सिस्टम्स पर /var/log/httpd/
में होते हैं। मुख्य फ़ाइलें जिन्हें आप देखना चाहेंगे, वे हैं error_log
और access_log
। यहाँ है कि आप लॉग कैसे देख सकते हैं:
sudo tail -f /var/log/apache2/error_log
यदि आप एक अलग लिनक्स वितरण का उपयोग कर रहे हैं, तो /var/log/apache2/
को अपनी संबंधित डायरेक्ट्री से बदलें।
सबसे आम समस्याओं में से एक फ़ाइल अनुमति त्रुटियाँ हैं। आपकी वेब पेज को सर्व करने के लिए अपाचे का डायरेक्ट्री और फ़ाइलों पर सही एक्सेस अधिकार होना आवश्यक है। यदि आपको "403 Forbidden" जैसे त्रुटियाँ मिलती हैं, तो यह अक्सर गलत अनुमतियों के कारण होता है। इन समस्याओं को ठीक करने के लिए यहाँ एक चरण-दर-चरण गाइड है:
DocumentRoot वह स्थान है जहाँ आपकी वेबसाइट फ़ाइलें संग्रहीत होती हैं। सुनिश्चित करें कि अपाचे उपयोगकर्ता, आमतौर पर उबंटू पर www-data
या CentOS पर apache
, को इस फ़ोल्डर का पढ़ने का एक्सेस है।
sudo chown -R www-data:www-data /var/www/html
अगर अलग हो, तो अपने वास्तविक दस्तावेज़ रूट के साथ /var/www/html
को बदलें।
सुनिश्चित करें कि डायरेक्ट्रियों के पास सही अनुमतियाँ हैं। एक सामान्य सेटिंग 755 है, जिसका अर्थ है कि स्वामी पढ़ सकता है, लिख सकता है और निष्पादित कर सकता है जबकि समूह और अन्य केवल पढ़ और निष्पादित कर सकते हैं।
sudo find /var/www/html -type d -exec chmod 755 {} \;
फ़ाइलों के लिए आमतौर पर 644 अनुमतियाँ होती हैं, जिसका अर्थ है कि स्वामी पढ़ और लिख सकता है, लेकिन समूह और अन्य केवल पढ़ सकते हैं।
sudo find /var/www/html -type f -exec chmod 644 {} \;
अपाचे कॉन्फ़िगरेशन समस्याएँ सर्वर के शुरू होने में विफलता या गलत सर्वर व्यवहार का कारण बन सकती हैं। इन समस्याओं को हल करने का तरीका यहाँ दिया गया है:
अपाचे को पुनः आरंभ करने से पहले हमेशा अपनी कॉन्फ़िगरेशन फाइलें जांचें। यह आपको सिंटैक्स त्रुटियाँ पकड़ने में मदद कर सकता है।
apachectl configtest
यदि कोई त्रुटियाँ हैं, तो कमांड उन्हें हल करने वाले आउटपुट करेगा। समस्या वाली लाइनों को नोट करें और उन्हें उबंटू पर /etc/apache2/apache2.conf
या CentOS पर /etc/httpd/conf/httpd.conf
में ठीक करें।
वर्चुअल होस्ट से संबंधित त्रुटियाँ अक्सर गलत फ़ाइल पथ या सर्वर नाम से उत्पन्न होती हैं। सुनिश्चित करें कि प्रत्येक <VirtualHost>
डायरेक्टिव में सही दस्तावेज़ रूट और सर्वर नाम है।
<VirtualHost *:80> ServerName example.com DocumentRoot /var/www/example </VirtualHost>
सुनिश्चित करें कि पथ सही हैं और डोमेन वही हैं जिन्हें आप प्रदान करना चाहते हैं।
कभी-कभी, मुख्य कॉन्फ़िगरेशन फ़ाइल द्वारा शामिल फ़ाइलों में त्रुटियाँ हो सकती हैं, जैसे कि उबंटू पर /etc/apache2/sites-enabled/
या CentOS पर /etc/httpd/conf.d/
में अतिरिक्त डोमेन कॉन्फ़िगरेशन। संभावित समस्याओं के लिए प्रत्येक सम्मिलित फ़ाइल की जाँच करें और सुनिश्चित करें कि पथ और निर्देश सही हैं।
यदि Apache को उसके निर्दिष्ट पोर्ट, अक्सर पोर्ट 80 या HTTPS के लिए पोर्ट 443, से बाइंड करने में असमर्थता होती है, तो अपाचे शुरू होने में असफल हो सकता है। इन समस्याओं का निदान और समाधान करने के लिए निम्न चरणों का पालन करें:
netstat
या ss
कमांड का उपयोग करके जांचें कि क्या इच्छित पोर्ट पहले से ही किसी अन्य सेवा द्वारा उपयोग किया जा रहा है।
sudo netstat -tuln | grep :80
यदि आपको यह प्रक्रिया पोर्ट का उपयोग करते हुए मिलती है, तो इसे रोकने पर विचार करें, या अपाचे को किसी अन्य नि:शुल्क पोर्ट का उपयोग करने के लिए कॉन्फ़िगर करें।
sudo kill $(lsof -t -i:80)
अपने ports.conf
फ़ाइल में या प्रत्येक <VirtualHost>
प्रविष्टि में सुनने वाले पोर्ट को बदलें।
Listen 8080
पोर्ट बदलने के बाद, सुनिश्चित करें कि फ़ायरवॉल नए पोर्ट पर ट्रैफ़िक की अनुमति देता है।
कभी-कभी संदर्भ समस्या हो सकती है। ये अक्सर नेटवर्क से सम्बंधित होते हैं, विशेष रूप से यदि आप एक फ़ायरवॉल चला रहे हैं:
सुनिश्चित करें कि आपका फ़ायरवॉल HTTP और HTTPS ट्रैफ़िक की अनुमति देने के लिए कॉन्फ़िगर किया गया है।
sudo ufw allow 'Apache Full'
यदि आपका डोमेन नाम ठीक से संरक्षित नहीं हो रहा है, तो DNS सेटिंग्स की जाँच करें। सुनिश्चित करें कि A रिकॉर्ड सही ढंग से आपके सर्वर के IP पते की ओर इशारा करता है।
नेटवर्क पर सर्वर की उपलब्धता का परीक्षण करने के लिए curl
या wget
जैसे टूल का उपयोग करें।
curl -I http://localhost
यह कमांड आपके अपाचे सर्वर के शीर्षकों को लौटाएगा ताकि यह सत्यापित किया जा सके कि वह चल रहा है।
हालांकि ये कदम सबसे सामान्य समस्याओं को कवर करते हैं, यहाँ कुछ अतिरिक्त संकेत हैं:
सुनिश्चित करें कि अपाचे सुरक्षा पैच और फ़िक्स के साथ अद्यतित है।
sudo apt update && sudo apt upgrade apache2
ट्रैफिक विश्लेषण के लिए अपाचे के access_log
का उपयोग करें, जो आपको यह समझने में मदद करेगा कि कौन-कौन से पृष्ठ देखे जा रहे हैं, कौन से URL त्रुटियाँ उत्पन्न कर रहे हैं, और तदनुसार अनुकूलित करें।
यदि तृतीय-पक्ष मॉड्यूल समस्या उत्पन्न कर रहे हैं, तो उन्हें अक्षम करें और पुन: सत्यापित करने के लिए सर्वर को पुनरारंभ करें।
a2dismod module_name
लिनक्स पर अपाचे त्रुटियों का समाधान एक व्यवस्थित दृष्टिकोण की आवश्यकता होती है। लॉग की जांच करके, अनुमतियों को सत्यापित करके, और कॉन्फ़िगरेशन को सही करके, अधिकांश समस्याओं को हल किया जा सकता है। सुनिश्चित करें कि आपका सर्वर न केवल ठीक से काम कर रहा है, बल्कि सुरक्षा और प्रदर्शन के लिए भी अनुकूलित है। इस गाइड से प्राप्त ज्ञान के साथ, आप जल्दी से त्रुटियों की पहचान करने और उन्हें हल करने में सक्षम होंगे।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं