Ubuntu Apache: httpd.conf या apache2.conf?


43

अपाचे को कॉन्फ़िगर करने के लिए मुझे इन दो फाइलों में से किसका उपयोग करना चाहिए?

httpd.conf, खाली है, जबकि apache2.confनहीं है।

यह मुझे भ्रमित करता है!

जवाबों:


46

Httpd.conf उपयोगकर्ता विन्यास के लिए बनाया गया है। आपको वास्तव में apache2.conf को संपादित नहीं करना चाहिए क्योंकि यह भविष्य के उन्नयन द्वारा अद्यतन किया जा सकता है।

एक अतिरिक्त विकल्प सिर्फ अपने कस्टम कॉन्फ़िगरेशन को /etc/apache2/conf.d में डालना है, इस निर्देशिका की सभी फाइलें भी शामिल हैं।


5
मेरे पास apapche2.conf नामक फ़ाइल नहीं है
डॉग

18

ये आपके एकमात्र विकल्प नहीं हैं। Ubuntu / डेबियन पर, अपाचे भी में सभी फाइलों को संसाधित करता है /etc/apache2/sites-enabled/(जो चाहिए में फाइल करने के लिए सिमलिंक होना sites-available/द्वारा प्रबंधित निर्देशिका, a2ensiteऔर a2dissiteप्रोग्राम)

आप इन निर्देशिकाओं का उपयोग करना चाहते हैं VirtualHost


1
यह सही जवाब है ! और यह भी बंदरगाहों mods /-उपलब्ध config फ़ाइलें आप अपने जवाब पर विस्तृत करना चाहते हैं
Sudhi

5

apache2.conf में httpd.conf शामिल है:

a@test$:/etc/apache2$ cat apache2.conf | grep httpd.conf 
Include /etc/apache2/httpd.conf

मुझे लगता है कि httpd.conf को पदावनत कर दिया गया है, लेकिन रूढ़िवादी लोगों के लिए बस वहां छोड़ दिया गया है ताकि वे उन्हें चारों ओर से ढूंढ सकें ... :)

संपादित करें:

रोब के जवाब को पढ़ने के बाद, मैंने एक बेहतर grep किया:

a@test:/etc/apache2$ grep -C 1 httpd.conf apache2.conf 
# Include all the user configurations:
Include /etc/apache2/httpd.conf

उपयोगकर्ता कॉन्फ़िगरेशन यह है ...


6
+1 "httpd.conf को पदावनत किया गया है"
फीतेला जूल

1

Apache Software Foundation सॉफ्टवेयर के कई बिट्स प्रकाशित करता है, जिनमें से एक नाम वेब सर्वर है httpd। Httpd प्रोजेक्ट स्रोतों में अन्य चीजों के अलावा एक httpd.confनमूना कॉन्फ़िगरेशन फ़ाइल शामिल है, जो डिफ़ॉल्ट रूप से /usr/local/etc/httpdया में स्थापित है /etc/httpd। आप httpd को अधिकांश प्रणालियों पर नामांकित पाएंगे।

हालांकि, बहुत पहले और बहुत दूर, डेबियन GNU / लिनक्स वितरण में किसी से कि वितरण के भीतर सॉफ्टवेयर का नाम बदलने का फैसला किया httpdकरने के लिए apache2। इस प्रकार एक डेबियन सिस्टम पर आपको apache2.confएक निर्देशिका नाम में एक कॉन्फ़िगरेशन फ़ाइल मिलेगी /etc/apache2। मुझे नहीं पता कि यह किसने या क्यों किया, लेकिन यह विंडोज़ "माइक्रोसॉफ्ट" या ईएसएक्सआई "वीएमवेयर" को कॉल करने के साथ-साथ भ्रम का एक बारहमासी स्रोत है। डिबियन के आधार पर वितरण, जैसे कि उबंटू, इस विचित्रता को प्राप्त करते हैं। यहां तक ​​कि अजनबी भी, वे एक फाइल शामिल करते हैं /etc/apache2/httpd.confजो कि Includeडी से apache2.confहोती है जिसमें उपयोगकर्ता कस्टम कॉन्फ़िगरेशन रख सकते हैं।

तो इसका उत्तर है, यदि आप डेबियन-आधारित प्रणाली पर हैं, तो आप अपने मस्तिष्क को उन चीजों में करने के लिए झुकते हैं, जिस तरह से डेबियन आपको करना चाहता है। अन्यथा आप आम तौर पर चीजों को सामान्य तरीके से करते हैं जैसा कि अपस्ट्रीम httpd प्रोजेक्ट करता है।


