Install Xymon

Install Xymon on FreeBSD

Install Xymon server

Install software

cd /usr/ports/net-mgmt/xymon-server/
make install clean
chown xymon /usr/local/www/xymon/server/www
cd /usr/ports/www/lighttpd
make install clean

Config web server

vi /usr/local/etc/lighttpd/modules.conf

"mod_alias",
include "conf.d/cgi.conf"

vi /usr/local/etc/lighttpd/lighttpd.conf

var.server_root = "/usr/local/www/xymon/server/www"
server.document-root = server_root + "/"
#var.vhosts_dir  = server_root + "/vhosts"
alias.url += ( "/xymon/" => server_root + "/" )
alias.url += ( "/xymon-cgi/" => "/usr/local/www/xymon/cgi-bin/" )
alias.url += ( "/xymon-seccgi/" => "/usr/local/www/xymon/cgi-secure/" )
$HTTP["url"] =~ "^/xymon-cgi" {
 cgi.assign = ( ".sh" => "" )
}
$HTTP["url"] =~ "^/xymon-seccgi" {
 cgi.assign = ( ".sh" => "" )
}

Config Xymon

Config Xymon to check itself
vi /usr/local/www/xymon/server/etc/hosts.cfg

127.0.0.1 localhost # bbd http://localhost/

Change MTR count
vi /usr/local/www/xymon/server/etc/xymonserver.cfg

TRACEROUTE="mtr -c 5 -n --report"

Enable trace as default
vi /usr/local/www/xymon/server/etc/tasks.cfg

CMD xymonnet --report --ping --checkresponse --trace

Fix http check not found index

touch /usr/local/www/xymon/server/www/default.htm

Start server

echo 'xymon_server_enable="YES"' >> /etc/rc.conf
echo 'lighttpd_enable="YES"' >> /etc/rc.conf
service xymon-server start
service lighttpd start
tail /var/log/xymon/xymond.log 

Alternate web server(nginx)

Install software

cd /usr/ports/www/nginx
make install clean
cd /usr/ports/www/fcgiwrap/
make install clean

Web server config

server {
         listen 80;
         listen [::]:80;
         server_name xymon;
         index   index.html;
         root /usr/local/www/xymon/server/www;

         location /xymon/ {
                  alias /usr/local/www/xymon/server/www/;
         }
         location /cgi-bin/ {
                  alias  /usr/local/www/xymon/cgi-bin/;
         }
         location /cgi-secure/ {
                  alias  /usr/local/www/xymon/cgi-secure/;
         }

         location ~ ^/.*\.sh$ {
                  gzip off;
                  fastcgi_param SCRIPT_NAME $fastcgi_script_name;
                  fastcgi_param DOCUMENT_ROOT /usr/local/www/xymon/;
                  fastcgi_param REMOTE_USER $remote_user;
                  include fastcgi_params;
                  fastcgi_pass unix:/var/run/fcgiwrap/fcgiwrap.sock;
         }
}

Xymon config

vi xymonserver.cfg

XYMONSERVERCGIURL="/cgi-bin"
XYMONSERVERSECURECGIURL="/cgi-secure"

vi rc.conf

fcgiwrap_enable="YES"
fcgiwrap_user="www"
nginx_enable="YES"

Alternate web server(obhttpd)

Install software

cd /usr/ports/www/obhttpd
make install clean
cd /usr/ports/www/slowcgi/
make install clean

Web server config

vi /usr/local/etc/obhttpd.conf

prefork 1

chroot "/"
logdir "/var/log/"

server "default" {
  listen on * port 8080
  root "/"
  location "/xymon/*" {
    request strip 1
    root "/usr/local/www/xymon/server/www/"
  }
  location "/xymon-cgi/*" {
    request strip 1
    fastcgi socket "/var/run/slowcgi.sock"
    root "/usr/local/www/xymon/cgi-bin/"
  }
  location "/xymon-seccgi/*" {
    request strip 1
    fastcgi socket "/var/run/slowcgi.sock"
    root "/usr/local/www/xymon/cgi-secure/"
  }
}

Xymon config

vi rc.conf

xymon_server_enable="YES"
slowcgi_enable="YES"
slowcgi_flags="-u xymon -p / -s /var/run/slowcgi.sock"
obhttpd_enable="YES"