मैं कुछ साइटों को अपाचे का उपयोग करते हुए VirtualHosts के रूप में कॉन्फ़िगर किया गया हूं जो थोड़ी देर के लिए ठीक काम कर रहे हैं। मैंने हाल ही में सर्वर के होस्टनाम को डोमेन नाम में से एक में बदला जा रहा है जिसे परोसा जा रहा था, और इसे सर्वर के बाहरी आईपी पते की ओर इशारा करते हुए / आदि / होस्ट में भी जोड़ा।
जब से मैंने ऐसा किया, मेरे लैपटॉप से डोमेन एक्सेस करना मुझे अपाचे के डिफ़ॉल्ट "यह काम करता है!" पृष्ठ। यदि मैं / etc / apache2 / sites-enable / से 000-डिफॉल्ट निकालता हूं, तो यह सही साइट प्रदर्शित करता है। साइट को 'www' से एक्सेस करने की कोशिश कर रहा है। उपसर्ग मुझे सही साइट पर ले जाता है, चाहे साइटों को सक्षम करने में 000-डिफ़ॉल्ट हो या न हो।
इन सबके आधार पर, मैं अनुमान लगा रहा हूं कि डिफॉल्ट कॉन्फिग डिफ़ॉल्ट पेज पर काम कर रहा है क्योंकि मैंने होस्टनाम या / आदि / होस्ट (या दोनों) को कैसे कॉन्फ़िगर किया है, लेकिन मैं यह पता नहीं लगा सकता कि इसे कैसे निष्क्रिय किया जाए उन सेटिंग्स को छोड़कर जैसे वे हैं। किसी भी सुझाव का स्वागत है!
संपादित करें - मेरा वर्तमान VirtualHost कॉन्फिग इस तरह दिखता है:
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
ServerAdmin me@domain.com
DocumentRoot /srv/www/domain
ErrorLog /srv/www/domain/logs/error.log
CustomLog /srv/www/domain/logs/access.log combined
</VirtualHost>
संक्षेप में: मेरे पास कई VirtualHosts स्थापित हैं, और यह एकमात्र ऐसा है जो ठीक से काम नहीं कर रहा है। मैं http://www.domain.com पर ठीक पहुँच सकता हूँ , लेकिन http://domain.com मुझे अपाचे के डिफ़ॉल्ट "यह काम करता है!" पृष्ठ। यदि मैं 000-डिफ़ॉल्ट कॉन्फिगर को अक्षम करता हूं तो यह उचित पेज दिखाता है। सर्वर के hostname को domain.com पर सेट करने के बाद ही यह शुरू हुआ और सर्वर के बाहरी आईपी पते पर domain.com को होस्ट करने के लिए / etc / host के लिए एक लाइन जोड़ी। अगर संभव हो तो मैं उन्हें इस तरह छोड़ना चाहूंगा।
संपादित करें:apache2ctl -S
जब से /usr/sbin/apache2 -S
मुझे "apache2: bad user name $ {APACHE_RUN_USER}" दिया गया, मैं भाग गया । यहाँ उत्पादन है:
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server domain.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost other.com (/etc/apache2/sites-enabled/other:1)
port 80 namevhost another.com (/etc/apache2/sites-enabled/another:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/domain:1)
Syntax OK