अपाचे 2 में आप विश्व स्तर पर ServerName निर्देश कहाँ सेट करते हैं?


37

नोट: यह मेरे प्रश्न से संबंधित है: " Apache 2.4 पुनः लोड नहीं होगा, मेरे विन्यास के साथ कोई समस्या? "।

मैं स्थानीय स्तर पर, स्थानीय स्तर पर परीक्षण करने की कोशिश कर रहा हूं। जैसा कि मैं समझता हूँ अपाचे 2 (और शायद अपाचे के रूप में भी) कुछ कहा जाता है VirtualHost। मेरी थोड़ी सी समझ मुझे बताती है कि virtualhosting एक ऐसा तरीका है, जिसमें एक सर्वर / आईपी एड्रेस कई डोमेन परोस सकता है।

वैसे भी, अपाचे 2 के चलने के दौरान configtestमुझे यह देखने में निम्न त्रुटि हो रही है कि मैं कहाँ असफल हो रहा हूँ। मैं अपाचे 2.4.10-1 चला रहा हूं, और ऐसा लगता है कि बहुत सारे बदलाव हैं जो अपाचे 2.2 और अपाचे 2.4 के बीच हुए हैं जिनके बारे में मुझे पता है।

$ sudo apache2ctl configtest
[sudo] password for shirish:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

यह /etc/hostsफाइल है:

 $ cat /etc/hosts
127.0.0.1    localhost
127.0.1.1    debian mini

मैं एक खाली /etc/hosts.confफाइल भी देखता हूं । शायद संज्ञान लेने के लिए सर्वर के लिए डेटा को /etc/hostsकॉपी करने की आवश्यकता है /etc/hosts.conf?

मेरा होस्टनाम:

$ hostname
debian

यह साइट की कॉन्फ़िगरेशन फ़ाइल है:

$ cat /etc/apache2/sites-available/minidebconfindia.conf
<VirtualHost mini:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/html/in2014.mini/website

    <Directory />
        Options +FollowSymLinks +Includes
        Require all granted
    </Directory>

    <Directory /var/www/html/in2014.mini/website/>
        Options +Indexes +FollowSymLinks +MultiViews +Includes
        Require all granted
    </Directory>
</VirtualHost>

मैंने पते और बंदरगाहों के लिए बाध्यकारी के बारे में भी पढ़ा , लेकिन मैं कई कारणों से अच्छी तरह से समझ नहीं पाया। यह एक उदाहरण नहीं देता / साझा नहीं करता है कि किस फ़ाइल में उन पंक्तियों को रखा जाना चाहिए और पहले और बाद में क्या आएगा। एक उदाहरण बहुत बेहतर होता।

मैंने वह किया और सर्वर को पुनरारंभ किया, लेकिन मुझे अभी भी वही त्रुटि मिलती है।

~$ sudo apache2ctl configtest
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

ऐसा लगता है कि डेबियन में तीन कॉन्फ़िगरेशन फाइलें हैं जिन्हें मुझे जानने और समझने की आवश्यकता है।

/etc/apache2$ ls *.conf
apache2.conf  ports.conf

तथा

/etc/apache2/conf.d$ ls *.conf
httpd.conf

जाहिरा तौर पर, apache2.conf वैश्विक कॉन्फ़िगरेशन फ़ाइल है, जबकि httpd.conf उपयोगकर्ता-कॉन्फ़िगरेशन फ़ाइल है। इसमें ports.conf भी है। Apache2.conf और ports.conf दोनों ही डिफॉल्ट में हैं सिवाय इसके कि मैंने अपाचे का लैगवेल बदल दिया warnहै debug

मैंने एक और कोशिश की:

