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内にあった。そこへリンクを張る。
sudo ln ../mods-available/cgi.load
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.conf。Requre ip 192.168.xxx.0/24のところを、以下のソースコードのように改変した。
あとは「やったこと②」同様、Apache2を再起動して完了。