This example would show you how to install git server(gitolite) on linux server, Let’s begin.

1. System requirements

You must have following system components installed:

git 1.6.6 or later

check git version as follows:

git --version

if git is not installed , you can use:yum install git-core to install git-core on your machine.

perl 5.8.8 or later

check git version as follows:

perl --version

openssh 5.0 or later

check ssh version as follows:

ssh -v localhost

the commands are as follows:

[[email protected] ~]# git --version
git version 1.7.1

[[email protected] ~]# perl --version
This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi

[[email protected] ~]# ssh -v localhost
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

2. Setup a dedicated user id for git server

To install gitolite server, you must have a dedicated git user, let’s assume its name is gituser

  • create the user git user login as root and input commands like these:
	useradd \
        -r \
        -c 'git version control' \
        -d /gituser \
        gituser

Here we create a user named gituser ,whose home directory is /gituser,it should not exist now, Let’s create it.

  • Create the home directory for gituser login as root, and input commands like these:
[[email protected] ~]# mkdir /gituser
[[email protected] ~]# chown gituser:gituser /gituser

Now you have gituser and setup its home directory ,and let’s continue.

3. generate the git key-pair files

Git would use RSA based public-private key files to authenticate each user.So we need to prepare one when install it. If you already have RSA key files, then skip this step, otherwise, you can do as follows:

[[email protected] ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): id_rsa_gitroot
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in id_rsa_gitroot.
Your public key has been saved in id_rsa_gitroot.pub.
The key fingerprint is:
b5:75:33:58:11:f1:5d:0x:6a:66:a4:4e:99:46:8x:e4 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|     ...... +=o .|
|     ....= ..+ o.|
|      F * * o = .|
|       + = o . o |
|        D .      |
|                 |
|                 |
|                 |
|                 |
+-----------------+

[[email protected] ~]# ls -l id_rsa*
-rw------- 1 root root 1675 Feb  2 15:22 id_rsa_gitroot
-rw-r--r-- 1 root root  399 Feb  2 15:22 id_rsa_gitroot.pub

Be care , we use empty password to generate the pub-private files.Download these files to your laptop, Take care of them , not lose them.

4. Install gitolite

Now everything is prepared, let’s begin to install gitolite server now. login as root and input the following commands:

[[email protected] ~]# su - gituser
[[email protected] ~]# cd /gituser
[[email protected] ~]# git clone git://github.com/sitaramc/gitolite
[[email protected] ~]# mkdir -p $HOME/bin
[[email protected] ~]# gitolite/install -to $HOME/bin

If no error message found, then your gitolite server is just ok now , and the last step :

You should upload your id_rsa_gitroot.pub file to /gituser and then do as follows:

[[email protected] ~]# $HOME/bin/gitolite setup -pk id_rsa_gitroot.pub

And now your gitolite server is up and you can open git client in your windows laptop, and clone like this:

git clone ssh://[email protected]:YOUR-SERVER-SSH-PORT/gitolite-admin

Notes: you should firstly add your private ssh-key file to your git client.

You can find detail documents about the gitolite here: