On Debian 13:
sudo apt update
sudo apt install -y munin munin-node apache2
On RHEL 10:
sudo dnf install -y epel-release
sudo dnf install -y munin munin-node httpd
Edit the main configuration file:
sudo nano /etc/munin/munin.conf
Add or modify the following:
dbdir /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir /var/run/munin
pidfile /var/run/munin/munin-master.pid
# Contact email for alerts
contact.admin.command mail -s "Munin alert" admin@example.com
contact.admin.always_send warning critical
# Local monitoring
[localhost]
address 127.0.0.1
use_node_name yes
Edit the node configuration:
sudo nano /etc/munin/munin-node.conf
Ensure these settings:
log_level 4
log_file /var/log/munin/munin-node.log
pid_file /var/run/munin/munin-node.pid
host_name *
allow ^127\.0\.0\.1$
allow ^::1$
allow ^192\.168\.\d+\.\d+$
port 4949
On Debian 13:
sudo systemctl enable --now munin munin-node apache2
On RHEL 10:
sudo systemctl enable --now munin munin-node httpd
sudo ln -s /etc/munin/apache.conf /etc/apache2/conf-available/munin.conf
sudo a2enconf munin
sudo systemctl restart apache2
Create configuration:
sudo tee /etc/httpd/conf.d/munin.conf >/dev/null <<'EOF'
Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
Require all granted
</Directory>
<Location /munin>
AuthType Basic
AuthName "Munin"
AuthUserFile /etc/munin/munin-htpasswd
Require valid-user
</Location>
EOF
Create admin user:
sudo htpasswd -c /etc/munin/munin-htpasswd admin
Restart Apache:
sudo systemctl restart httpd
List available plugins:
ls /usr/share/munin/plugins/
Enable additional plugins:
sudo ln -s /usr/share/munin/plugins/iptables /etc/munin/plugins/iptables
sudo ln -s /usr/share/munin/plugins/netstat /etc/munin/plugins/netstat
Restart munin-node:
sudo systemctl restart munin-node
munin-node-configure --suggest
munin-run df
On UFW:
sudo ufw allow 80/tcp
sudo ufw allow 4949/tcp
On firewalld:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-port=4949/tcp
sudo firewall-cmd --reload
Open http://SERVER_IP/munin and wait a few minutes for graphs to populate.
sudo apt install -y munin-node
sudo nano /etc/munin/munin-node.conf
Add the Munin server IP to allowed hosts:
allow ^MUNIN_SERVER_IP$
sudo systemctl enable --now munin-node
Add the remote host to /etc/munin/munin.conf:
[remote-host.example.com]
address 192.168.1.100
use_node_name yes
Restart munin:
sudo systemctl restart munin
sudo munin-run --debug
munin-node-configure
See Munin Hardening.
Stuck on a step or need custom configuration? We provide paid consulting for Munin deployments, from single-instance setups to distributed clusters.
📧 office@linux-server-admin.com
🌐 Contact Page
Prefer automation? See Munin Ansible Setup for an example playbook.
Prefer containers? See Munin Docker Setup.
See Munin Configuration for configuration guidance.
See Munin Security for hardening guidance.