सवाल apache2: ServerName के लिए 127.0.1.1 का उपयोग करके, सर्वर के पूर्णतः योग्य डोमेन नाम को विश्वसनीय रूप से निर्धारित नहीं कर सका


जब मैं (पुनः) अपाचे शुरू करता हूं तो मुझे यह चेतावनी मिलती रहती है।

* 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 [ OK ]

यह मेरी सामग्री है etc/hosts फ़ाइल:

#127.0.0.1  hpdtp-ubuntu910
#testproject.localhost  localhost.localdomain   localhost
#127.0.1.1  hpdtp-ubuntu910

127.0.0.1   localhost
127.0.0.1   testproject.localhost
127.0.1.1   hpdtp-ubuntu910



# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

यह मेरी सामग्री है /etc/apache2/sites-enabled/000-default फ़ाइल:

<VirtualHost *:80>
  ServerName testproject.localhost
  DocumentRoot "/home/morpheous/work/websites/testproject/web"
  DirectoryIndex index.php
  <Directory "/home/morpheous/work/websites/testproject/web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf /lib/vendor/symfony/symfony-1.3.2/data/web/sf
  <Directory "/lib/vendor/symfony/symfony-1.3.2/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

जब मैं जाता हूँ http://testproject.localhost, मुझे एक खाली पृष्ठ मिलता है।

क्या कोई यह बता सकता है कि मैं क्या गलत कर रहा हूं?


72
2018-01-16 19:24


मूल




जवाब:


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

इसे ठीक करने के लिए, या तो एक सर्वरनाम निर्देश जोड़ें किसी वर्चुअल होस्ट के बाहर - उदा। में /etc/apache2/httpd.conf, या अपने प्राथमिक आईपी पते के लिए एक रिवर्स डीएनएस प्रतिक्रिया स्थापित करें - इस मामले में, 127.0.1.1

इसे अनदेखा करना बिल्कुल ठीक है।


53
2018-01-16 21:37



यह प्रतिद्वंद्वी है। अगर मैं सर्वर नाम जोड़ता हूं बाहर किसी वर्चुअल होस्ट का - मैं एक ही अपाचे सर्वर से एकाधिक वर्चुअल होस्ट कैसे सेवा कर सकता हूं? (यह बाद में, नामित वर्चुअल सर्वर का बिंदु है) - UNLESS, आप कह रहे हैं कि मेरे पास 1 से अधिक ServerName प्रविष्टि (कहें) /etc/apache2/httpd.conf में हो सकती है - user35402
इसके बाद वर्चुअलहोस्ट ब्लॉक के अंदर वर्चुअलहोस्ट ब्लॉक के भीतर सर्वरनाम / सर्वरअलीस जोड़ सकते हैं ताकि वर्चुअलहोस्ट केवल आपके द्वारा होस्ट किए गए होस्ट नामों से मेल खा सके। पढ़ना httpd.apache.org/docs/2.2/mod/core.html#servername कम-डाउन के लिए। - crb
मैं इस जवाब को एक घंटे से अधिक समय से खोज रहा हूं। इस बारे में इंटरनेट पर इतना बकवास है, लेकिन यह मेरी समस्या तय है। धन्यवाद - Mike
@ माइक आप और दूसरों प्रतिभाशाली हैं! मैंने इसके लिए इस उत्तर की खोज की है चार दिन। (ठीक है, पूरी तरह से कामकाजी दिन नहीं।)। +1 क्योंकि यह पहला जवाब है जो बताता है कि मैं उन्हें प्रभावित किए बिना वर्चुअल होस्ट के बाहर एक सर्वरनाम निर्देश जोड़ सकता हूं। इस बात को ध्यान में रखते हुए, ReinoutS 'समाधान ने मेरे लिए काम किया (उसे +1 भी)। - Sony Santos


यहां एक त्वरित फिक्स है:

echo ServerName $HOSTNAME > /etc/apache2/conf.d/fqdn

27
2018-03-15 16:25



धन्यवाद। / Etc / hosts का उपयोग करने वाले किसी भी फिक्स और न ही httpd.conf ने मेरे लिए काम किया, लेकिन ऐसा हुआ। - Ryan
बहुत बहुत धन्यवाद! - James
इसे उबंटू 13.04 चल रहा अपाचे 2 पर फिक्स्ड, धन्यवाद! - dmanexe
वर्तमान डेबियन व्हीजी पर ठीक काम किया :) धन्यवाद - DominikAngerer


