💾 Archived View for jsreed5.org › log › 2021 › 202102 › 20210228-learning-with-gophernicus.gmi captured on 2023-11-04 at 12:27:13. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2021-12-04)
-=-=-=-=-=-=-
---
I enjoy tinkering with computers and technology, but in all honesty, I don't consider myself very good at it. I always need to look up guides, try to remember how to make configuration changes I've made a dozen times before, or go back to documentation on some obscure blog to figure out how to make a change. But the best way to learn is by doing, so I try to troubleshoot problems myself as much as I can.
I decided on Friday to try to set up my own Gopher server. I dug out an old Raspberry Pi 1B, put a FreeBSD image on it, and downloaded the source code for Gophernicus. The installation went smoothly, but when I tried to run the server, I found that the settings inetd was passing to Gophernicus were being ignored. I
had to change the OS hostname to the internal IP address of the Pi just to be able to access anything other than the home page.
This perplexed me, and I dug through as much Gophernicus documentation as I could find to try to solve the problem. Nothing bore fruit. It was only after I began to look through more extensive documentation of inetd in the FreeBSD manual pages that I discovered the problem.
When specifying services to run with inetd, one field in inetd.conf is used for server program arguments. The documentation mentions that the arguments start with argv[0], which is usually the name of the program--in this case "gophernicus". During installation, gophernicus did not add the program name to this field in inetd.conf, and the specified arguments were thus not called. Simply adding "gophernicus" to the start of the field fixed the issue.
Because I so often rely on help to solve issues, I tend to underestimate my own ability to figure out problems. I felt quite proud of the fact that I was able to figure out and solve this issue on my own. I know there's no shame in asking for help, and in fact much of IT administration involves referencing work done by someone else, but sometimes I need a confidence boost.
The Gopher server is live and publicly accessible, though at time of writing, I haven't added or migrated any content to it yet.
---
[Last updated: 2021-10-28]