Welcome to the Merecat web server. This is the default landing page for new installations, seeing this means the web server is working and the owner has not set up any pages of their own yet.

About

Merecat started out as a pun at Monoose, but is now useful for actual web serving purposes. However, it is not a real Meerekat, merely another copycat, forked from the great thttpd created by Jef Poskanzer.

The limited feature set makes it very quick. Virtual hosts and the URL-traffic-based throttling are just about its only features. This small footprint makes Merecat very suitable for small and embedded systems, even those smaller than a Raspberry Pi.

Usage

Usage: merecat [OPTIONS] [WEBROOT] [HOSTNAME]

  -c CGI     CGI pattern to allow, e.g. "**", "*.cgi", "/cgi-bin/*"
  -d DIR     Optional DIR to change into after chrooting to WEBROOT
  -g         Use global password file, .htpasswd
  -h         This help text
  -l LEVEL   Set log level: none, err, info, notice*, debug
  -n         Run in foreground, do not detach from controlling terminal
  -p PORT    Port to listen to, default 80
  -r         Chroot into WEBROOT
  -s         Check symlinks so they don't point outside WEBROOT
  -t FILE    Throttle file
  -u USER    Username to drop to, default: nobody
  -v         Enable virtual hosting with WEBROOT as base
  -V         Show Merecat httpd version

The 'WEBROOT' defaults to the current directory and 'HOSTNAME' is only
for virtual hosting, to run one httpd per hostname.  The '-d DIR' is
not needed in virtual hosting mode, see merecat(8) for more information
on virtual hosting
Bug report address: https://github.com/troglobit/merecat/issues

Virtual Hosts

Serving multiple (virtual) hosts from one server, e.g. ftp.example.com, git.example.com, and www.example.com can be a bit of a hassle to set up with other web servers. To do this with merecat, create directories for each host in the web server root:

     /var/www/
       |-- icons/
       |-- cgi-bin/
       |-- errors/
       |    `-- err404.html
       |-- ftp.example.com/
       |-- git.example.com/
       `-- www.example.com/

Then set virtual-host=true in /etc/merecat.conf. Now, the web server root no longer serves files, only the virtual host directories do, execpt for the shared files in icons/ and cgi-bin/

On Linux you can bind mount /srv/ftp and /usr/share/gitweb/ to the above directories to reduce the amount of work needed to set up shared FTP and web access to the same files. In /etc/fstab it can look like this:

/srv/ftp           /var/www/ftp.example.com  none  defaults,bind  0  0
/usr/share/gitweb  /var/www/git.example.com  none  defaults,bind  0  0