NAME
gmid
—
Gemini server
SYNOPSIS
gmid |
[-fhnVv ]
[-c config]
[-D macro=value]
[-P pidfile] |
DESCRIPTION
gmid
is a simple and minimal gemini server
that can serve static files, talk to FastCGI applications and act as a
gemini reverse proxy.
gmid
rereads the configuration file when
it receives SIGHUP
and reopens log files when it
receives SIGUSR1
.
The options are as follows:
-c
config- Specifies the configuration file. The default is /etc/gmid.conf.
-D
macro=value- Define macro to be set to value on the command line. Overrides the definition of macro in the config file if present.
-f
- Do not daemonize. Stay and log in the foreground.
-h
,--help
- Print the usage and exit.
-n
- Check that the configuration is valid, but don't start the server. If specified two or more time, dump the configuration in addition to verify it.
-P
pidfile- Write daemon's pid to the given location. pidfile
will also act as lock: if another process is holding a lock on that file,
gmid
will refuse to start. -V
,--version
- Print the version and exit.
-v
- Verbose mode.
EXAMPLES
To run gmid
a configuration file and a
X.509 certificate must be provided. A self-signed certificate, which are
commonly used in the Geminispace, can be generated using for e.g.
openssl(1):
# openssl req -x509 -newkey rsa:4096 -nodes \ -keyout /etc/ssl/private/example.com.key \ -out /etc/ssl/example.com.pem \ -days 365 -subj "/CN=example.com" # chmod 600 /etc/ssl/example.com.crt # chmod 600 /etc/ssl/private/example.com.key
Then gmid
can be started with
# gmid -c /etc/gmid.conf
SEE ALSO
ACKNOWLEDGEMENTS
gmid
uses the “Flexible and
Economical” UTF-8 decoder written by Bjoern
Hoehrmann.
AUTHORS
The gmid
program was written by
Omar Polo
<op@omarpolo.com>.
CAVEATS
- All the root directories are opened during the daemon configuration; if a
root directory is deleted and then re-created,
gmid
won't be able to serve files inside that directory until a reload. This restriction only applies to the root directories and not their content. - a %2F sequence is indistinguishable from a literal slash: this is not RFC3986-compliant.
- a %00 sequence is treated as invalid character and thus rejected.