1

अपाचे २.४

उपयोग करें:

में कोई भी कस्टम कॉन्फ़िगरेशन रखें /etc/apache2/conf-available/{name}.conf

सक्षम करें / अपने कॉन्‍फ़िगर का उपयोग करके अक्षम करें sudo a2enconf {name}या sudo a2disconf {name}

(फिर अपाचे 2 सेवा को फिर से शुरू करें।)

उपयोग न करें:

httpd.conf पदावनत किया जाता है और आपको इसे अब और नहीं देखना चाहिए - यदि आप ऐसा करते हैं, तो इसे इंस्टाल के रूप में खाली छोड़ दें।

apache2.conf अभी भी स्थापित है, लेकिन यदि आप Apache को आसानी से / आसानी से अपग्रेड करना चाहते हैं, तो इसे अकेला छोड़ दें।

-

कुछ भी जो आप 'वैश्विक' अपाचे कॉन्फिगर में देख सकते हैं, ऊपर दिए गए अनुसार आपके कस्टम कॉन्फिगर के तहत जोड़ा / ओवरराइड किया जा सकता है।

अधिक: https://stackoverflow.com/a/11687212/503621


0

यदि apache2.confखाली नहीं है, और httpd.confखाली है, तो आपको संभवतः उपयोग करना चाहिए apache2.conf;-)

लेकिन मुझे लगता है कि एक में अन्य शामिल हैं (और उनमें से एक को पूरी तरह से पिछड़े संगतता कारणों के लिए रखा गया है) - इसलिए, इसे बहुत बदलना नहीं चाहिए।


फिर भी, यदि आप कुछ जोड़ना चाहते हैं, जैसे एक नया VirtualHost: क्या कोई अन्य उप-निर्देशिका नहीं है, जिसमें आप अपनी फ़ाइल डाल सकते हैं, और क्या यह शामिल है?

यह शायद एक बेहतर समाधान होगा: आप डिफ़ॉल्ट फ़ाइल को संशोधित नहीं करेंगे - जो अपडेट को सरल करेगा।


जैसा कि पास्कल ने उल्लेख किया है, यदि आप एक नया वर्चुअलहॉस्ट जोड़ना चाहते हैं, तो आपको साइटों के तहत एक नई फ़ाइल को जोड़ना चाहिए और फिर इसे साइट a2ensite के साथ सक्षम किया जाना चाहिए- help.ubuntu.com/6.06/ubuntu/serverguide/ C / httpd.html
ccheneson

0

बस Apache2.conf खोलें और सामग्री को देखें:

Include /etc/apache2/mod-enabled/*.conf
Include /etc/apache2/httpd.conf

इसलिए यदि आप अपने स्वयं के कॉन्फ़िगरेशन को शामिल करना चाहते हैं, तो इसे httpd.conf और apache2.conf में जोड़ें स्वचालित रूप से इसे प्राप्त करेंगे।

अन्य के रूप में, apache2.conf मशीन को उत्पन्न कर सकता है और इसे स्पर्श न करना बेहतर है।

अधिक जानकारी के लिए, आमतौर पर उबंटू Apache2.conf का उपयोग करता है और Centos httpd.conf का उपयोग करता है। तो ये सभी फाइलें इस बात पर निर्भर करती हैं कि आपके पास कौन सा ओएस है।


-2

कॉन्फ़िगरेशन फ़ाइल का नाम और स्थान खोजने के लिए, आपको निम्न करना होगा:

1) प्रक्रिया के रूप में खोजें, अपाचे उपयोगकर्ता के साथ काम करने वाले इस मामले में कहा जाता है:

ps -ef | grep apache

(इस उदाहरण में, देता है: httpd)

2) बाइनरी द्वारा उपयोग किए गए चर दिखाएं:

httpd -V | grep 'HTTPD_ROOT' && httpd -V | grep 'SERVER_CONFIG_FILE'

निकाले और स्क्रीनशॉट यहाँ: http://www.sysadmit.com/2016/12/linux-apache-donde-esta-httpdconf-apache2conf.html


नमस्कार, यह मुझे प्रतीत होता है, कि आपने पहले से ही उत्तर दिए गए प्रश्न का उत्तर दिया है, एक जिसका उत्तर वर्षों पहले दिया गया है। इसके अलावा, आपका समाधान मूल प्रश्नकर्ता को समस्या को हल करने में मदद नहीं कर रहा है, जो कॉन्फ़िगरेशन फ़ाइल का उपयोग करने के लिए सबसे अच्छा अभ्यास है।
एम। ग्लटकी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.