OS : Debian10
Objectif : Installer un serveur web GEMINI
UNDERWORLD.FR est disponible via gémini : gemini://www.underworld.fr
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.... Mais pour moi le Web, c'est acceder à des sites via un navigateur (qualifié de Web ou Internet).
Bref, ici, la convention sera Gemini et Http = WEB = WWW
nginx est un serveur web http servant des pages web (http://monsite.fr/mapage.html) Molly-Brown est un serveur web gemini servant des pages web (gemini://monsite.fr/mapage.gmi)
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
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
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" ]
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
service molly-brown start
Ouvrir le port TCP 1965 vers votre serveur web gémini