ICTの水たまり

top > 実験と雑記(ブログ) > 2022/01/19 Muninインストール後のセットアップの話

Muninインストール後のセットアップの話

記事の目次

前話

しばらく前にapache2とmunin, munin-nodeをインストールした後、 apache2をすっかり忘れてnginxでmuninを見ようとしたら、apache2があることに気づいた。 その後、ホスト以外の端末でも、家庭内であれば見れるようにしたいと思ったので、それを記事に残す。

環境は、Ubuntu 20.04 上で、Apache2とmunin, munin-nodeが動作している。 Munin (port:4949) と Apache2 (port:80) のポートは、ファイアウォールで許可している状態。

やったこと①

まずApache2の設定を見に行った。Ubuntu 20.04、aptでインストールしたApache2では、 /etc/apache2 に設定ファイル群がある。cd /etc/apache2で移動する。

各ファイルを見ていくと、/etc/apache2/conf-enabled/ に munin.conf があることがわかる。 ls -alしてファイルを抜き出すと、munin.conf -> ../conf-available/munin.conf から、ファイルの実態は別の場所にあることがわかる。

cd ../conf-available/で移動して、もう一度ls -alすると、今度は munin.conf -> ../../munin/apache24.conf となっている。リンク先を追って行こう。

cd ../../muninで移動して、less コマンドでファイルを眺める。

Require localがなんとなく怪しい。調べてみると、これがあると localhost 以外からの 接続にはPermission Deniedを返すらしい。いろいろ調べて、ここを Require ip 192.168.0.0/24などとすると、LAN内部なら誰でも見られる状態となるはずだ。

sudo nano apache24.confなどとしてファイルを書き換え、 sudo systemctl restart apache2でApacheを再起動すると…動いた!

やったこと②

いじっていると、どうもCGIが動いていなさそう。 ブラウザーの開発者ツールを見ると、CGIだけ404が返ってきていた。

Muninの設定ファイルを見ても、ScriptAliasは貼られているので動くはず。 ScriptAliasについて調べると、どうも、mod_cgiモジュールが有効でないといけないらしい。 /etc/apache2/mods_enabled を見ると、なんとCGIの記載が見当たらない! また、他のすべての設定が mods-available内のファイルへのリンクである。

CGI読み込み設定は、mods-available内にあった。そこへリンクを張る。

cd /etc/apache2/mods-enabled
sudo ln ../mods-available/cgi.load

Apache2を再起動して、設定を反映だ!

sudo systemctl restart apache2

試した結果、CGIが動くようになった。

やったこと③

私的都合で引っ越しし、インターネット回線が変わった。Wifiの親機も変えたため、ローカルIPv4アドレスが変わってしまった。 ローカルホスト(127.0.0.1)で見ようとしたら…「Access Denied」。接続元IPの要件を「192.168.xxx.0/24」に設定してしまったから、「127.0.0.1」では見えなくて当然である。

ということで、「ローカルホストのIPアドレス(127.0.0.1)」か「自宅ネットのローカルIPアドレス」なら接続OKにするように変更した。

変更するファイルは、相変わらず、/etc/munin/apache24.confRequre ip 192.168.xxx.0/24のところを、以下のソースコードのように改変した。

変更点
<RequireAny>
    Require ip 192.168.xxx.0/24
    Require local
<RequreAny>

あとは「やったこと②」同様、Apache2を再起動して完了。

参考文献