2008-08-13 12 views
8

क्या कोई भी ओपनबीएसडी के क्रोएटेड डिफ़ॉल्ट अपाचे के तहत सही ढंग से चलाने के लिए xinc प्राप्त करने में सक्षम है? मैं अपने विकास सर्वर को हमारे उत्पादन सर्वर की तरह पूरी तरह से घुमाए रखना चाहता हूं ताकि हम सुनिश्चित कर सकें कि हमारा कोड ठीक से चल रहा है।ओपनबीएसडी के अपाचे सर्वर पर xinc चलाना

उत्तर

2

क्या आपने इस मुद्दे को Xinc bug tracker पर पोस्ट किया है? जिंक खुद को ठीक से चलाना चाहिए क्योंकि यह एक डेमॉन और एक वेब ऐप के रूप में चलता है। जैसा कि आपने बताया है, मुद्दा यह हो सकता है कि डिमन एक क्रोटेड वातावरण में नहीं चल रहा है जहां वेब इंटरफेस है, जिससे दोनों तरफ फाइलों को पकड़ नहीं लेना पड़ता है।

0

कभी भी खुद को xinc का उपयोग नहीं करने के बाद, मैं केवल संकेत दे सकता हूं कि मैं आमतौर पर ऐप्स को chrooting कैसे प्राप्त करता हूं।

पहला कदम ऐप को चलाने की हर चीज़ पर जानकारी इकट्ठा करना होगा; सॉफ़्टवेयर चलाने के लिए आवश्यक चीज़ों को जानने के लिए यह आमतौर पर systrace(1) और ldd(1) चलाकर पूरा करता है।

systrace -A -d. <app> 
ldd <app> 

के उत्पादन के माध्यम से जाओ और सब कुछ एप्लिकेशन छूता है और जरूरतों (काफी क्षुधा का एक बहुत सामान यह वास्तव में जरूरत नहीं है स्पर्श) है कि यह सुनिश्चित कर लें chroot वातावरण में उपलब्ध है। आपको कॉन्फ़िगरेशन और पर्यावरण चर को थोड़ा सा ट्विक करने की आवश्यकता हो सकती है। साथ ही, यदि ऐप लॉग को syslog पर जोड़ने का कोई विकल्प है, तो मैं आमतौर पर ऐसा करता हूं और ऐपलॉग सॉकेट बनाता हूं (syslogd(8) का विकल्प देखें) ताकि ऐप को लिखने के लिए आवश्यक स्थानों को कम किया जा सके।

जो मैंने अभी वर्णित किया है वह सिर्फ एक क्रोट पर्यावरण में चलने वाले किसी भी प्रोग्राम को बनाने का एक सामान्य तरीका है (हालांकि, अगर आपको आधा उपयोगकर्तालैंड और कुछ सूड कमांड आयात करने की आवश्यकता है, तो आप शायद chroot नहीं करना चाहेंगे :)। अपाचे के तहत चल रहे ऐप्स के लिए (मुझे यकीन है कि आप जानते हैं कि ओपनबीएसडी httpd(8) थोड़ा अलग है) आपके पास विकल्प है (एक बार कार्यक्रम शुरू हो जाने के बाद, किसी भी गतिशील पुस्तकालयों को अभी भी जेल में मौजूद होना आवश्यक है) फ़ाइलों को, वास्तव में उन्हें कॉपी किए बिना क्रोट पर्यावरण में संसाधन आयात करने के लिए httpd.conf के उपयोग की अनुमति देता है।

भी उपयोगी (अगर थोड़ा पुराना है) this लिंक है, ओपनबीएसडी पर क्रोटेड PHP में कुछ गॉथस को रेखांकित करता है।

0

पहला कदम ऐप को चलाने की हर चीज़ पर जानकारी इकट्ठा करना होगा; यह आमतौर पर सॉफ़्टवेयर चलाने के लिए आवश्यक चीज़ों को जानने के लिए सिस्ट्रेस (1) और ldd (1) चलाकर पूरा करता है।

मैं इसे आज़मा दूंगा। Xinc के साथ मुझे मिली बड़ी समस्या यह है कि यह एक PHP अनुप्रयोग है, लेकिन यह एप्लिकेशन स्थापना पथ जानना चाहता है (फिर भी यह अभी भी अन्य फ़ोल्डर्स में सामान फैलता है) और डेमॉन मोड में कुछ PHP स्क्रिप्ट चलाता है (उन स्क्रिप्ट को सबसे कठिन दौड़ना)। तो, उदाहरण के लिए, मैं इसे/var/www/xinc को स्थापित करने के लिए कहा था और फिर

/var/www/var/www/xinc की एक सिमलिंक बना ->/var/www/xinc

और यह आंशिक रूप से काम किया। मुझे जीयूआई थोड़ा सा आ गया है, मैंने इसे स्थापित की गई किसी भी परियोजना को पहचानने से इनकार कर दिया। मुझे लगता है कि सबसे बड़ी समस्या यह है कि इसका हिस्सा एक क्रोट चला रहा है और दूसरा आधा बाहर चल रहा है।

यदि सब कुछ विफल हो जाता है तो मुझे कुछ निर्माण करना होगा क्योंकि हम अपने उत्पादन के बाद से चिंतित वातावरण के अंदर प्रोग्राम करते हैं। हमने उन मुद्दों में भाग लिया है जहां हम एक क्रोट के बाहर कोड करते हैं और फिर हमें यह पता लगाने के लिए ट्रैक करना पड़ता है कि हमें इसे एक क्रोट के अंदर काम करने की आवश्यकता है।

1

@dragonmantank Xinc के मामले में, मुझे आशा है कि आप इसे स्थापित करने के लिए नाशपाती का इस्तेमाल किया।

pear list-files xinc/Xinc 

यह करना चाहिए, और आपको दिखाएं कि आपकी जिंक इंस्टॉल अपनी फाइलें कहां रखती है। तो यद्यपि जिंक "बस" एक बड़ी PHP स्क्रिप्ट है, फिर भी यह आरसी स्क्रिप्ट और अन्य सभी चीजों में फैल गया है जो एप्लिकेशन चलाने के लिए जरूरी हैं। मुझे यकीन है कि आपको वहां सूचीबद्ध सभी पथ जोड़ने की आवश्यकता नहीं है, लेकिन शायद कुछ इसे चलाने के लिए।

Xinc खुद के अलावा, मैं यह भी जरूरत है PHPUnit और अन्य नाशपाती libs को चलाने के लिए के एक समूह के बारे में सोच, तो क्या मेरा प्रस्ताव करता हूँ यह है:

pear config-get php_dir 

और फिर आप उस मार्ग को जोड़ने के लिए (की जरूरत है जैसे हेनरिक ने सुझाव दिया) क्रोट पर्यावरण के लिए।

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