Ubuntu Apache2 DefaultRuntimeDir ServerRoot के लिए एक वैध निर्देशिका, पूर्ण या सापेक्ष होना चाहिए


17

मेरे पास एक वेब सर्वर है जो Ubuntu 17.04 पर चल रहा है जिसे मैं स्थापित करने का प्रयास कर रहा हूं Apache। जब तक मैंने virtualHosts के माध्यम से एक मशीन पर दो वेबसाइटों की मेजबानी करने का फैसला किया तब तक सब कुछ बहुत अच्छा चला। अब apacheएक भी मेजबान सक्षम के साथ शुरू करने से इनकार कर दिया। जितनी बार मैं शुरू करने का प्रयास करता हूं Apacheमुझे यह त्रुटि मिलती है:

apache2: Syntax error on line 80 of /etc/apache2/apache2.conf:
DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot.

इसे ठीक करने के मेरे प्रयासों में से कुछ भी शामिल नहीं है:

apt purge apache2 && rm -r /etc/apache2 

त्रुटि संदेश की सभी पंक्ति 80 मुझे बताती है DefaultRuntimeDir ${APACHE_RUN_DIR}

और किसी भी समय मैं यह नहीं देखता कि कहां या क्या APACHE_RUN_DIRघोषित किया गया है।

क्या कोई मेरी मदद कर सकता है?

जवाबों:


17

आदेश

source /etc/apache2/envvars

मेरी समस्या को हल कर दिया (सभी अन्य लोगों की कोशिश करने के बाद)।

यह जांचने के लिए कि सब ठीक है या नहीं, कमांड का उपयोग करें

apache2 -S

मैंने पाया कि मेरे DNS रिकॉर्ड का उपयोग करने की तुलना में तेज था।


1
मैंने इसका इस्तेमाल किया source /etc/apache2/envvarsलेकिन उसके बाद मेरी होम डायरेक्टरी से बदल ~गया homeऔर जब मैंने cd लिखा तो दिखाया -bash: cd: HOME not set। जब मैंने एन्वारर्स में प्रवेश किया तो पहली लाइनों में से एक है # this won't be correct after changing uidऔर unset HOME। इसे ठीक करने के लिए कोई भी विचार?
मिहेल मिंकोव

7

"मैन अपाचे 2" में एक लापता अपडेट है, कम से कम विकल्प -V के लिए;

आज, किसी को इसके बजाय "अपाचेक्टल" या "अपाचे 2ctl" का उपयोग करना चाहिए

कम से कम कुछ विकल्पों के लिए "apache2", जैसा कि कहा गया है

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=879571


यह बिल्कुल स्पष्ट नहीं है कि यह सवाल का जवाब कैसे देता है।
रैंडी क्रगुन

6

Apache2 /etc/apache2/envvarsपर्यावरण चर सेट करने के लिए उपयोग करता है। आप इस जानकारी का उपयोग यह सुनिश्चित करने के लिए कर सकते हैं कि निर्देशिका ${APACHE_RUN_DIR}बिंदु वैध है।

मैं 14.04 से 17.04 तक अपग्रेड करते समय एक ही समस्या का सामना कर रहा था। समस्या थी: के ${APACHE_RUN_DIR}लिए सेट किया गया था /var/run/apache2, लेकिन Apache2 फ़ोल्डर में गायब था /var/run

मेरे लिए फिक्स था: mkdir /var/run/apache2


7
भले ही आपने फ़ोल्डर बनाया हो या यदि फ़ोल्डर पहले से ही प्रस्तुत किया गया हो (जैसे मेरी स्थिति में) तो आपको निम्न कमांड को चलाना होगा। source /etc/apache2/envvars
पेशमर्ज

अगर आप init.d / system.d का उपयोग कर रहे हैं, तो आपको केवल एनवॉयर कमांड को चलाने की आवश्यकता है, यदि आप init.d / system.d का उपयोग कर रहे हैं, तो फ़ाइल अपने आप ही चालू हो जाएगी।
नियोल

@Peshmerge धन्यवाद! क्या आप बता सकते हैं कि रिबूट के बाद इसे कैसे बरकरार रखा जाए? यह रिबूट पर लगता है कि हमें मैन्युअल रूप से उस कमांड को निष्पादित करना होगा
T.Todua

1

मेरे मामले में यह apache2.conf फ़ाइल में "सभी के लिए अस्वीकृत" लाइन की आवश्यकता थी, जो मेरे मामले में (फिर से) टाइप किया गया था, जैसा कि "आवश्यकता से वंचित" था


0

रेनेब्लिंग php5.6अपाचे मॉड्यूल इस समस्या को ठीक करने में मदद करता है।

प्रेस Ctrl+ Alt+ Tऔर इन टाइप करें:

sudo a2dismod php5.6
sudo a2enmod php5.6

फिर apache2 सेवा को फिर से शुरू करें:

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