# gmid > A Gemini server gmid is a full-featured Gemini server written with security in mind. It can serve static files, has an optional FastCGI and proxying support and a rich configuration syntax. gmid also bundles a small gemini client called ‘gg’ (gemini get), a small command-line server for quick testing called ‘gemexp’ and a titan implementation. => gmid.8.MANEXT gmid(8) - Gemini server => gmid.conf.5.MANEXT gmid.conf(5) - gmid configuration file => gg.1.MANEXT gg(1) - gemini client => gemexp.1.MANEXT gemexp(1) - export a directory over Gemini => titan.1.MANEXT titan(1) - Titan client ## Install Some distros provide a package — thanks to the maintainers! => REPOLOGY Repology: packaging status for gmid Otherwise, compile it from source: it’s easy and takes less than a minute on a raspberry pi 3 => GITHUB/releases/download/VERS/gmid-VERS.tar.gz gmid-VERS.tar.gz => https://git.omarpolo.com/?action=summary&path=gmid.git git repository => https://codeberg.org/op/gmid/ Codeberg mirror => GITHUB GitHub mirror The dependencies are: * libevent * LibreSSL or OpenSSL * yacc or GNU bison Once all the dependencies are installed, building is as easy as: ```Example of how to compile from source $ curl -LO GITHUB/releases/download/VERS/gmid-VERS.tar.gz $ tar xzvf gmid-VERS.tar.gz $ cd gmid-VERS $ ./configure $ make $ sudo make install # eventually ``` A SHA256 file is available. However, it only checks for accidental corruption. You can use signify (SHA256.sig and the public key gmid-CURV.pub) to cryptographically verify the downloaded tarball. The signify public key for the next release ‘gmid-NEXTV.pub’ is also included. => GITHUB/releases/download/VERS/SHA256 SHA256 => GITHUB/releases/download/VERS/SHA256.sig SHA256.sig To verify the signatures with signify(1) ```Example of how to verify the signature with signify % signify -C -p gmid-1.8.pub -x SHA256.sig Signature Verified gmid-VERS.tar.gz: OK gmid-CURV.pub: OK gmid-NEXTV.pub: OK ```