यह कमांड एपीएक्स है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
एपीएक्सएस - अपाचे एक्सटेंशन टूल
SYNOPSIS
लगभग -g [-S नाम=मूल्य ] -n modname
लगभग -q [-v ] [-S नाम=मूल्य ] सवाल ...
लगभग -c [-S नाम=मूल्य ] [-o dsofile ] [-I incdir ] [-D नाम=मूल्य ] [-L libdir ] [
-l लिबनाम ] [-स्वागत,संकलक-झंडे ] [-डब्ल्यूएल,लिंकर-झंडे ] फ़ाइलों ...
लगभग -i [-S नाम=मूल्य ] [-n modname ] [-a ] [-A ] डीएसओ फ़ाइल ...
लगभग -e [-S नाम=मूल्य ] [-n modname ] [-a ] [-A ] डीएसओ फ़ाइल ...
सारांश
एपीएक्स अपाचे हाइपरटेक्स्ट के लिए एक्सटेंशन मॉड्यूल बनाने और स्थापित करने का एक उपकरण है
ट्रांसफर प्रोटोकॉल (HTTP) सर्वर। यह एक गतिशील साझा वस्तु का निर्माण करके हासिल किया जाता है
(डीएसओ) एक या अधिक स्रोत या वस्तु से फ़ाइलों जिसे फिर अपाचे में लोड किया जा सकता है
mod_so से LoadModule निर्देश के माध्यम से रनटाइम के तहत सर्वर।
इसलिए इस विस्तार तंत्र का उपयोग करने के लिए आपके प्लेटफ़ॉर्म को DSO सुविधा और आपके का समर्थन करना होगा
अपाचे httpd बाइनरी को mod_so मॉड्यूल के साथ बनाया जाना है। Apxs उपकरण स्वचालित रूप से
यदि ऐसा नहीं है तो शिकायत करें। आप इसे मैन्युअल रूप से चलाकर स्वयं जांच सकते हैं
आदेश
$ एचटीटीपीडी -एल
मॉड्यूल mod_so प्रदर्शित सूची का हिस्सा होना चाहिए। यदि ये आवश्यकताएँ हैं
पूरा होने पर आप अपना स्वयं का इंस्टॉल करके अपने अपाचे सर्वर की कार्यक्षमता को आसानी से बढ़ा सकते हैं
इस एपीएक्सएस टूल की मदद से डीएसओ तंत्र वाले मॉड्यूल:
$ एपीएक्सएस -आई -ए -सी mod_foo.c
gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c
ld -Bshareable -o mod_foo.so mod_foo.o
सीपी mod_foo.so /path/to/apache/modules/mod_foo.so
chmod 755 /path/to/apache/modules/mod_foo.so
[मॉड्यूल `foo' को /path/to/apache/etc/httpd.conf में सक्रिय करना]
$ अपाचेक्टल पुनरारंभ करें
/path/to/apache/sbin/apachectl पुनरारंभ करें: httpd नहीं चल रहा है, प्रारंभ करने का प्रयास कर रहा है
[मंगल मार्च 31 11:27:55 1998] [डीबग] mod_so.c(303): लोडेड मॉड्यूल foo_module
/path/to/apache/sbin/apachectl पुनरारंभ: httpd प्रारंभ हुआ
$_
तर्क फ़ाइलों कोई भी C स्रोत फ़ाइल (.c), ऑब्जेक्ट फ़ाइल (.o) या यहां तक कि एक लाइब्रेरी भी हो सकती है
पुरालेख (.ए)। Apxs टूल स्वचालित रूप से इन एक्सटेंशनों को पहचानता है और स्वचालित रूप से
केवल ऑब्जेक्ट और संग्रह फ़ाइलों का उपयोग करते समय संकलन के लिए सी स्रोत फ़ाइलों का उपयोग किया
लिंकिंग चरण. लेकिन ऐसी पूर्व-संकलित वस्तुओं का उपयोग करते समय सुनिश्चित करें कि वे संकलित हैं
स्थिति स्वतंत्र कोड (पीआईसी) के लिए उन्हें गतिशील रूप से लोड किए गए साझाकरण के लिए उपयोग करने में सक्षम होना चाहिए
वस्तु। उदाहरण के लिए जीसीसी के साथ आपको हमेशा -fpic का उपयोग करना होगा। अन्य सी कंपाइलर्स के लिए
ऑब्जेक्ट फ़ाइलों को संकलित करने के लिए एपीएक्स द्वारा उपयोग किए जाने वाले फ़्लैग के लिए इसके मैनुअल पेज या वॉच से परामर्श लें।
अपाचे में डीएसओ समर्थन के बारे में अधिक जानकारी के लिए mod_so या शायद का दस्तावेज़ पढ़ें
यहां तक कि src/modules/standard/mod_so.c स्रोत फ़ाइल भी पढ़ें।
विकल्प
सामान्य ऑप्शंस
-n modname
यह स्पष्ट रूप से -i (इंस्टॉल) और -g (टेम्पलेट) के लिए मॉड्यूल नाम सेट करता है
पीढ़ी) विकल्प। मॉड्यूल नाम को स्पष्ट रूप से निर्दिष्ट करने के लिए इसका उपयोग करें। विकल्प -जी के लिए
यह आवश्यक है, विकल्प -i के लिए एपीएक्सएस उपकरण से नाम निर्धारित करने का प्रयास करता है
स्रोत या (फ़ॉलबैक के रूप में) कम से कम फ़ाइल नाम से अनुमान लगाकर।
प्रश्न ऑप्शंस
-q httpd बनाने के लिए उपयोग किए जाने वाले वेरिएबल्स और पर्यावरण सेटिंग्स के लिए एक क्वेरी निष्पादित करता है। कब
बिना आह्वान किया गया सवाल पैरामीटर, यह सभी ज्ञात चर और उनके मान प्रिंट करता है।
वैकल्पिक -v पैरामीटर सूची आउटपुट को प्रारूपित करता है। .PP इसे मैन्युअल रूप से उपयोग करें
httpd बनाने के लिए उपयोग की जाने वाली सेटिंग्स निर्धारित करें जो आपके मॉड्यूल को लोड करेगी। उदाहरण के लिए
यदि आपको मैनुअल की आवश्यकता है तो अपने मेकफाइल्स के अंदर INC=-I`apxs -q INCLUDEDIR` .PP का उपयोग करें
अपाचे की सी हेडर फ़ाइलों तक पहुंच।
विन्यास ऑप्शंस
-S नाम=मूल्य
यह विकल्प ऊपर वर्णित एपीएक्स सेटिंग्स को बदल देता है।
टेम्पलेट पीढ़ी ऑप्शंस
-g यह एक उपनिर्देशिका उत्पन्न करता है नाम (विकल्प -n देखें) और वहां दो फ़ाइलें हैं: एक नमूना
मॉड्यूल स्रोत फ़ाइल जिसका नाम mod_ हैनाम.c जिसे बनाने के लिए एक टेम्पलेट के रूप में उपयोग किया जा सकता है
अपने स्वयं के मॉड्यूल या एपीएक्सएस तंत्र के साथ खेलने के लिए एक त्वरित शुरुआत के रूप में। और ए
इस मॉड्यूल के निर्माण और स्थापना को और भी आसान बनाने के लिए संबंधित मेकफ़ाइल।
DSO संकलन ऑप्शंस
-सी यह संकलन ऑपरेशन को इंगित करता है। यह सबसे पहले C स्रोत फ़ाइलों (.c) को संकलित करता है
of फ़ाइलों संबंधित ऑब्जेक्ट फ़ाइलों (.o) में और फिर एक गतिशील रूप से साझा बनाता है
में वस्तु dsofile इन ऑब्जेक्ट फ़ाइलों के साथ-साथ शेष ऑब्जेक्ट फ़ाइलों (.o.) को लिंक करके
और .a) का फ़ाइलों. यदि कोई -o विकल्प निर्दिष्ट नहीं है तो आउटपुट फ़ाइल का अनुमान लगाया जाता है
में पहला फ़ाइल नाम फ़ाइलों और इस प्रकार आमतौर पर mod_ पर डिफ़ॉल्ट होता हैनाम।इसलिए।
-o dsofile
निर्मित गतिशील रूप से साझा ऑब्जेक्ट का फ़ाइल नाम स्पष्ट रूप से निर्दिष्ट करता है। अगर नहीं
निर्दिष्ट किया गया है और नाम का अनुमान नहीं लगाया जा सकता है फ़ाइलों सूची, फ़ॉलबैक नाम
mod_unknown.so का उपयोग किया जाता है।
-D नाम=मूल्य
यह विकल्प सीधे संकलन कमांड के माध्यम से भेजा जाता है। इसका उपयोग करें
निर्माण प्रक्रिया में अपनी स्वयं की परिभाषाएँ जोड़ें।
-I incdir
यह विकल्प सीधे संकलन कमांड के माध्यम से भेजा जाता है। इसका उपयोग करें
निर्माण प्रक्रिया में खोजने के लिए अपनी खुद की निर्देशिका जोड़ें।
-L libdir
यह विकल्प सीधे लिंकर कमांड के माध्यम से भेजा जाता है। अपना जोड़ने के लिए इसका उपयोग करें
निर्माण प्रक्रिया को खोजने के लिए स्वयं की लाइब्रेरी निर्देशिकाएँ।
-l लिबनाम
यह विकल्प सीधे लिंकर कमांड के माध्यम से भेजा जाता है। अपना जोड़ने के लिए इसका उपयोग करें
निर्माण प्रक्रिया को खोजने के लिए स्वयं की लाइब्रेरी।
-स्वागत,संकलक-झंडे
यह विकल्प पास हो जाता है संकलक-झंडे libtool --mode=compile के अतिरिक्त झंडे के रूप में
आज्ञा। स्थानीय कंपाइलर-विशिष्ट विकल्प जोड़ने के लिए इसका उपयोग करें।
-डब्ल्यूएल,लिंकर-झंडे
यह विकल्प पास हो जाता है लिंकर-झंडे libtool --mode=link के अतिरिक्त झंडे के रूप में
आज्ञा। स्थानीय लिंकर-विशिष्ट विकल्प जोड़ने के लिए इसका उपयोग करें।
-पी यह विकल्प एपीएक्स को एपीआर/एपीआर-यूटिल लाइब्रेरीज़ के विरुद्ध लिंक करने का कारण बनता है। यह उपयोगी है
सहायक प्रोग्राम संकलित करते समय जो एपीआर/एपीआर-उपयोग पुस्तकालयों का उपयोग करते हैं।
DSO स्थापना और विन्यास ऑप्शंस
-i यह इंस्टॉलेशन ऑपरेशन को इंगित करता है और एक या अधिक को गतिशील रूप से इंस्टॉल करता है
सर्वर में साझा की गई वस्तुएं मॉड्यूल निर्देशिका.
-ए यह स्वचालित रूप से संबंधित लोडमॉड्यूल लाइन जोड़कर मॉड्यूल को सक्रिय करता है
अपाचे की httpd.conf कॉन्फ़िगरेशन फ़ाइल में, या यदि यह पहले से मौजूद है तो इसे सक्षम करके।
-ए विकल्प के समान है -ए लेकिन निर्मित लोडमॉड्यूल निर्देश एक हैश चिह्न के साथ उपसर्ग किया गया है
(#), यानी, मॉड्यूल अभी बाद में सक्रियण के लिए तैयार है लेकिन प्रारंभ में अक्षम है।
-ई यह संपादन ऑपरेशन को इंगित करता है, जिसका उपयोग -ए और -ए विकल्पों के साथ किया जा सकता है
अपाचे की httpd.conf कॉन्फ़िगरेशन फ़ाइल को संपादित करने के लिए -i ऑपरेशन के समान
मॉड्यूल को स्थापित करने का प्रयास किए बिना।
उदाहरण
मान लें कि आपके पास mod_foo.c नामक अपाचे मॉड्यूल उपलब्ध है जिसे अपाचे का विस्तार करना चाहिए
सर्वर कार्यक्षमता. इसे पूरा करने के लिए आपको सबसे पहले C स्रोत को एक में संकलित करना होगा
साझा ऑब्जेक्ट निम्नलिखित के माध्यम से रनटाइम के तहत अपाचे सर्वर में लोड करने के लिए उपयुक्त है
आदेश:
$ एपीएक्सएस -सी mod_foo.c
/path/to/libtool --mode=compile gcc... -c mod_foo.c
/path/to/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
$_
फिर आपको यह सुनिश्चित करके अपाचे कॉन्फ़िगरेशन को अपडेट करना होगा कि एक LoadModule निर्देश है
इस साझा ऑब्जेक्ट को लोड करने के लिए प्रस्तुत करें। इस चरण को सरल बनाने के लिए APXS एक स्वचालित तरीका प्रदान करता है
साझा ऑब्जेक्ट को उसकी "मॉड्यूल" निर्देशिका में स्थापित करने और httpd.conf फ़ाइल को अपडेट करने के लिए
इसलिए। इसे चलाकर हासिल किया जा सकता है:
$ एपीएक्सएस -आई -ए mod_foo.la
/path/to/instdso.sh mod_foo.la /path/to/apache/modules
/path/to/libtool --mode=cp इंस्टॉल करें mod_foo.la /path/to/apache/modules
...
chmod 755 /path/to/apache/modules/mod_foo.so
[मॉड्यूल `foo' को /path/to/apache/conf/httpd.conf में सक्रिय करना]
$_
इस तरह एक लाइन का नाम दिया गया
LoadModule foo_module मॉड्यूल/mod_foo.so
यदि अभी भी मौजूद नहीं है तो कॉन्फ़िगरेशन फ़ाइल में जोड़ा जाता है। यदि आप इसे निष्क्रिय करना चाहते हैं
प्रति डिफ़ॉल्ट -A विकल्प का उपयोग करें, यानी
$ एपीएक्सएस -आई -ए mod_foo.c
एपीएक्सएस तंत्र के त्वरित परीक्षण के लिए आप एक नमूना अपाचे मॉड्यूल टेम्पलेट प्लस बना सकते हैं
इसके माध्यम से संबंधित मेकफ़ाइल:
$ एपीएक्सएस -जी -एन फू
[डीआईआर] फू बनाना
[फ़ाइल] फू/मेकफ़ाइल बनाना
[फ़ाइल] foo/modules.mk बनाया जा रहा है
[फ़ाइल] foo/mod_foo.c बनाया जा रहा है
[फ़ाइल] foo/.deps बनाया जा रहा है
$_
फिर आप तुरंत इस नमूना मॉड्यूल को एक साझा ऑब्जेक्ट में संकलित कर सकते हैं और इसे लोड कर सकते हैं
अपाचे सर्वर:
$ सीडी फू
$ सभी पुनः लोड करें
एपीएक्सएस -सी mod_foo.c
/path/to/libtool --mode=compile gcc... -c mod_foo.c
/path/to/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
एपीएक्सएस -आई -ए -एन "फू" mod_foo.la
/path/to/instdso.sh mod_foo.la /path/to/apache/modules
/path/to/libtool --mode=cp इंस्टॉल करें mod_foo.la /path/to/apache/modules
...
chmod 755 /path/to/apache/modules/mod_foo.so
[मॉड्यूल `foo' को /path/to/apache/conf/httpd.conf में सक्रिय करना]
अपाचेक्टल पुनरारंभ करें
/path/to/apache/sbin/apachectl पुनरारंभ करें: httpd नहीं चल रहा है, प्रारंभ करने का प्रयास कर रहा है
[मंगल मार्च 31 11:27:55 1998] [डीबग] mod_so.c(303): लोडेड मॉड्यूल foo_module
/path/to/apache/sbin/apachectl पुनरारंभ: httpd प्रारंभ हुआ
$_
onworks.net सेवाओं का उपयोग करके ऑनलाइन एपीएक्स का उपयोग करें