💾 Archived View for head.baselab.org › guide › aerozine_buster.gmi captured on 2021-12-04 at 18:04:22. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
First as root:
apt update apt install cargo libssl-dev pkg-config
Then as unprivileged user:
git clone https://github.com/slogemann1/aerozine cd aerozine/ cargo build --release cd aerozine init -p myCapsule cd myCaspule/data/ openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:4096 -keyout private.key -out certificate.crt # Fill as you like openssl pkcs12 -export -out profile.pfx -inkey private.key -in certificate.crt # dont forget the password you choose cd ..
Edit `server_settings.json` at least at "domain" (should match the certificate CommonName) and "profile_password" (the same you choose before).
Edit `root/index.gmi` with special content.
Start the server:
/home/your-user/aerozine/target/release/aerozine start
And make a connection to `gemini://localhost/` with a gemini client.
you should see the rendered index page.
If you want Aerozine to act like a system daemon, create `/etc/systemd/system/mycapsule.service` file with this content:
[Unit] Description=Gemini Server After=network.target Documentation=https://github.com/slogemann1/aerozine [Service] Type=simple ExecStart=/usr/bin/sh -c "cd /path/to/myCapsule ; /path/to/aerozine start" ExecStop=/bin/kill $MAINPID PrivateTmp=true Restart=on-abort User=youruser Group=yourgroup [Install] WantedBy=multi-user.target
Test it with
systemctl daemon-reload systemctl restart mycaspule systemctl enable mycaspule
Logs:
- /path/to/myCaspule/log.txt - journalctl -u mycaspule