सवाल अपाचे त्रुटि "सर्वर के पूर्णतः योग्य डोमेन नाम को विश्वसनीय रूप से निर्धारित नहीं कर सका"


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

sudo /etc/init.d/apache2 restart

मुझे निम्नलिखित त्रुटि मिलती है:

Restarting web server apache2
apache2: 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.0.1 के बजाय 127.0.1.1 का उपयोग कर रहा है? इस त्रुटि का कारण क्या है?


385
2018-02-14 13:09


मूल




जवाब:


13.04 और पुराने

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

यदि आप एक डालें

ServerName localhost   

में या तो httpd.conf या apache2.conf में /etc/apache2 और अपाचे को पुनरारंभ करें नोटिस गायब हो जाएगा।

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


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

127.0.0.1 localhost
127.0.1.1 myhostname

पसंदीदा विधि

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

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

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

फिर एक नई फ़ाइल बनाने के लिए डेस्कटॉप पर "sudo nano" या "gksudo gedit" जैसे टेक्स्ट एडिटर का उपयोग करें,

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" को न भूलें (बिना काम नहीं करेगा)।


470
2018-02-14 13:18



इसके लिए उबंटू एलएएमपी सेटअप दस्तावेज में भी उल्लेख किया गया है समस्या निवारण अपाचे। वहां वे एक फ़ाइल /etc/apache2/conf.d/fqdn बनाने की सलाह देते हैं ServerName localhost इस में - icc97
बहुत अच्छा जवाब - लेकिन मैं इसे conf.d निर्देशिका में डालने की भी सिफारिश करता हूं :) - cwd
/etc/apache2/conf.d/ मेरे स्थापित करने के बाद मौजूद नहीं है lamp-server^ 14.04 में - redanimalwar
13.redanimalwar 13.10 के लिए और नए देखें @ स्टारक्स का जवाब नीचे। - Dan
बहुत आखिरी चरण के लिए (14.04 में sym-link बनाना) मैं अनुशंसा करता हूं sudo a2enconf fqdn हालांकि यह तकनीकी रूप से वही होना चाहिए। - yoshi


13.10 या नया

अपाचे 2.4 के रूप में - जो डिफ़ॉल्ट रूप से 13.10 के रूप में उपलब्ध है - आप कॉन्फ़िगरेशन फ़ाइल जोड़ने के बारे में विधि का उपयोग नहीं कर सकते हैं conf.d निर्देशिका।

अपाचे अब उपयोग नहीं करता है conf.d निर्देशिका। सभी विन्यास फाइलें अंदर संग्रहीत हैं /etc/apache2/conf-available निर्देशिका और सभी विन्यास फाइलों में अब एक होना चाहिए .conf विस्तार।

Apache 2.4 में इस संदेश को हल करने के लिए, हमें conf-उपलब्ध निर्देशिका के अंदर एक कॉन्फ़िगरेशन फ़ाइल बनाना है। उदाहरण के लिए 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 Apaches 2.4 में कॉन्फ़िगरेशन फ़ाइल को सक्षम करने के लिए एक आदेश है। यह भी ध्यान दें servername उपरोक्त आदेश पर विन्यास फाइल के नाम से है servername.conf। अगर आपकी विन्यास फाइल थी ngenericserver.conf तो आपको लिखना होगा sudo a2enconf ngenericserver

इस सर्वर को फिर से लोड करने के बाद और उपर्युक्त संदेश अब आपको बग नहीं करेगा।

sudo service apache2 reload

या

sudo apache2ctl graceful

इसके बाद आप देखेंगे कि संदेश फिर से नहीं दिखाया जाएगा और समस्या ठीक हो जाएगी।


158
2017-12-26 18:45



क्या कोई जानता है कि अपाचे को कैसे कहना है कौन कौन से कॉन्फ़िगर फ़ाइल में समस्या है जिसके साथ समस्या है? मुझे नहीं पता कि डेवलपर्स कभी भी अपने त्रुटि संदेशों में क्यों नहीं सोचते - यह शायद ही बहुत अधिक कोड लेता है! - John Y
अगर मेरे पास इस सर्वर के लिए इंटरनेट fqdm है, तो क्या यह जगह है? यानी मुझे स्थानीयहोस्ट के स्थान पर myhost.org को प्रतिस्थापित करना चाहिए? - CPBL
@CPBL यह सभी साइटों के लिए डिफ़ॉल्ट सर्वर नाम होगा। यदि आपके पास केवल एक साइट है, तो आपको बस इतना करना है। यदि आपके सर्वर पर कई साइटें हैं, तो आपको प्रत्येक साइट के लिए अपने संबंधित वर्चुअल होस्ट कॉन्फ़िगरेशन में सेरनावैम निर्देश भी जोड़ना होगा। - Dan
14.04 एलटीएस पर काम करता है। - Parto
आपका उद्धृत लिंक मृत लगता है, कृपया ठीक करें। - Fredrick Gauss


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

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

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

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

    sudo service apache2 restart
    

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


24
2018-02-14 13:17



