web-dev-qa-db-ja.com

MuninDynazoomがUbuntuで動作しない

最近、Muninを自分のマシンにインストールしました。すべてが機能するようになり、データは実際にグラフに描画されています。 :)

しかし、何らかの理由で、個々のグラフをクリックすると、ダイナゾームページが表示されますが、すべてプレーンテキストで画像はありません:(

これが私のApache.confです:

# Enable this for template generation
Alias /munin /var/cache/munin/www

# Enable this for cgi-based templates
#Alias /munin-cgi/static /var/cache/munin/www/static
#ScriptAlias /munin-cgi /usr/lib/munin/cgi/munin-cgi-html
#<Location /munin-cgi>
#       Order allow,deny
#       Allow from localhost 127.0.0.0/8 ::1
#       AuthUserFile /etc/munin/munin-htpasswd
#       AuthName "Munin"
#       AuthType Basic
#       require valid-user
#</Location>

<Directory /var/cache/munin/www>
        Order allow,deny
        # Allow from localhost 127.0.0.0/8 ::1
        Allow from all
        Options None
        AllowOverride None

        # This file can be used as a .htaccess file, or a part of your Apache
        # config file.
        #
        # For the .htaccess file option to work the munin www directory
        # (/var/cache/munin/www) must have "AllowOverride all" or something 
        # close to that set.
        #

        AuthUserFile /etc/munin/munin-htpasswd
        AuthName "Munin"
        AuthType Basic
        require valid-user

        # This next part requires mod_expires to be enabled.
        #

        # Set the default expiration time for files to 5 minutes 10 seconds from
        # their creation (modification) time.  There are probably new files by
        # that time. 
        #

    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault M310
    </IfModule>

</Directory>

# Enables fastcgi for munin-cgi-html if present
#<Location /munin-cgi>
#    <IfModule mod_fastcgi.c>
#        SetHandler fastcgi-script
#    </IfModule>
#</Location>

#<Location /munin-cgi/static>
#       SetHandler None
#</Location>

# Enables fastcgi for munin-cgi-graph if present
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
        Order allow,deny
        Allow from localhost 127.0.0.0/8 ::1
        # AuthUserFile /etc/munin/munin-htpasswd
        # AuthName "Munin"
        # AuthType Basic
        # require valid-user
        <IfModule mod_fcgid.c>
            SetHandler fcgid-script
        </IfModule>
        <IfModule !mod_fcgid.c>
            SetHandler cgi-script
        </IfModule>
</Location>

ScriptAlias /munin-cgi/munin-cgi-html /usr/lib/munin/cgi/munin-cgi-html
<Location /munin-cgi/munin-cgi-html>
        Order allow,deny
        Allow from localhost 127.0.0.0/8 ::1
        # AuthUserFile /etc/munin/munin-htpasswd
        # AuthName "Munin"
        # AuthType Basic
        # require valid-user
        <IfModule mod_fcgid.c>
            SetHandler fcgid-script
        </IfModule>
        <IfModule !mod_fcgid.c>
            SetHandler cgi-script
        </IfModule>
</Location>

これが機能しなかった理由は何ですか?十分な情報を提供していない場合は、お知らせください。ありがとうございました

13
noahandthewhale

Apache2 cgi(またはcgid)を有効にすると、ダイナゾームが機能します。

Sudo a2enmod cgi; Sudo service Apache2 restart
12
sugatang itlog

Ubuntu14.04でも同じ問題が発生しました。

/var/log/Apache2/error.logをチェックすると、モジュールの欠落についてスクリプトが文句を言っていることがわかりました。

Can't locate CGI/Fast.pm in @INC (you may need to install the CGI::Fast module) (@INC contains: /etc/Perl /usr/local/lib/Perl/5.18.2 /usr/local/share/Perl/5.18.2 /usr/lib/Perl5 /usr/share/Perl5 /usr/lib/Perl/5.18 /usr/share/Perl/5.18 /usr/local/lib/site_Perl) at /usr/lib/munin/cgi/munin-cgi-graph line 36.

この問題を解決するために、CGI :: Fastモジュールをインストールしました。

Sudo apt-get install libcgi-fast-Perl

別の回答に示されているように、書き換えルールは必要ありません。 Ubuntu 14.04のパッケージには、パス名が正しく構成されています。

12
user228505

ermannob の答えに加えて;私のApache2error.logが報告されました

  AH01797: client denied by server configuration: /usr/lib/munin/cgi/munin-cgi-graph

これにより、OS内のファイルのアクセス許可をいじくり回すことができなくなり、Apacheの構成を確認することになりました。必要なのは変更することだけでした

<Location /munin-cgi/munin-cgi-graph>
    Order allow,deny
    Allow from localhost 127.0.0.0/8 ::1
    ...

/etc/Apache2/conf-enabled/munin.confで、

<Location /munin-cgi/munin-cgi-graph>
    Require all granted
    Options FollowSymLinks SymLinksIfOwnerMatch

Fastcgiパッケージをインストールする必要はなく、チュートリアル ここ に従いました。構成をApache.confファイルに直接追加することを提案していますが、conf-enabled/munin.confファイル(/ munin、/ munin-cgi/munin-cgi-graph、および/ munin-cgi /の場合)のアクセス許可を緩和します。 munin-cgi-html)で十分でした。 Apache.confへの変更を省略しました。

