I’m trying to convert munin’s nginx or apache config using fastcgi to Caddy
This is what I came up with but it doesn’t work -
munin.wrtpoona.in {
rewrite /.* /usr/share/munin/cgi/munin-cgi-html/$1
rewrite {
if {file} is *.html
to {path} {path}/ /usr/share/munin/cgi/munin-cgi-html/$1
}
rewrite /static/.* /etc/munin/static/$1
rewrite {
if {file} is favicon.ico
to {path} {path}/ /etc/munin/static/favicon.ico
}
rewrite /munin-cgi/.* /usr/share/munin/cgi/$1
tls strykar@hotmail.com
log stdout
errors
root /usr/share/munin
fastcgi / unix:/var/run/fcgiwrap.sock {
env SCRIPT_FILENAME /run/munin/fcgi-graph.sock
}
}
munin.wrtpoona.in/munin/static/ {
root /etc/munin/static/
}
munin.wrtpoona.in/munin {
root /usr/share/munin
fastcgi / unix:/var/run/fcgiwrap.sock {
env SCRIPT_FILENAME /run/munin/fcgi-html.sock
}
}
Here are working nginx and apache configs that I am trying to convert -
Apache:
<VirtualHost *:80>
ServerName localhost
ServerAdmin root@localhost
DocumentRoot /srv/http/munin
ErrorLog /var/log/httpd/munin-error.log
CustomLog /var/log/httpd/munin-access.log combined
# Rewrites
RewriteEngine On
# Static content in /static
RewriteRule ^/favicon.ico /etc/munin/static/favicon.ico [L]
RewriteRule ^/static/(.*) /etc/munin/static/$1 [L]
# HTML
RewriteCond %{REQUEST_URI} .html$ [or]
RewriteCond %{REQUEST_URI} =/
RewriteRule ^/(.*) /usr/share/munin/cgi/munin-cgi-html/$1 [L]
# Images
RewriteRule ^/munin-cgi(.*) /usr/share/munin/cgi/$1 [L]
<Directory "/etc/munin/static">
Require all granted
</Directory>
# Ensure we can run (fast)cgi scripts
<Directory "/usr/share/munin/cgi">
Require all granted
Options +ExecCGI
<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Directory>
</VirtualHost>
Nginx:
server {
server_name yourhost.example.com;
listen 80;
access_log /var/log/nginx/munin-access.log;
error_log /var/log/nginx/munin-error.log info;
location ^~ /munin-cgi/munin-cgi-graph/ {
fastcgi_split_path_info ^(/munin-cgi/munin-cgi-graph)(.*);
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/run/munin/fcgi-graph.sock;
include fastcgi_params;
}
location /munin/static/ {
alias /etc/munin/static/;
}
location /munin/ {
fastcgi_split_path_info ^(/munin)(.*);
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/run/munin/fcgi-html.sock;
include fastcgi_params;
}
}
Static web config is working when configured like Convert munin's nginx config to Caddy but that post didn’t get much traction.
FastCGI works with another app (Smokeping) and Caddy, but I’m unable to get it to work with munin -
smokeping.example.com {
log stdout
errors
tls john@example.com
root /srv/http/smokeping
fastcgi / unix:/var/run/fcgiwrap.sock {
env SCRIPT_FILENAME /srv/http/smokeping/smokeping.fcgi.dist
}
}
smokeping.example.com/js {
root /srv/http/smokeping/js
}
smokeping.example.com/css {
root /srv/http/smokeping/css
}
smokeping.example.com/cache {
root /var/cache/smokeping
}
I could use some help