अंतिम आदेश निष्पादित करने के बाद निम्न त्रुटि होती है ** वेब सर्वर को पुनरारंभ करना apache2 / usr / sbin / apache2ctl: 87: ulimit: त्रुटि सेटिंग सीमा (ऑपरेशन की अनुमति नहीं है) / usr / sbin / apache2ctl: 87: ulimit: त्रुटि सेटिंग सीमा (ऑपरेशन नहीं अनुमत) (13) अनुमति अस्वीकार कर दी गई: make_sock: 0.0.0.0:80 को संबोधित करने के लिए बाध्य नहीं हो सका कोई सॉकेट उपलब्ध नहीं है, बंद करना लॉग खोलने में असमर्थ कार्रवाई 'प्रारंभ' विफल रही। अपाचे त्रुटि लॉग में अधिक जानकारी हो सकती है। [असफल] ** @ ग्रीन 7 - Deepu
कोशिश करें 'सुडो सेवा apache2 पुनरारंभ करें' - waterloo2005


Apache2 apache config फ़ाइल में हार्डकोड किए गए बजाय ठीक से कॉन्फ़िगर किए गए सिस्टम होस्टनाम से FQDN भी प्राप्त कर सकता है। अगर होस्टनाम बदलता है तो हार्डकोडिंग भी भ्रम पैदा करेगा। आपको वास्तव में किसी की आवश्यकता नहीं है ServerName में निर्देश httpd.conf या किसी भी apache विन्यास फाइलें।

निम्नलिखित में रखो /etc/hosts:

# IPv4 and IPv6 localhost aliases
127.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।)


22
2017-09-18 18:05



"एक ठीक से कॉन्फ़िगर किया गया सिस्टम होस्टनाम" के लिए +1। मैं सर्वर को ठीक से कॉन्फ़िगर करना चाहता था। यह लॉग में मेरी त्रुटि भी तय की [warn] RSA server certificate CommonName (CN) <fqdn> does NOT match server name!? - transistor1
क्या आपको लगता है कि यह अपाचे 2.2.22 के साथ काम करना चाहिए? मुझे अभी भी मिल रहा है "सर्वर नाम के लिए 127.0.1.1 का उपयोग करके सर्वर के पूर्णतः योग्य डोमेन नाम को विश्वसनीय रूप से निर्धारित नहीं किया जा सका" - David Winiecki
है hostname localhost माना जाता है myubuntuservername localhost? या स्ट्रिंग शाब्दिक hostname localhost? आप अपने जवाब में स्पष्ट नहीं थे - Jonathan
यह स्वीकार्य उत्तर होना चाहिए। ऐसा लगता है कि आपको FQDN को स्थिर आईपी पते से जोड़ने की आवश्यकता हो सकती है 127.0.0.1, हालांकि। - Skippy le Grand Gourou


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

sudo nano /etc/apache2/apache2.conf

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

ServerName localhost

फिर apache2 पुनरारंभ करें:

sudo service apache2 restart

हॊ गया।


15
2018-04-16 06:38





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

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

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

ServerName myhost.mycomain.tld

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


4
2017-09-06 15:31





उबंटू में 16.04:

sudo -i

echo 'ServerName localhost' > /etc/apache2/conf-available/server-name.conf
a2enconf server-name

2
2018-04-17 13:26





जोड़ना ServerName localhost

सेवा मेरे

 sudo leafpad /etc/apache2/apache2.conf

 sudo leafpad /etc/apache2/httpd.conf

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


1
2017-07-05 09:36





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

समस्या को ठीक करने के लिए, मुझे पुनर्प्राप्ति मोड में बूट करना था और दिशात्मक लॉग फ़ाइल को हटा देना था।


0
2018-05-07 15:17





निर्दिष्ट करना ServerName localhost वर्चुअल होस्ट अनुभागों के बाहर आपकी कॉन्फ़िगरेशन फ़ाइलों में ऐसा करने का तरीका है।

कुछ अन्य उत्तरों का सुझाव है कि आपको संशोधित करना चाहिए /etc/apache2/httpd.conf। अपाचे से अपाचे को अपग्रेड होने पर यह फ़ाइल ओवरराइट हो जाती है। अपाचे कॉन्फ़िगरेशन के लिए जिसे आप अधिलेखित नहीं करना चाहते हैं, आपको एक नई फ़ाइल बनाना चाहिए। इस कॉन्फ़िगरेशन को बदलने के लिए यहां "डेबियन तरीका" है:

# create the configuration file in the "available" section
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf
# enable it by creating a symlink to it from the "enabled" section
sudo a2enconf servername
# restart the server
sudo service apache2 restart

यह मूल रूप से स्टार्क के उत्तर जैसा ही है, लेकिन स्क्रिप्ट फ़ॉर्म को कॉपी और पेस्ट करने में आसान है। मैंने मूल रूप से इसे एक प्रश्न में पोस्ट किया था जिसे डुप्लिकेट के रूप में चिह्नित किया गया था: https://askubuntu.com/a/432408


0
2018-03-24 13:02





यदि आप बैश का उपयोग कर रहे हैं और न्यूनतम निर्भरता चाहते हैं (और बस अपने लिए एक लाइनर चाहते हैं यदि आप डॉकर का उपयोग कर रहे हैं तो एंट्रीपॉइंट स्क्रिप्ट मेरे जैसे), इन दो विकल्पों को काम करना चाहिए।

यदि आप लोकलहोस्ट चाहते हैं:

echo "ServerName localhost" >> /etc/apache2/apache2.conf

यदि आप मौजूदा होस्टनाम चाहते हैं:

echo "ServerName $(cat /etc/hostname)" >> /etc/apache2/apache2.conf

यह उपयोग करता है बैश रीडायरेक्शन ऑपरेटर स्ट्रिंग को फ़ाइल के अंत में जोड़ने के लिए। इको स्वचालित रूप से नई लाइन डालता है, इसलिए आप सभी सेट हैं।


0
2017-11-17 19:23