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