2012-10-22 19 views
7

मुझे 400+ नोड मुनिन-1.4.एक्स इंस्टॉलेशन मिला है, कि मैं मुनिन मास्टर सर्वर पर सीजीआई आधारित सामग्री पीढ़ी (एचटीएमएल ग्राफ) का लाभ उठाने के लिए, मुनिन-2.x में अपग्रेड करना चाहता हूं। । मैं आधिकारिक डॉक्स (http://munin-monitoring.org/wiki/CgiHowto2) से गुजर चुका हूं, और यह बस काम नहीं कर रहा है। इसमें केवल वर्चुअलहोस्ट (http://munin.example.com) शामिल है, जो मेरा सेटअप नहीं है, लेकिन मैंने इसे प्रारंभिक बिंदु के रूप में उपयोग करने का प्रयास किया।फेडोरा पर CGI (केवल) के साथ सामग्री उत्पन्न करने के लिए Munin-2.0.x को कॉन्फ़िगर कैसे करें?

विशेष रूप से, मैं & जरूरत http://example.com/munin आधार URL गतिशील रूप से सभी नोड्स लिस्टिंग html सामग्री, अलग-अलग नोड पृष्ठों (जो तब गतिशील रूप से उत्पन्न कर रहे हैं/जब उन्हें क्लिक अद्यतन) के लिंक के साथ उत्पन्न होना चाहता हूँ। जोड़ा गया पकड़ यह है कि मैं फेडोरा (16) पर ऐसा कर रहा हूं, और मुझे कितना है कि मैंने डेबियन/उबंटू (या क्रॉन के माध्यम से गैर-सीजीआई स्थिर सामग्री उत्पादन) मान लिया है।

  • Munin आधार निर्देशिका है/var/www/html/Munin
  • Munin स्थैतिक सामग्री direcotry है/var/www/html/Munin/स्थिर
  • :

    आधिकारिक फेडोरा Munin पैकेज

    निम्नलिखित स्थापित करता है

  • Munin CGI स्क्रिप्ट (Munin-सीजी-ग्राफ & Munin-सीजी-एचटीएमएल)/var/www/html/Munin/cgi में हैं

मैं अब तक क्या किया है: * सेट "html_strate

# Rewrites 
RewriteEngine On 
Alias /static /var/www/html/munin/static 
Alias /munin /var/www/html/munin 
# HTML 
RewriteCond %{REQUEST_URI} !^/static 
RewriteCond %{REQUEST_URI} .html$ [or] 
RewriteCond %{REQUEST_URI} =/ 
RewriteRule ^/(.*)   /var/www/html/munin/cgi/munin-cgi-html/$1 [L] 
# Images 
# - remove path to munin-cgi-graph, if present 
RewriteRule ^/munin/cgi/munin-cgi-graph/(.*) /$1 
RewriteCond %{REQUEST_URI}     !^/static 
RewriteCond %{REQUEST_URI}     .png$ 
RewriteRule ^/(.*) /var/www/html/munin/cgi/munin-cgi-graph/$1 [L] 
ScriptAlias /munin/cgi/munin-cgi-graph /var/www/html/munin/cgi/munin-cgi-graph 
<Location /munin/cgi/munin-cgi-graph> 
     Options +ExecCGI FollowSymLinks 
     <IfModule mod_fcgid.c> 
       SetHandler fcgi-script 
     </IfModule> 
     <IfModule !mod_fcgid.c> 
       SetHandler cgi-script 
     </IfModule> 
</Location> 
ScriptAlias /munin/cgi/munin-cgi-html /var/www/html/munin/cgi/munin-cgi-html 
<Location /munin/cgi/munin-cgi-html> 
     Options +ExecCGI FollowSymLinks 
     <IfModule mod_fcgid.c> 
       SetHandler fcgi-script 
     </IfModule> 
     <IfModule !mod_fcgid.c> 
       SetHandler cgi-script 
     </IfModule> 
</Location> 

: GY cgi "और" cgiurl_graph/Munin/cgi/Munin-cgi-html "/etc/munin/munin.conf में * /etc/httpd/conf/httpd.conf के लिए निम्न जोड़ा गया हालांकि, वह सब कर रही है (और अपाचे को पुन: प्रारंभ), जब मैं http://example.com/munin करने के लिए जाने के बाद, मैं एक 404 त्रुटि मिलता है, और अपाचे त्रुटि लॉग में मैं देख रहा हूँ:

File does not exist: /var/www/html/munin/cgi/munin-cgi-html/munin/index.html 

मैं आशा करती हूं कि मैं सिर्फ याद कर रहा हूँ कुछ स्पष्ट है, लेकिन अभी इस काम को करने के लिए समायोजित करने की आवश्यकता के बारे में मुझे पूरी तरह से नुकसान हो रहा है। धन्यवाद।

उत्तर

1
समस्या

यदि आप एक "स्थान" आधारित सेटअप (बजाय एक VirtualHost की तुलना में ") में विन्यास का उपयोग करें, फिर से लिखना के लिए ध्वज गलत है, है

रूप mod_rewrite दस्तावेज प्रति

:।

L Stop the rewriting process immediately and don't apply any more rules. 

हालांकि, आपके मामले में आप/Munin/cgi/Munin-cgi-एचटीएमएल पारित किया जा करना चाहते हैं ताकि ScriptAlias ​​वास्तव में चलाता है इस प्रकार:।

PT Forces the resulting URI to be passed back to the URL mapping engine for 
    processing of other URI-to-filename translators, such as Alias or Redirect 

आप अपने नियमों को बदलते हैं पढ़ने के लिए

RewriteRule ^/(.*) /munin/cgi/munin-cgi-html/$1 [PT] 
.... 
RewriteRule ^/(.*) /munin/cgi/munin-cgi-graph/$1 [PT] 

सापेक्ष पथ पर ध्यान दें, अन्यथा ScriptAlias ​​काम नहीं करता है।

1

मुझे बिल्कुल वही समस्या थी और मैं थोड़ी देर के लिए संघर्ष कर रहा था, लेकिन अंत में मैं निम्नलिखित कॉन्फ़िगरेशन के साथ आया जो आपको वही करना चाहिए जो आप चाहते हैं।

मेरा सिस्टम उबंटू सर्वर 12.10 है। कुछ कारणों से मेरी स्थिर फाइलें/var/cache/munin/www पर स्थित हैं, मुझे यकीन नहीं है कि यह उबंटू पर मानक है या यह उबंटू 12.04 से मेरे हालिया अपग्रेड के कारण हुआ था।

RewriteEngine On 

    # HTML 
    RewriteRule ^/munin/(.*\.html)?$ /munin/munin-cgi/munin-cgi-html/$1 [PT] 

    # Images 
    RewriteRule ^/munin/munin-cgi/munin-cgi-graph/(.*) /munin/$1 
    RewriteCond %{REQUEST_URI} !^/static 
    RewriteRule ^/munin/(.*.png)$ /munin/munin-cgi/munin-cgi-graph/$1 [L,PT] 

    <Directory /var/cache/munin/www/> 
      Order deny,allow 
      Allow from all 
    </Directory> 

    # Ensure we can run (fast)cgi scripts 
    ScriptAlias /munin/munin-cgi/munin-cgi-graph /usr/lib/cgi-bin/munin-cgi-graph 
    <Location /munin/munin-cgi/munin-cgi-graph> 
      Options +ExecCGI 
      SetHandler fcgid-script 
      Allow from all 
    </Location> 

    ScriptAlias /munin/munin-cgi/munin-cgi-html /usr/lib/cgi-bin/munin-cgi-html 
    <Location /munin/munin-cgi/munin-cgi-html> 
      Options +ExecCGI 
      SetHandler fcgid-script 
      Allow from all 
    </Location> 
0

सुनिश्चित करें कि मुनिन-सीजीआई स्थापित है और निर्भरता: mod_fcgid।

CentOS 7, /etc/httpd/conf.d/munin.conf पर स्थित फ़ाइल कॉन्फ़िगरेशन में कोई विशेष पैरामीटर नहीं जोड़ा गया है।

सम्मान।