GoFish (ver 0.27) Freeware GoFish is a Gopher Server that can also function as a Gopher-to-HTTP Gateway. The HTTP feature can be turned off, so GoFish will act as a pure Gopher Server. GoFish is designed with security and low resource usage in mind. This version is for use on modern Amiga computers. ---------------------------------------------------------------------- Documentation from the Unix-based version: GoFish as a Web Server ---------------------- GoFish can be used as a simple web server for static pages. GoFish was able to act as a gopher to http gateway, but has been expanded to support more of the features of a web server. Note that currently, for the web server to work correctly you *must* follow the following rules: 1. No one character directories or file names. 2. Default filename is index.html, not index.htm. 3. Static pages only. No support for CGI, PHP, asp, etc. Running Both a gopher and web server You need two instances of GoFish to support both a gopher and web server. To get the web server running, make a copy of the gofish.conf file. A sample gofish-www.conf is provided. It changes the following entries: * root - point it to the web site * logfile - /var/log/gofish.log * pidfile - /var/run/gofish.pid * port - 80 for http, 81 if you want to try it and already have an http server * is-http - must be 1 for a web server Start the gopher server normally, but point the web server at the new config file. For example: gopherd -d -c /etc/gofish-www.conf Virtual Hosts ------------- To enable virtual hosting, set the following line in the config file: virtual_hosts = 1 The virtual hosting in GoFish works the same as the virtual hosting in thttpd. In the chroot jail, the top level directory contains sub-directories (or links to sub-directories) for all the domains supported. This is an extremely simple but powerful way of handling virtual hosts. Let's say you own the domains bert.net and ernie.net. Bert is really into stamps, so he has a stamps sub-directory under his home directory. The top level directory would look something like this (-> denotes a link): * bert.net/ * ernie.net/ * www.bert.net -> bert.net * www.ernie.net -> ernie.net Notice you need both the www.bert.net and bert.net since users might use either one. If a host is not matched, the user will get a 404 Not Found error. The real power of this scheme comes when Bert's stamp site starts to get really popular (it doesn't hurt that he is pushing it on Sesame Street). He wants to give it it's own top level domain, stamps.bert.net. All he has to do, is put a link in the top level and he is done! * bert.net/ * ernie.net/ * stamps.bert.net -> bert.net/stamps * www.bert.net -> bert.net * www.ernie.net -> ernie.net Other Hints ----------- If you want to access the domains locally, you can add the machine names to the top level directory with appropriate links. Ditto for IP addresses.