12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- [[!meta date="2014-02-17"]]
- This guide explains how to setup a git server on a home/community server using
- Gitolite and Gitweb, with lighttpd used as the webserver serving anonymous
- HTTP access to the repositories and the Gitweb pages.
- __This guide is written for Gitolite 2. Some things may work differently on
- Gitolite 3, and hopefully the guide will be updated when Partager's server moves
- to Gitolite 3. Anyway, the existing Gitolite 2 material won't be removed, only
- extended.__
- Contents:
- 1. [[!traillink Gitolite_Setup]]
- 2. [[!traillink Gitolite_Configuration]]
- 3. [[!traillink Anonymous_Read_Access_with_Git_Daemon]]
- 4. [[!traillink Web_Interface_using_Gitweb]]
- 5. [[!traillink HTTP_Anonymous_Read_Access]]
- 6. [[!traillink I2P]]
- 7. [[!traillink Mirrors]]
- 8. [[!traillink Summary]]
- 9. [[!traillink Useful_Links]]
- If you already somewhat familiar with these tools and just want a quick list of
- commands to run in order to setup the git server, go to the Summary section.
- Otherwise, the information in the other sections supplies useful information.
- Scenario
- ========
- You decided to start a [free software] project or some other kind of
- collaborative project, and you want to setup a git server which will collect the
- work of the team members and allow them to push their changes and pull others'
- changes. The server should provide authenticated write access and anonymous read
- access, and provide a convenient web interface for browsing the repositories.
- The server should provide fine access control over who can do which changes to
- which repository.
- This document also explains how to route the traffic through I2P, making it
- possible to connect to the server anonymously without revealing your IP. It can
- protect both the server owner's identity and the client's identity, and all
- communications are encrypted. Visit the [I2P website](geti2p.net) for more
- information.
- Some of the examples assume the server is *local*, i.e. you run it from your own
- machine. If this is not the case, i.e. the server is remote, simply replace
- 'localhost' or '127.0.0.1' with your server's IP or domain name where needed.
- You can get remote shell access via SSH, e.g. `ssh joe@mysite.org` and copy
- files remotely using the `scp` command instead of the regular `cp` where needed.
- Features
- ========
- + Fine per-repository access control (Gitolite)
- + Anonymous HTTP repository access and web interface (Gitweb)
- + Web server to serve the HTTP content (lighttpd)
- + Read access via the git protocol (git-daemon)
- + Write access via SSH (openssh-server)
- + I2P acess
- Software Details
- ================
- GNU/Linux distribution used: Debian 7 stable.
- Package versions:
- git................ 1:1.7.10.4-1+wheezy1
- gitolite........... 2.3-1
- lighttpd........... 1.4.31-4+deb7u2
- gitweb............. 1:1.7.10.4-1+wheezy1
- git-daemon-run..... 1:1.7.10.4-1+wheezy1
- git-daemon-sysvinit 1:1.7.10.4-1+wheezy1
- openssh-server..... 1:6.0p1-4
- perl............... 5.14.2-21+deb7u1
- I2P................ 0.9.11
- [free software]: https://www.gnu.org/philosophy/free-sw.html
|