{
  "id": 221176,
  "title": "Setup a simple web server with bozohttpd on NetBSD",
  "url": "https://urgent.news/2026/08/06/setup-a-simple-web-server-with-bozohttpd-on-netbsd",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-06T12:44:26.000Z",
  "source": {
    "name": "Lobsters",
    "slug": "lobsters",
    "url": "https://bozo.httpd.rocks/"
  },
  "original_language": "en",
  "account": "Creating a straightforward web server with bozohttpd on NetBSD is achievable. For those who opt for OpenBSD, httpd.rocks serves as an alternative, while Caddy.ninja offers a similar solution. This guide presumes NetBSD has been installed on your chosen server. If assistance is required for setting up NetBSD on a VPS, refer to the official guide.\n\nMost commands necessitate elevated permissions. Utilizing NetBSD’s priv, install it from packages. Establish a file for your user entry under /usr/pkg/etc/priv/your-username. All examples in this guide will utilize bozo.httpd.rocks as the domain (note the subtle meta reference). Remember to modify this to your desired URL and ensure your DNS records are correctly configured for your chosen domain.\n\nPlace your website files within the appropriate directory. In this guide, we'll place them in /var/www/bozo.httpd.rocks. inetd spawns a new httpd per connection, which reads the certificate files at the start of each request. This isn’t optimal for performance but suits our simple needs. In /etc/inetd.conf, include the following:\n\nRestart bozohttpd on port 80 alone. We won't concern ourselves with TLS at this stage. Begin the web server by reloading inetd, as it's where we invoke it:\n\nFirst, install acme-client from packages:\n\nCreate the necessary directories and subdirectories in the upcoming steps. Edit /usr/pkg/etc/acme-client.conf, remembering to adjust the domain and directory path to match your setup. If everything is set up correctly, new key and pem files should appear. Verify this:\n\nTo set up a cron entry under root, return to the original inetd.conf and enable support for https. Notably, we use the root user for the https instance to avoid issues with the acme-client job performed earlier. Don't worry! If you've completed everything above, create a new key/pem pair named websites to be shared across all hosted domains. Modify the acme-client.conf file to include the \"alternate\" domains, which must be targeted at the shared .well-known directory for each domain. Adjust the existing inetd.conf file and utilize bozohttpd’s -v & -V parameters. Remove the specific https line. After making these changes, restart inetd:\n\nLastly, make adjustments to your /etc/rc.conf file:\n\nCongratulations! You are now hosting multiple websites via bozohttpd.",
  "summary": null,
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}