OS : Debian10

Objectif : Installer un serveur GEMINI

UNDERWORLD.FR est disponible via gémini : gemini://www.underworld.fr

0) WWW / WEB / GEMINI / CAPSULE

Alors oui, y a débat. On dit que les pages web c'est que du html via du http, WWW c'est World Wild Web, c'est comme ca que le defini le W3C....

Donc que GEMINI c'est pas "le WEB", c'est "le GeminiSpace"

http -> gemini
html -> gemtext
web -> geminispace
site -> capsule
www -> gem

Du coup, faudra que je trouve un fqdn plus à propos, sans le www.

Nginx est un serveur http servant des pages écrites en html (http://monsite.fr/mapage.html) dans le web sur les internets

Agate est un serveur de capsule gemini servant des pages écrites en gemtext (gemini://monsite.fr/mapage.gmi) dans le geminispace sur les internets

1) Installation d'un serveur (exemple: Molly-Brown)

Pourquoi Molly-Brown? parce qu'apres avoir joué avec Agate, j'ai voulu essayer les Script CGI et d'autres fonctions comme le reverse proxy.

apt-get update && apt-get dist-upgrade

apt install curl git golang

adduser --disabled-login gemini

su - gemini

mkdir /home/gemini/server

mkdir /home/gemini/go

export GOPATH=$HOME/go

go get tildegit.org/solderpunk/molly-brown

mv /home/gemini/go/bin/molly-brown /home/gemini/server/

exit

2) Génération d'un certificat autosigné:

openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout /home/gemini/server/www.underworld.fr.key -out /home/gemini/server/www.underworld.fr.crt

chmod +r /home/gemini/server/www.underworld.fr.crt

chmod +r /home/gemini/server/www.underworld.fr.key

3) Fichier de configuration

vi /home/gemini/server/molly-brown.conf

Y mettre à minima:

Port = 1965
Hostname = "www.underworld.fr"
CertPath = "/home/gemini/server/www.underworld.fr.crt"
KeyPath = "/home/gemini/server/www.underworld.fr.key"
DocBase = "/home/gemini/www.underworld.fr/"
HomeDocBase = "/home/gemini/www.underworld.fr/users"
GeminiExt = "gmi"
CGIPaths = [ "/home/gemini/www.underworld.fr/cgi-bin" ]

4) Créer le lanceur systemd

vi /etc/systemd/system/molly-brown.service

Le fichier doit contenir:

[Unit]
Description=Molly Brown gemini server
After=network.target

[Service]
Type=simple
Restart=always
User=gemini
WorkingDirectory=/home/gemini
ExecStart=/home/gemini/server/molly-brown -c /home/gemini/server/molly-brown.conf

[Install]
WantedBy=multi-user.target

Enfin, activer le lanceur:

systemctl daemon-reload

systemctl enable molly-brown.service

systemctl start molly-brown.service

5) Lancer le serveur

service molly-brown start

6) Ouverture de flux

Ouvrir le port TCP 1965 vers votre serveur web gémini

7) Notes / Recherches

Mes notes sur GEMINI

Installation d'un serveur Gémini - Agate