Cgit

From Alpine Linux
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This material is work-in-progress ...

Do not follow instructions here until this notice is removed.
(Last edited by Alacerda on 8 Aug 2014.)

cgit is a CGI-application that was written in C and a web interface for git repositories provides.

Running instance: git.alpinelinux.org

Lighttpd

Make sure that Lighttpd is already installed.

rc-service lighttpd status

You will receive the lighttpd status as stopped or started if it is already installed. If you receive the answer: service `lighttpd' does not exist. issue the command below:

apk add lighttpd

Create a cgit.conf file into the lighttpd directory with the following content:

Contents of /etc/lighttpd/cgit.conf

server.modules += ("mod_redirect", "mod_alias", "mod_cgi", "mod_fastcgi", "mod_rewrite" ) var.webapps = "/usr/share/webapps/" $HTTP["url"] =~ "^/cgit" { server.document-root = webapps server.indexfiles = ("cgit.cgi") cgi.assign = ("cgit.cgi" => "") mimetype.assign = ( ".css" => "text/css" ) } url.redirect = ( "^/git/(.*)$" => "/cgit/cgit.cgi/$1", )

Finally, add the following line to the lighttpd.conf file:

Contents of /etc/lighttpd/lighttpd.conf

include=cgit.conf

cgit

Install cgit

apk add cgit git

Initialize a sample git repository

git init --bare /var/git/sample.git

Edit the /etc/cgitrc file:

vi /etc/cgitrc

And make sure you have at least the following lines:

Contents of /etc/cgitrc

scan-path=/var/git/ enable-git-config=1

Uncomment this line, if you want to store the repository in its own file

include=/etc/cgitrepos

Create the file

touch /etc/cgitrepos

Now add every repository

repo.url=sample
repo.path=/var/git/sample.git
repo.desc=Sample master foo repository
repo.owner=sample@example.com
repo.readme=info/web/about.html

If you want to group your repositories, add the every repository to a group.

repo.group=Sample group