2008-10-18 9 views
7

मैं अपाचे 2 कॉन्फ़िगरेशन को सीधे तरीके से पढ़ने, लिखने और लिखने के लिए एक स्क्रिप्ट बनाना चाहता हूं (जैसे एक नया वर्चुअलहोस्ट जोड़ना, जो पहले से मौजूद है की सेटिंग बदल रहा है)।अपाचे 2 कॉन्फ़िगरेशन फ़ाइलों में हेरफेर करने के लिए एक अच्छी लाइब्रेरी क्या है?

क्या पर्ल, पायथन या जावा के लिए कोई कार्य है, जो उस कार्य को स्वचालित करता है?

http://perl.apache.org/

को उजागर करता है पर्ल में लिखा कार्यक्रमों के लिए कई नहीं करता है, तो सभी अपाचे internals:

उत्तर

2

यह परम अपाचे विन्यासक है।

उदाहरण के लिए: http://perl.apache.org/docs/2.0/api/Apache2/Directive.html

(बेशक कि यह सिर्फ यह विन्यस्त करने की तुलना में बहुत ज्यादा कुछ कर सकते हैं के)।

दूसरी ओर, इसे लोड किया जाना चाहिए और अपाचे के भीतर चलता है, यह एक कॉन्फ़िगरेशन फ़ाइल पार्सर/संपादक नहीं है।

7

कॉन्फ़िगरेशन फ़ाइलों में हेरफेर करने के बजाय, आप सीधे कॉन्फ़िगरेशन फ़ाइलों में पर्ल एम्बेड करने के लिए mod_perl का उपयोग कर सकते हैं। यह आपको डेटाबेस के बाहर आवश्यक vhosts पढ़ने के लिए, उदाहरण के लिए अनुमति दे सकता है।

सभी विवरणों के लिए त्वरित उदाहरण और Apache Configuration in Perl के लिए Configure Apache with Perl Example देखें।

+0

यह बहुत अच्छा है! मैंने कभी सोचा नहीं कि ऐसी चीज मौजूद है! बहुत बहुत धन्यवाद ... – kolrie

+0

चेतावनी; यह गंभीरता से सर्वर को फटकारता है, यह इसे और अधिक भंगुर बनाता है (स्मृति रिसाव का एक और स्रोत) और, जब आपके सिस्टम को अपग्रेड करते हैं, तो आपके पास देखभाल करने के लिए एक और निर्भरता होती है। ऐसे उपयोग के मामले में, किसी प्रोग्राम से कॉन्फ़िगरेशन का उत्पादन सुरक्षित लगता है। – bortzmeyer

+0

यदि आप कॉन्फ़िगरेशन के दौरान केवल perl ब्लॉक का उपयोग करते हैं, तो स्मृति उपयोग कोई समस्या नहीं होगी। इसमें शामिल अतिरिक्त पुस्तकालय बच्चों को बड़ा दिखने देगा, लेकिन यह सभी साझा स्मृति है। –

2

Apache::ConfigFile Perl module आज़माएं।

+1

हालांकि यह वास्तव में कॉन्फ़िगरेशन फ़ाइलों को लिखता नहीं है। मैनुअल लिखने() फ़ंक्शन के बारे में कहता है: "यह विधि वर्तमान में विकास में है और काम नहीं करती है। पैच का स्वागत है।" –

3

देखो, यह अपाचे-httpd config के लिए विशेष रूप नहीं है। फाइलें यह सिर्फ एक सामान्य विन्यास है। फ़ाइल "संपादक" एपीआई। इसमें से एक प्रमुख बिक्री बिंदु यह है कि यह टिप्पणियां/आदि रखेगा। फाइलों को बदलने के लिए अन्य टूल्स के लिए खुश है और आपको टूटी हुई फाइलों को सहेजने से इंकार कर देगा।

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

+0

एक्सास में अपाचे कॉन्फ़िगरेशन फ़ाइलों के लिए कोई पार्सर नहीं है - आपको वैसे भी खुद को लिखना होगा। – Teddy

+2

Augeas में अब एक एचटीपीडी लेंस है। –

0

यह भी देखें Config::General, जो अपाचे कॉन्फ़िगरेशन फ़ाइलों के साथ पूरी तरह से संगत होने का दावा करता है। कॉन्फ़िगरेशन परिवर्तनों के बाद स्वचालित अपग्रेड परीक्षण के लिए मैं अपने अपाचे कॉन्फ़िगरेशन फ़ाइलों को पार्स करने के लिए इसका उपयोग करता हूं।

संबंधित मुद्दे

 संबंधित मुद्दे