सवाल यह जांचने के लिए कि कौन से अपाचे मॉड्यूल सक्षम / स्थापित हैं?


कौन से अपाचे मॉड्यूल सक्षम हैं यह जांचने का सबसे शानदार तरीका कौन सा है?


347
2018-05-17 19:55


मूल




जवाब:


आप उबंटू पर हैं तो कोशिश करें:

apache2ctl -M

423
2018-05-17 20:01



apache2ctl -M बहुत अच्छा काम करता है - udo
अपाचे 2-एम इस त्रुटि में परिणाम apache2: bad user name ${APACHE_RUN_USER} - udo
काफी उचित - यह इस तथ्य के कारण है कि आप अपाचे रन टाइम उपयोगकर्ता (शायद www-data) के रूप में आदेश को चला रहे हैं अपाचे कॉन्फ़िगरेशन में परिभाषित नहीं है। इसे ठीक करने का एक तरीका है लेकिन आप apache2ctl तक चिपक सकते हैं। - Linker3000
sudo apache2ctl -M | sort - mmdemirbas
ध्यान दें कि कई उपयोगी विकल्प (झंडे) हैं apache2ctl लेकिन वे न तो मैनपेज में और न ही सूचीबद्ध हैं apache2ctl --help। ऐसा इसलिए है क्योंकि उन्हें सौंप दिया जाता है httpd। वे में सूचीबद्ध हैं httpd दस्तावेज केवल। - Lutz Prechelt


httpd -M आपको बताएगा कि कौन से मॉड्यूल अंतर्निहित या साझा किए गए हैं।


108
2018-05-17 19:56



हम्म ... मुझे रूट के रूप में httpd -M लॉन्च करते समय "bash: httpd: आदेश नहीं मिला" प्राप्त हो रहा है - udo
तो फिर पूरा पथ निर्दिष्ट करें httpd निष्पादन योग्य। - Ignacio Vazquez-Abrams
@ IgnacioVazquez-Abrams: उबंटू (और अन्य डेबियन आधारित वितरण) पर, नाम है apache2और नहीं httpd, यही कारण है कि यह नहीं मिला है। - Daniel Andersson
अपाचे redhat पर httpd है। अगर यह आपके लिए काम नहीं करता है तो दूसरे उत्तरों में से एक आज़माएं। - Jacks_Depression
CentOS apache2 के बजाय httpd का भी उपयोग करता है - pedromanoel


उपरोक्त उत्तरों से कुछ भी काम नहीं करता है अगर आप रिमोट सर्वर पर कमांड नहीं चला सकते हैं। यदि आपके पास केवल "उपयोगकर्ता" विशेषाधिकार हैं या कोई भी बनाने का प्रयास नहीं करता है test.php स्क्रिप्ट:

<pre>
<?php
print_r(apache_get_modules());
?>
</pre>

हालांकि यह केवल तभी काम करेगा जब PHP को स्थापित किया गया हो mod_php


35
2018-04-11 09:10



साथ ही, आप यह सार्वजनिक रूप से दृश्यमान नहीं होना चाहेंगे। हो सकता है कि उस परिणाम को क्लाइंट के व्यवस्थापक के आईपी के साथ प्रतिबंधित करना चाहें। और जैसे ही आप इसके साथ काम करेंगे, आप उस स्क्रिप्ट को हटाना चाहेंगे। क्योंकि गहराई में रक्षा; इसे होने की तुलना में इसे आसान न बनाएं। - Parthian Shot


हो सकता है कि यह साझा मेजबानों पर कुछ लोगों तक पहुंच न सके httpd, apachectl या प्रक्रियाओं:

सक्षम मॉड्यूल: ls /etc/apache2/mods-enabled/

उपलब्ध मॉड्यूल: ls /etc/apache2/mods-available/


20
2018-05-04 11:33



यहां पूरी सूची है, apache2ctl उन्हें फ़िल्टर करें - jgpATs2w


आप भी उपयोग कर सकते हैं apachectl

apachectl -t -D DUMP_MODULES

