If your system has SELinux enabled, you must enable the httpd_enable_cgi
boolean:
# setsebool -P httpd_enable_cgi 1
Additionally, the git repositories need to be accessible to cgit. This is
handled automatically for repositories in the default path, /var/lib/git
.
If you have created /var/lib/git
manually or have existing content in that
directory, you may need to run restorecon
to reset the SELinux context:
# restorecon -RF /var/lib/git
If your repositories are in a different path, /srv/git
, for example, you can
set the proper context using semanage
:
# semanage fcontext -a -e /var/lib/git /srv/git
This sets the context of /srv/git
equal to the default context of
/var/lib/git
.
If you have other confined daemons that need to access the git repositories,
you may want to use public_content_t
or public_content_rw_t
instead:
# semanage fcontext -a -t public_content_t "/srv/git(/.*)?"
Then use restorecon
to update the contexts:
# restorecon -RF /srv/git