उस चेतावनी के चारों ओर एक और तरीका है कि पूरी तरह से योग्य डोमेन नाम डालें 127.0.1.1 की लाइन /etc/hosts। यह एक fqdn भी नहीं होना चाहिए जो वास्तव में एक डीएनएस सर्वर पर कुछ भी हल करेगा।

127.0.1.1  hpdtp-ubuntu910.lan  hpdtp-ubuntu910

यह चाल चलती है, जबकि किसी भी कार्यक्रम के व्यवहार को भी संरक्षित करता है जो अतिरिक्त की अपेक्षा नहीं कर रहा है .lan। आदेश महत्वपूर्ण है; अधिक स्तर वाले नाम पहले निर्दिष्ट किए जाने चाहिए, जैसा कि इस उदाहरण में है .lan पता दूसरे पते से पहले आता है।


16
2018-03-03 04:45





यह समाधान मेरी विकास आवश्यकताओं के लिए काम करता है:

पृष्ठभूमि:

डेबियन लिनक्स सिड:
वर्चुअलहोस्ट डेवलपमेंट: मेरे पास 10 सर्वर नाम हैं (साइट्स के अंदर 10 वर्चुअलहोस्ट प्रविष्टियां-उपलब्ध)

मैंने प्रत्येक को एक अद्वितीय लोकलहोस्ट आईपी पता सौंपा /etc/hosts:

127.0.0.1   joe   localhost.localdomain   localhost
127.0.1.1   joe
127.0.1.2   joomla
127.0.1.3   schmoo
127.0.1.4   forrest
127.0.1.5   store
127.0.1.6   publisher
127.0.1.7   studios
127.0.1.8   drupal
127.0.1.9   graphics
127.0.1.10  wordpress
...

The following lines are desirable for IPv6 capable hosts

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

यदि आप एक और वर्चुअलहोस्ट जोड़ने जा रहे हैं (मेरे पास विकास के लिए बहुत कुछ है) तो किसी अन्य लोकहोस्ट आईपी पते में एक प्रविष्टि जोड़ें, और अपाचे 2.2 को पुनरारंभ करने से पहले साइट को सक्षम करें:

127.0.0.11 *newhost*

वर्चुअलहोस्ट फ़ाइल के रूप में सक्षम करने के लिए प्रत्येक प्रविष्टि के लिए:

/ Etc / apache2 / साइटों से उपलब्ध /

जो joomla schoo फोरेस्ट स्टोर प्रकाशक स्टूडियो Drupal ग्राफिक्स WordPress

सभी वर्चुअलहोस्ट ए 2साइट / ए 2 डीसाइट के माध्यम से सक्षम / अक्षम हैं होस्ट नाम

त्रुटि को दबाने के लिए

वेब सर्वर को पुनरारंभ करना: apache2apache2: विश्वसनीय रूप से सर्वर का पूर्ण रूप से निर्धारित नहीं कर सका   सर्वर नाम के लिए 127.0.0.1 का उपयोग कर योग्य डोमेन नाम   ... प्रतीक्षा apache2: विश्वसनीय रूप से सर्वर के पूर्ण योग्य डोमेन निर्धारित नहीं कर सका   सर्वर नाम के लिए 127.0.0.1 का उपयोग कर नाम

संपादित करें httpd.conf में /etc/apache2/httpd.conf [डेबियन में खाली फ़ाइल]:

ServerName 127.0.1.1

फिर देखो सभी नामों के लिए हल किया गया है जोड़ना, टिप्पणी दें या अक्षम करें रेखा के नीचे।

यदि आप भूल जाते हैं: एकमात्र वर्चुअलहोस्ट *: 80 प्रविष्टि केवल भीतर ही होना चाहिए ports.conf फ़ाइल,

/etc/apache2/ports.conf

**NameVirtualHost *:80**
Listen 80

<IfModule mod_ssl.c>
   # If you add NameVirtualHost *:443 here, you will also have to change
   # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
   # to <VirtualHost *:443>
   # Server Name Indication for SSL named virtual hosts is currently not
   # supported by MSIE on Windows XP.
   Listen 443
</IfModule>

<IfModule mod_gnutls.c>
   Listen 443
</IfModule>