17
2018-02-06 07:04





मुझे लगता है कि यहां वास्तव में तीन प्रश्न हैं। मुझे यकीन नहीं है कि आप कौन सी पूछ रहे हैं।

  • डिस्क पर आपके पास कौन से मॉड्यूल हैं। आप जिन मॉड्यूल का उपयोग कर सकते हैं वे क्या हैं।

यह आपके अपाचे वितरण की मॉड्यूल निर्देशिका में आमतौर पर (आमतौर पर) होगा, आमतौर पर / etc / httpd / मॉड्यूल /

  • चलाने के लिए कॉन्फ़िगर किया गया कोई विशिष्ट उदाहरण क्या मॉड्यूल है।

इसे बेस सिस्टम अपाचे के लिए कम से कम / usr / sbin / httpd -M के साथ चेक किया जा सकता है। यदि आप किसी विशिष्ट कॉन्फ़िगरेशन फ़ाइल / usr / sbin / httpd-m -f / path / to / config / file पर जांचना चाहते हैं

  • चल रहे अपाचे में क्या है

बहुत सारी जानकारी प्राप्त करने के लिए, आप इसे देख सकते हैं http: // machinename / सर्वर-जानकारी / यह डिफ़ॉल्ट रूप से कॉन्फ़िगर नहीं है, आपको करना होगा कॉन्फ़िगर इसमें कुछ जानकारी लीक है, इसलिए इसे कॉन्फ़िगर करें ताकि स्थानीय लोग इसे देख सकें।

यदि आप मशीन पर हैं और आपके पास चल रहे उपयोगकर्ता तक पहुंच है, तो आप यह भी देख सकते हैं कि प्रक्रिया की जांच करके क्या लोड किया गया है। आप मूल प्रक्रिया को निम्न के साथ पा सकते हैं:

ps -ef | gawk '/httpd/ && $3 == 1{print $2}'

फिर जांचें

cat /proc/PID_FROM_ABOVE/maps

11
2018-05-17 20:57



उपयोगी जानकारी लेकिन क्योंकि ओपी उबंटू का उपयोग कर रहा है, फ़ाइल नाम और स्थान अलग हैं - उदाहरण के लिए: httpd के बजाय / usr / sbin / apache2, और ps -ef | गॉक '/ apache2 / && $ 3 == 1 {प्रिंट $ 2}' मॉड्यूल के स्थान को अलग-अलग प्रबंधित किया जाता है, मोड-उपलब्ध और मोड-सक्षम उपफोल्डर्स के साथ - Linker3000
धन्यवाद @ लिंकर 3000 ... आप सही हैं, यह रेडहाट / सेंटोस के लिए है, मैं आपकी टिप्पणी को उबंटू में परिवर्तित करने के तरीके पर खड़ा करूंगा - Rich Homolka


यदि आप रेडहाट / सेंटोस पर हैं, httpd जगह में प्रयोग किया जाता है apache2ctl

इसका मतलब है कि आपको इसका उपयोग करने की आवश्यकता है

httpd -M

हालाँकि, httpd जिस मार्ग की आप अपेक्षा करते हैं उसमें लगभग कभी नहीं होता है।

मैं सेंटोस 5.8 पर वास्तविक पथ की पुष्टि कर सकता हूं /usr/sbin/httpd

/usr/sbin/httpd -M

लेकिन अगर वह रास्ता नहीं है, तो आप इसे खोज सकते हैं। यहां बताया गया है कि मैं ऐसा करने में सक्षम था।

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

less /init.d/httpd

लाइन 40ish के आसपास

# Path to the apachectl script, server binary, and short-form for messages.
apachectl=/usr/sbin/apachectl
httpd=${HTTPD-/usr/sbin/httpd}
prog=httpd

जिसने मुझे बताया कि इसे कहां मिलना है। उम्मीद है की यह मदद करेगा।


10
2018-03-11 18:41





सभी सक्षम मॉड्यूल सूचीबद्ध करें

a2query -m

5
2017-08-30 12:23