$ sudo apache2ctl -S
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
127.0.1.1:80           debian (/etc/apache2/sites-enabled/minidebconfindia.conf:1)
*:80                   127.0.1.1 (/etc/apache2/sites-enabled/000-default.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex watchdog-callback: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

शायद किसी के पास अधिक अंतर्दृष्टि है।

जवाबों:


43

संपादित करने के लिए फ़ाइल:

/etc/apache2/apache2.conf

फ़ाइल संपादित करने की कमान:

sudo nano /etc/apache2/apache2.conf

एक वैश्विक सर्वरनाम के लिए आप इसे फ़ाइल के शीर्ष पर (वर्चुअल होस्ट टैग के बाहर) रख सकते हैं।

पहली पंक्ति इस तरह दिखती है:

ServerName myserver.mydomain.com

फिर निम्न कमांड के साथ कॉन्फ़िगरेशन को सेव और टेस्ट करें:

apachectl configtest

आपको मिलना चाहिये:

सिंटेक्स ठीक है

तब आप सर्वर को पुनरारंभ कर सकते हैं और जांच सकते हैं कि आपको त्रुटि संदेश नहीं मिला है:

sudo service apache2 restart

2
यह डेबियन सही उत्तर है। मैंने कोशिश की /etc/apache2/conf-available/fqdn.conf, या servername.confया httpd.confकोई लाभ नहीं हुआ। डेबियन Jessie, औरapache 2.4.10
डॉ बेको जूल

2
यदि आपके पास conf-available/और है conf-enabled/, तो एक फ़ाइल बनाएं conf-available/और a2enconfइसे सक्षम करने के लिए कमांड का उपयोग करें । इस तरह, dpkg apache2-commonपैकेज अद्यतन के समय / यदि आप अनपेक्षित परिवर्तन के बारे में आपको परेशान नहीं करेगाapache2.conf
केविन

इसके conf-availableबाद की फ़ाइल और एक संपादन /etc/apache2/conf-available/servername.confसामग्री के साथ हो सकता है ServerName myserver.mydomain.com(रास्पबेरी पाई, अपाचे 2.4.10, डेबियन 8 (जेसी), लिनक्स कर्नेल 4.4.34 पर कोशिश की गई)।
पीटर मोर्टेंसन

@PeterMortensen क्या आप साझा किए गए उदाहरण का उपयोग कर सकते हैं तो मैं समझ सकता हूं कि आपका क्या मतलब है।
शिरीष

फ़ाइल मौजूद नहीं है
ब्लैक

5

आपको ServerName निर्देश सेट करना होगा :

ServerName localhost

डेबियन में, आप इसे सेट कर सकते हैं /etc/apache2/conf.d/httpd.conf

MacOS पर, आप इसे सेट कर सकते हैं /private/etc/apache2/httpd.conf


5
उबंटू में, इसे
/etc/apache2/apache2.conf

1
डेबियन या तो apache2.conf:।
डॉ। बीको जूल

1
अपाचे / डेबियन के किस संस्करण के लिए यह काम करता है? मुझे नहीं लगता कि यह अपाचे 2.4 के लिए काम करता है। इसके /etc/apache2/apache2.confबजाय हो सकता है ।
पीटर मोर्टेनसेन

यह काम करता है, अपाचे 2.4 डेबियन 8 पर
एरजुआन

2

अपनी अपाचे कॉन्फ़िगरेशन फ़ाइल का पता लगाने के लिए, निम्न कमांड चलाने का प्रयास करें:

apachectl -t -D DUMP_INCLUDES

फिर उस फाइल को एडिट करें और उसके साथ लाइन का पता लगाएं ServerNameऔर उसे अनलॉक्ड करें, ताकि यह ऐसा दिखे:

ServerName localhost

0

अपाचे 24 कॉन्फिग फ़ाइल में, आप लाइन देखेंगे ServerName:80:

  1. इसे खाली छोड़ें।
  2. फिर खाली जगह में उस पंक्ति के नीचे लिखें:
    ServerName www.name (of your official domain or website.com:80)
  3. कॉन्फ़िगरेशन फ़ाइल सहेजें।
  4. पर जाएं cmd, इसे व्यवस्थापक के रूप में खोलें dirजहां अपाचे 24 है
  5. फिर cd apache24उसके cd binबाद httpd.exe

आप देखेंगे कि समस्या हल हो गई है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.