Servidor Gemini completo apto para entornos Pubnix o similares de alojamiento compartido, donde los usuarios pueden subir su contenido, pero no tienen acceso al archivo de configuración principal. También es ideal para entornos monousuario, pero su compatibilidad multiusuario lo distingue de muchos otros servidores Gemini. Un servidor Gemini sirve contenido minimalista y ligero al web moderno.
# useradd -M molly
Generar certificados TLS, obligatorios para Gemini; usa un certificado autofirmado para pruebas, reemplazando <tu-dominio>:
# mkdir -p /etc/molly-brown/certs
# openssl req -x509 -newkey rsa:4096 -keyout /etc/molly-brown/certs/gemini.key -out /etc/molly-brown/certs/gemini.crt -days 3650 -nodes -subj "/CN=<tu-dominio>" -addext "subjectAltName = DNS:<tu-dominio>"
# mkdir -p /var/log/molly-brown /var/gemini
Ejemplo de archivo de configura
# nano /etc/molly-brown/molly.conf
Port = 1965
Hostname = "<tu-dominio>"
DocBase = "/var/gemini/"
CertPath = "/etc/molly-brown/certs/gemini.crt"
KeyPath = "/etc/molly-brown/certs/gemini.key"
AccessLog = "/var/log/molly-brown/access.log"
ErrorLog = "/var/log/molly-brown/error.log"
# chown -R molly /var/gemini /etc/molly-brown /var/log/molly-brown
Crear un servicio systemd en
# nano /etc/systemd/system/molly-brown.service
[Unit]
Description=Molly Brown gemini server
After=network.target
[Service]
Type=simple
Restart=always
User=molly
ExecStart=molly-brown -c /etc/molly-brown/molly.conf
[Install]
WantedBy=multi-user.target
# systemctl start molly-brown
# systemctl enable molly-brown
Ahora, colocar archivos .gmi [Gemtext] en /var/gemini/ y acceder vía un cliente Gemini como gemini://<tu-dominio>/.
En un entorno multiusuario, un usuario podría cargar contenido en /var/gemini/users/usuario/ y acceder vía gemini://dominio/~usuario/, sin tocar la config principal.
El comando principal es `molly-brown`, que se ejecuta desde la línea de comandos. Puede funcionar sin archivo de configuración usando valores predeterminados (por ejemplo, sirviendo contenido desde el directorio actual en el puerto 1965), pero para un uso real se recomienda un archivo de config en formato TOML (por ejemplo, `/etc/molly.conf` o `/etc/molly-brown/molly.conf`).