| <- Back | |
| # OpenBSD httpd, slowcgi and cgit | |
| Last modification on 2021-04-11 | |
| This is a guide to get »cgit« working with | |
| »OpenBSD httpd(8)« and | |
| »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 | |
| An example of »httpd.conf(5)«: | |
| 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 | |
| /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 |