Home
DIR <- Back # OpenBSD httpd, slowcgi and cgit Last modification on 2021-04-11 HTML This is a guide to get »cgit« working with HTML »OpenBSD httpd(8)« and HTML »slowcgi(8)« in base. OpenBSD httpd is very simple to setup, but nevertheless this guide might help someone out there. ## Installation Install the cgit package: # pkg_add cgit or build it from ports: # cd /usr/ports/www/cgit && make && make install ## Configuration ### httpd HTML An example of »httpd.conf(5)«: TEXT httpd.conf. ### slowcgi By default the slowcgi UNIX domain socket is located at: /var/www/run/slowcgi.sock. For this example we use the defaults. ### cgit The cgit binary should be located at: /var/www/cgi-bin/cgit.cgi (default). cgit uses the $CGIT_CONFIG environment variable to locate its config. By default on OpenBSD this is set to /conf/cgitrc (chroot), which is TEXT /var/www/conf/cgitrc. An example of the cgitrc file is here: »cgitrc«. In this example the cgit cache directory is set to /cgit/cache (chroot), which is /var/www/cgit/cache. Make sure to give this path read and write permissions for cgit (www:daemon). In the example the repository path (scan-path) is set to /htdocs/src (chroot), which is /var/www/htdocs/src. The footer file is set to /conf/cgit.footer. Make sure this file exists or you will get warnings: # >/var/www/conf/cgit.footer Make sure cgit.css (stylesheet) and cgit.png (logo) are accessible, by default: /var/www/cgit/cgit.{css,png} (location can be changed in httpd.conf). To support .tar.gz snapshots a static gzip binary is required in the chroot /bin directory: cd /usr/src/usr.bin/compress make clean && make LDFLAGS="-static -pie" cp obj/compress /var/www/bin/gzip ## Running the services Enable the httpd and slowcgi services to automatically start them at boot: # rcctl enable httpd slowcgi Start the services: # rcctl start httpd slowcgi