अपाचे त्रुटि "सर्वर के पूरी तरह से योग्य डोमेन नाम को मज़बूती से निर्धारित नहीं कर सका"

जब मैं कमांड का उपयोग करके अपने अपाचे सर्वर को पुनरारंभ करता हूं

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 का उपयोग कर रहा है? इस त्रुटि का क्या कारण है?

13.04 और पुराने

यह सिर्फ एक दोस्ताना चेतावनी है और वास्तव में कोई समस्या नहीं है (जैसा कि कुछ काम नहीं करता है) ।

यदि आप जाते हैं:

/etc/apache2/apache2.conf

और डालें:

ServerName localhost   

और फिर टर्मिनल में टाइप करके अपाचे को पुनरारंभ करें:

sudo systemctl reload apache2

नोटिस गायब हो जाएगा ।

अगर आपके अंदर कोई नाम है /etc/hostname आप इसके बजाय उस नाम का भी उपयोग कर सकते हैं localhost.


और यह उपयोग करता है 127.0.1.1 अगर यह आपके अंदर है /etc/hosts:

127.0.0.1 localhost127.0.1.1 myhostname

पसंदीदा विधि

समस्या निवारण अपाचे

अगर आपको यह त्रुटि मिलती है:

apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

फिर एक पाठ संपादक का उपयोग इस तरह के रूप में "sudo नैनो" कमांड लाइन पर या "gksudo एडिट" बनाने के लिए डेस्कटॉप पर एक नई फ़ाइल,

sudo nano /etc/apache2/conf.d/fqdn

या

gksu "gedit /etc/apache2/conf.d/fqdn"

फिर जोड़ें

ServerName localhost

फ़ाइल में और सहेजें। यह सब निम्नलिखित के साथ एक ही कमांड में किया जा सकता है:

 echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

लेकिन उबंटू 14.04 पर:

 echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf sudo a2enconf fqdn

मत भूलना ".conf में" (बिना काम नहीं करेगा) ।

13.10 या नए

अपाचे 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 या कोई अपाचे कॉन्फ़िगरेशन फ़ाइलें।

निम्नलिखित में डालें /etc/hosts:

# IPv4 and IPv6 localhost aliases127.0.0.1 hostname.domainname.com  hostname  localhost::1       hostname.domainname.com  hostname  localhost

जहां hostname.domainname.com आपकी मशीन का एफक्यूडीएन है ।

ठीक से कॉन्फ़िगर किए गए होस्टनाम के साथ /etc/hostname/ या साथ hostnamectl, यह आपकी मशीन पर अन्य सेवाओं को ठीक से चलाने में भी मदद करेगा (यानी लॉगिन प्रॉम्प्ट, दिखा रहा है This is hostname.domainname.com के बजाय This is hostname.unknown_domain.)

  • एक टर्मिनल खोलें
  • खोलें /etc/apache2/httpd.conf फ़ाइल:

    sudo editor /etc/apache2/httpd.conf # [1]
  • डिफ़ॉल्ट रूप से, यह रिक्त होगा । बस निम्नलिखित पंक्ति जोड़ें:

    ServerName localhost
  • फ़ाइल सहेजें और बाहर निकलें

  • सर्वर को पुनरारंभ करें

    sudo service apache2 restart

[1] लॉन्च डिफ़ॉल्ट संपादक, देखें sudo update-alternatives --config editor

अपाचे 2 के नए संस्करण में आप इस तरह कमांड का पालन कर रहे हैं:

sudo nano /etc/apache2/apache2.conf

फ़ाइल का निम्न नई पंक्ति अंत जोड़ें:

ServerName localhost

फिर apache2:

sudo service apache2 restart

यह किया है.

मुझे लगता है कि इसमें एक नई फ़ाइल बनाना थोड़ा बेहतर है /etc/conf.d कि या तो संशोधित करने के लिए apache2.conf या httpd.conf.

यह एक व्यक्तिगत प्राथमिकता है जो मेरे कॉन्फ़िगरेशन परिवर्तनों को वितरण पैकेज से अलग रखती है । इसलिए अपडेट कम जटिल हैं ।

मैं फ़ाइल बनाता हूं /etc/apache2/conf.d/AAserverName और इसमें केवल शामिल हैं:

ServerName myhost.mycomain.tld

अन्य सुझाव भी निश्चित रूप से काम करते हैं ।

Ubuntu में 16.04:

sudo -iecho 'ServerName localhost' > /etc/apache2/conf-available/server-name.confa2enconf server-name

पर Ubuntu 16.04:

जोड़ें ServerName localhost फ़ाइल के लिए httpd.conf usin पुरुष, निम्न आदेश.

sudo vi  /etc/apache2/httpd.conf

फिर इस लाइन को शामिल करें Include httpd.conf इस फ़ाइल के अंत में

sudo vi /etc/apache2/apache2.conf

सिंटैक्स त्रुटियों के लिए फिर से जाँच करें

sudo apache2ctl configtest

अब आपको मिलना चाहिए

Syntax OK

अब आप कॉन्फ़िगरेशन को पुनः लोड करके सर्वर को इनायत से पुनरारंभ कर सकते हैं

sudo service apache2 reload

या प्रक्रिया को मारें और फिर से शुरू करें

sudo service apache2 restart

जोड़ें ServerName localhost

को

 sudo leafpad /etc/apache2/apache2.conf sudo leafpad /etc/apache2/httpd.conf

यह कोई त्रुटि नहीं है । . यह सिर्फ एक दोस्त अनुस्मारक है

निर्दिष्ट करना 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