जब मैं कमांड का उपयोग करके अपने अपाचे सर्वर को पुनरारंभ करता हूं
sudo /etc/init.d/apache2 restart
मुझे निम्न त्रुटि मिलती है:
Restarting web server apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName... waiting apache2:Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
क्या सर्वर 127.0.1.1 के बजाय 127.0.0.1 का उपयोग कर रहा है? इस त्रुटि का क्या कारण है?
अपाचे 2.4 के रूप में - जो डिफ़ॉल्ट रूप से 13.10 के रूप में उपलब्ध है-आप में एक कॉन्फ़िगरेशन फ़ाइल जोड़ने के बारे में विधि का उपयोग नहीं कर सकते conf.d निर्देशिका ।
अपाचे अब उपयोग नहीं करता है conf.d निर्देशिका । सभी कॉन्फ़िगरेशन फ़ाइलें अंदर संग्रहीत हैं /etc/apache2/conf-available निर्देशिका और सभी कॉन्फ़िगरेशन फ़ाइलों में अब एक होना चाहिए .conf विस्तार।
अपाचे 2.4 में इस संदेश को हल करने के लिए, हमें कॉन्फ-उपलब्ध निर्देशिका के अंदर एक कॉन्फ़िगरेशन फ़ाइल बनानी होगी । उदाहरण के लिए servername.conf.
sudo vi /etc/apache2/conf-available/servername.conf
और इसके अंदर हमें सिर्फ एक लाइन जोड़ने की जरूरत है
ServerName localhost
आप पिछले दो आदेशों को एक में जोड़ सकते हैं:
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf
यदि आप आवश्यकता के आधार पर किसी डोमेन नाम या किसी अन्य नाम का उपयोग करना चाहते हैं, तो बस बदलें localhost आपको जो भी चाहिए उसके साथ । आगे आपको इस कॉन्फ़िगरेशन को सक्षम करना होगा । इसके लिए, आपको निम्न कमांड चलाना होगा:
sudo a2enconf servername
a2enconf अपाचे 2.4 में कॉन्फ़िगरेशन फ़ाइल को सक्षम करने के लिए एक कमांड है । यह भी ध्यान दें कि servername उपरोक्त कमांड पर कॉन्फ़िगरेशन फ़ाइल के नाम से है servername.conf. यदि आपकी कॉन्फ़िगरेशन फ़ाइल थी ngenericserver.conf फिर आपको लिखना होगा sudo a2enconf ngenericserver.
इसके बाद सर्वर को पुनः लोड करें और उपरोक्त संदेश अब आपको बग नहीं करेगा ।
sudo service apache2 reload
या
sudo apache2ctl graceful
अब इसके बाद आप देखेंगे कि मैसेज दोबारा नहीं दिखाया जाएगा और समस्या ठीक हो जाएगी ।
अपाचे 2 अपाचे कॉन्फ़िगरेशन फ़ाइल में हार्डकोड किए जाने के बजाय उचित रूप से कॉन्फ़िगर किए गए सिस्टम होस्टनाम से एफक्यूडीएन भी प्राप्त कर सकता है । यदि होस्टनाम बदलता है तो हार्डकोडिंग भी भ्रम पैदा करेगा । आपको वास्तव में किसी की जरूरत नहीं है ServerName में निर्देश httpd.conf या कोई अपाचे कॉन्फ़िगरेशन फ़ाइलें।
जहां hostname.domainname.com आपकी मशीन का एफक्यूडीएन है ।
ठीक से कॉन्फ़िगर किए गए होस्टनाम के साथ /etc/hostname/ या साथ hostnamectl, यह आपकी मशीन पर अन्य सेवाओं को ठीक से चलाने में भी मदद करेगा (यानी लॉगिन प्रॉम्प्ट, दिखा रहा है This is hostname.domainname.com के बजाय This is hostname.unknown_domain.)
निर्दिष्ट करना ServerName localhost वर्चुअल होस्ट अनुभागों के बाहर आपकी कॉन्फ़िगरेशन फ़ाइलों में ऐसा करने का तरीका है ।
कुछ अन्य उत्तर बताते हैं कि आपको संशोधित करना चाहिए /etc/apache2/httpd.conf. अपाचे एपीटी से अपग्रेड होने पर यह फ़ाइल ओवरराइट हो जाती है । अपाचे कॉन्फ़िगरेशन के लिए जिसे आप ओवरराइट नहीं करना चाहते हैं, आपको एक नई फ़ाइल बनानी चाहिए । इस कॉन्फ़िगरेशन को बदलने के लिए यहां "डेबियन तरीका" है:
# create the configuration file in the "available" sectionecho "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf# enable it by creating a symlink to it from the "enabled" sectionsudo a2enconf servername# restart the serversudo service apache2 restart
यह मूल रूप से स्टार्क के जवाब के समान है, लेकिन स्क्रिप्ट फॉर्म को कॉपी और पेस्ट करने में आसान है । मैंने मूल रूप से इसे एक प्रश्न में पोस्ट किया था जिसे डुप्लिकेट के रूप में चिह्नित किया गया था: https://askubuntu.com/a/432408