8
0_0

Ubuntu 14.04を実行しているときに、/ etc/Apache2/conf-available /munin.confのApache構成を2.2スタイルから2.4に更新することで、自分のサーバーでこれを修正しました。

例:

<Directory /var/cache/munin/www>
Order allow,deny
Allow from localhost 127.0.0.0/8 ::1
....
</Directory>

に変更する必要があります

<Directory /var/cache/munin/www>
# Order allow,deny
# Allow from localhost 127.0.0.0/8 ::1
Require all granted
....
</Directory>

またはあなたがすることができます

Require Host localhost

または

Require ip 127.0.0.0/8 ::8

変更については、Apacheのドキュメントを参照してください ここ 。これに気付いたとき、私はすでにFastCGIとこのスレッドにリストされているPerlモジュールを調べてインストールしていました。この変更は、munin.confに表示されるすべての場所/ディレクトリ領域に対して行う必要があります。

5
Kaiser

Debian8でも同じ問題が発生しました。ファイル/etc/munin/Apache24.confを次のように編集しました。

Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
   Require all granted
   Options FollowSymLinks SymLinksIfOwnerMatch
</Directory>

ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
    Require all granted
    Options FollowSymLinks SymLinksIfOwnerMatch
        <IfModule mod_fcgid.c>
            SetHandler fcgid-script
        </IfModule>
        <IfModule !mod_fcgid.c>
            SetHandler cgi-script
        </IfModule>
</Location>

次に、前述のようにlibapache2-mod-fcgidをインストールしました。

Munin-nodeの再起動後、正常に動作しています。

2
Lars

Munin-cgi-graphの構成部分を変更し、メインセクションと同じ権限を設定する必要があります。構成は次のとおりです。

# Enables fastcgi for munin-cgi-graph if present
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
    Order allow,deny
    Allow from localhost 127.0.0.0/8 ::1
    # AuthUserFile /etc/munin/munin-htpasswd
    # AuthName "Munin"
    # AuthType Basic
    # require valid-user
    <IfModule mod_fcgid.c>
        SetHandler fcgid-script
    </IfModule>
    <IfModule !mod_fcgid.c>
        SetHandler cgi-script
    </IfModule>
</Location>

これに変更します:

# Enables fastcgi for munin-cgi-graph if present
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
    Order allow,deny
    # Allow from localhost 127.0.0.0/8 ::1
    Allow from all
    AuthUserFile /etc/munin/munin-htpasswd
    AuthName "Munin"
    AuthType Basic
    require valid-user
    <IfModule mod_fcgid.c>
        SetHandler fcgid-script
    </IfModule>
    <IfModule !mod_fcgid.c>
        SetHandler cgi-script
    </IfModule>
</Location>

さらに、libcgi-fast-Perlパッケージをインストールして、次のことを行う必要がありました。

Sudo apt-get install libcgi-fast-Perl

チェック中/var/log/Apache2/error.log私を大いに助けてくれました。

1
ermannob

Ubuntu 14.04LTSでも同じ動作を経験しました。その理由は、ダイナゾームページの画像URLが/cgi-bin/munin-cgi-graph/ではなく/munin-cgi/munin-cgi/graph/を誤って使用していたため、このバグを修正するためにコードを探す代わりに、簡単な書き換えルールで回避しました。

RewriteRule ^/cgi-bin/munin-cgi-graph/(.*) /$1

お役に立てれば

私の場合、次の https://bugs.launchpad.net/ubuntu/+source/munin/+bug/1258026 および http://munin-monitoring.org/wiki/MuninConfigurationMasterCGI 動作しました。

唯一の問題のある部分は、Apache仮想ホスト構成をどこに配置するかでした。それを/etc/Apache2/sites-enabled/001-munin.confに配置することが機能することが判明しました。

0