आपके वर्चुअलहोस्ट एंट्री के भीतर छोड़ दें वर्चुअलहोस्ट *: 80

उदाहरण: वर्चुअलहोस्ट जो

<VirtualHost *:80>
    **ServerAlias joe**
    **...**
</VirtualHost>

7
2018-02-15 11:43





सेटिंग ServerName httpd.conf में मेरे लिए काम नहीं किया। मैंने इसे सेट करके तय किया ServerName 127.0.0.1 में /etc/apache2/conf.d/name

मैं उबंटू 12.10 अल्फा 3 चला रहा हूं और है ServerName दोनों धब्बे में परिभाषित किया गया।

स्रोत: http://linuxconfig.net/manual-howto/error-solution-could-not-reliably-determine-the-servers-fully-qualified-domain-name.html


6
2017-09-08 21:05



अच्छा, यह मेरे लिए भी काम करता था, वही मुद्दा था। - Priyank Bolia


आप एक सर्वर कॉन्फ़िगरेशन-स्तर सर्वर नाम प्रविष्टि खो रहे हैं। Apache को इसके डिफ़ॉल्ट के रूप में उपयोग करने के लिए, आपको किसी होस्ट के बाहर सर्वर नाम प्रविष्टि की आवश्यकता है।

वर्चुअलहोस्ट के अंदर एक सर्वरनाम प्रविष्टि डालने से समस्या ठीक नहीं होगी। देख सर्वरनाम निर्देश


5
2018-01-16 21:36





इसे ठीक करने के लिए, हमें /etc/apache2/httpd.conf या /etc/apache2.conf को संपादित करने और निम्न पंक्ति जोड़ने की आवश्यकता है:

ServerName nameofserver

3
2018-01-08 10:24



आप सही हे! लेकिन यह उत्तर किसी भी नई जानकारी या अंतर्दृष्टि प्रदान किए बिना क्रब के उत्तर की सामग्री को डुप्लिकेट करता है। मैं इसे हटाने या अधिक विस्तार जोड़ने पर विचार करता हूं जो अन्य लोगों के उत्तरों से अलग है। - Royce Williams
यह मुझे जा रहा है, धन्यवाद! - Drewdin


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


1
2018-01-16 20:21



मैं आपकी टिप्पणी समझ नहीं पा रहा हूं। मेरे पास पहले से ही मेरी फ़ाइल में ServerName है: <VirtualHost 127.0.0.1:8080> ServerName mysite.localhost क्या आप टिप्पणी को स्पष्ट कर सकते हैं?
-Default- वर्चुअलहोस्ट के लिए, केवल एक विशिष्ट वर्चुअलहोस्ट नहीं। - Kzqai


  1. आपको अपने सर्वर में सर्वर नाम जोड़ना होगा httpd.conf निम्नलिखित चरणों का उपयोग कर फ़ाइल

    sudo gedit /etc/apache2/httpd.conf
    

    डिफ़ॉल्ट रूप से httpd.conf फाइल खाली हो जाएगी। अब, बस फ़ाइल में निम्न पंक्ति जोड़ें।

    ServerName localhost
    

    फ़ाइल को सहेजें और से बाहर निकलें gedit। अंत में सर्वर को पुनरारंभ करें।

    sudo /etc/init.d/apache2 restart
    

2) जोड़ें Include httpd.conf के अंत में apache2.conf


0
2017-08-06 12:07





यदि स्थापित करने के बाद आपके http / apache2 निर्देशिका में httpd.conf फ़ाइल पहले से मौजूद नहीं है, तो मुख्य अपाचे कॉन्फ़िगरेशन फ़ाइल, apache2.conf, इसका कोई संदर्भ नहीं होगा, इसलिए किसी बनाए गए httpd.conf में कुछ भी नहीं करना होगा कुछ भी। आप इसके बजाय apache2.conf फ़ाइल में "ServerName होस्टनाम" पंक्ति जोड़ सकते हैं।


-1
2018-01-23 02:32





क्या / etc / hosts में अभी भी इन प्रविष्टियां हैं। (मैंने उपरोक्त कुछ उत्तरों को छोड़ दिया)

127.0.0.1 लोकलहोस्ट 127.0.0.1 testproject.localhost

आईपी ​​पता 127.0.0.1 दोनों एक ही है।

Loopback ip subnet से testproject.localhost को अलग-अलग आईपी पता दें।


-1
2017-08-06 12:41