Hay varios servidores Gemini que se pueden usar en diferentes lenguajes con diferentes características.
=> gemini://gemini.circumlunar.space/software/ Servidores y clientes Gemini
El que usa este servidor es Jetforce escrito en Python
=> https://github.com/michael-lazar/jetforce Jetforce en Github
No es necesario que tengas un VPS exclusivo para Gemini, dado que ocupa pocos recursos. Este VPS tiene como sistema operativo Ubuntu Server 20.04 que es bastante sólido y es con el que se hizo esta guía. Asumo que sabes conectarte a su servidor y que tienes un usuario con privilegios de "sudo". Asegurate de dominar un editor mínimo de texto como vim o nano.
Debes de tener ya un dominio apuntando a la IP de tu VPS, puedes usar un subdominio también. Si no cuentas con uno escríbeme para ayudarte con uno.
Si no ves algo como el siguiente mensaje y obtienes un error, revisa cada paso de nuevo.
```
Generating ad-hoc certificate files...
You are now riding on...
_________ _____________
______ /______ /___ __/_______________________
___ _ /_ _ \ __/_ /_ _ __ \_ ___/ ___/ _ \
/ /_/ / / __/ /_ _ __/ / /_/ / / / /__ / __/
\____/ \___/\__/ /_/ \____//_/ \___/ \___/
An Experimental Gemini Server, v0.9.0
https://github.com/michael-lazar/jetforce
Server hostname is gemini.cuates.net
TLS Certificate File: /tmp/localhost.crt
TLS Private Key File: /tmp/localhost.key
Listening on 127.0.0.1:1965
```
Si vez algo similar a esto, todo esta funcionando correctamente. Con cualquier cliente Gemini, ya deberías poder ver tu servidor.
12] Presiona CTRL+C para terminar el proceso del servidor jetforce
13] Vamos a crear el servicio.
```
sudo vim /etc/systemd/system/jetforce.service
```
13.1] Con el siguiente contenido.
```
[Unit]
Description=Jetforce Server
[Service]
Type=simple
Restart=always
RestartSec=5
Environment="PYTHONUNBUFFERED=1"
ExecStart=/opt/jetforce/bin/jetforce \
--host 0.0.0.0 \
--port 1965 \
--hostname gemini.cuates.net \
--dir /opt/gemini \
[Install]
WantedBy=default.target
```
14] Activa e iniciamos el servicio.
```
sudo systemctl enable jetforce
sudo systemctl start jetforce
```
En este punto ya debe estar tu servidor accesible por cualquier cliente Gemini, al menos los que acepten certificados autofirmados.
Hasta ahora, Jetforce nos crea automáticamente los certificados autofirmados para nuestro servidor Gemini que son perfectamente válidos y reconocidos por la mayoría de los clientes.
En caso de que tu cliente no los acepte, genera un par de certificados para tu dominio como detalle en el siguiente artículo [1]
Entonces, modifica el servicio. Reemplaza DOMINIO por tu dominio.