{
  "created": "2015-12-20T19:57:05Z",
  "hierarchy": [
    {
      "name": "ROOT",
      "type": "folder",
      "uri": "/ROOT"
    },
    {
      "name": "Installing Gitolite on CentOS 7",
      "type": "article",
      "uri": "Installing_Gitolite_on_CentOS_7"
    }
  ],
  "html": "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"UTF-8\"/><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"/><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/><meta name=\"name\" content=\"Nikhil's Personal Wiki\"/><meta name=\"description\" content=\"Installing Gitolite on CentOS 7 – Nikhil's Personal Wiki\"/><meta name=\"author\" content=\"Nikhil Anand\"/><meta name=\"theme-color\" content=\"#ffe9a00\"/><meta property=\"og:title\" content=\"Installing Gitolite on CentOS 7 – Nikhil's Personal Wiki\"/><meta property=\"og:description\" content=\"Installing Gitolite on CentOS 7 – Nikhil's Personal Wiki\"/><meta property=\"og:type\" content=\"website\"/><meta property=\"og:image\" content=\"/img/logo512.png\"/><meta property=\"og:site_name\" content=\"Nikhil's Personal Wiki\"/><link rel=\"og:image\" href=\"/img/logo512.png\"/><link rel=\"icon\" href=\"/img/favicon.png\"/><link rel=\"apple-touch-icon\" href=\"/img/logo192.png\"/><link rel=\"stylesheet\" href=\"/css/styles.css\"/><title>Installing Gitolite on CentOS 7 – Nikhil's Personal Wiki</title><script defer data-domain=\"wiki.nikhil.io\" src=\"https://plausible.io/js/plausible.js\"></script></head><body><noscript>👉 A few things won't work if you have JavaScript disabled.</noscript><div class=\"container article\"><header><nav><ul><li><a href=\"/archive\" class title=\"Archive\"><span>Archive</span></a></li><li><a href=\"/Home\" class title=\"Home\"><span>Home</span></a></li><li><a href=\"/random\" class title=\"See a random article\"><span>Random</span></a></li><li><a href=\"/Installing_Gitolite_on_CentOS_7/raw.txt\" title=\"View Source\"><span>Raw</span></a></li><li><a href=\"/Installing_Gitolite_on_CentOS_7/revisions\" class title=\"View revisions\"><span>Revisions</span></a></li><li><a href=\"/Installing_Gitolite_on_CentOS_7/index.json\" title=\"View JSON Object\"><span>JSON</span></a></li></ul></nav></header><main><article><article-hierarchy><ul><li><a data-entity-type=\"folder\" href=\"/ROOT\" title=\"ROOT\">Root</a></li><li><a data-entity-type=\"article\" href=\"/Installing_Gitolite_on_CentOS_7\" title=\"Installing Gitolite on CentOS 7\">Installing Gitolite on CentOS 7</a></li></ul></article-hierarchy><header><h1>Installing Gitolite on CentOS 7</h1></header><article-content><p>You&rsquo;ll use <em>your</em> public key to administer the gitolite server<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1</a></sup>. I saved mine in <code>/tmp/nikhil.pub</code>.</p>\n<h2 id=\"installation\">Installation</h2>\n<pre><code># Create a gitolite service account and switch to it\nuseradd git\nsu - git\n\n# Create a folder from where gitolite will run ($HOME/bin should be in $PATH)\nmkdir -p $HOME/bin\ngit clone https://github.com/sitaramc/gitolite.git /tmp/gitolite\n\n# Install the gitolite scripts\n/tmp/gitolite/install -to $HOME/bin\n\n# Set up gitolite with your key\ngitolite setup -pk /tmp/nikhil.pub\n\n# That's it! :)\n</code></pre>\n<h2 id=\"administration\">Administration</h2>\n<pre><code># Clone the admin repository\ngit clone git@example.com:gitolite-admin\n\n# Edit the config file to add/edit repositories and permissions\nvim gitolite-admin/conf/gitolite.conf\n\n# Add/remove any keys in the key directory\ncp kathy.pub gitolite-admin/keydir/\n\n# Commit and push. Gitolite will set up remote.\ngit add .\ngit commit -m &quot;Added blah repo&quot;\ngit push\n</code></pre>\n<p>If you see anything weird when cloning the Gitolite admin repository, hose everything and start over:</p>\n<pre><code>rm -rf ~/.gitolite* ~/bin/* ~/projects.list ~/repositories\n</code></pre>\n<h2 id=\"miscellaneous\">Miscellaneous</h2>\n<p>If running SSH on a different port, an SSH config file is your friend. Here&rsquo;s a sample <code>~/.ssh/config</code></p>\n<pre><code>Host gitserver\n    Hostname example.com\n    Port 3574\n    User git\n    # Don't need if using default id_rsa.pub\n    # IdentityFile ~/.ssh/my_key.pub\n</code></pre>\n<p>Then clone with</p>\n<pre><code>git clone gitserver:gitolite-admin\ngit clone gitserver:my-repository\n</code></pre>\n<h2 id=\"footnotes\">Footnotes</h2>\n<div class=\"footnotes\" role=\"doc-endnotes\">\n<hr />\n<ol>\n<li id=\"fn:1\">\n<p>You can simply use <code>~/.ssh/id_rsa.pub</code> in your home folder.<br />\nGenerate with <code>ssh-keygen -t rsa</code>.&#160;<a href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\">&#x21a9;&#xfe0e;</a></p>\n</li>\n</ol>\n</div>\n</article-content></article></main><footer><p></p><ul><li>1,646 bytes</li><li>Created on Sunday, 20 December 2015 at 19:57 UTC</li><li>Modified on Thursday, 28 May 2026 at 13:06 UTC</li><br/><li><a href=\"https://github.com/afreeorange/wiki.nikhil.io.articles/edit/master/Installing Gitolite on CentOS 7.md\" title=\"Edit this article\">Edit this article</a></li><li><a href=\"https://github.com/afreeorange/bock\" title=\"View the project that generates this wiki on Github\"><span>bock 6.3.0-alpha</span></a></li></ul></footer></div><script src=\"/js/table-sort.js\" defer></script><script type=\"text/javascript\">\n        document.body.addEventListener(\n          \"keypress\", (e) => e.key === \"f\"\n          ? window.location.assign(\"/archive\")\n          : null);\n      </script></body></html>",
  "id": "0a309bba-bd3e-5997-9e47-bd913e718fbc",
  "modified": "2026-05-28T13:06:18Z",
  "revisions": [
    {
      "authorEmail": "mail@nikhil.io",
      "authorName": "Nikhil Anand",
      "date": "2026-05-28T13:06:18Z",
      "id": "ff7474d72abf5638fe0ef99f44cbb3a1b3084289",
      "shortId": "ff7474d7",
      "subject": "Formatting fixes -- Claude\n",
      "content": "You'll use *your* public key to administer the gitolite server[^1]. I saved mine in `/tmp/nikhil.pub`.\n\n## Installation\n\n    # Create a gitolite service account and switch to it\n    useradd git\n    su - git\n\n    # Create a folder from where gitolite will run ($HOME/bin should be in $PATH)\n    mkdir -p $HOME/bin\n    git clone https://github.com/sitaramc/gitolite.git /tmp/gitolite\n\n    # Install the gitolite scripts\n    /tmp/gitolite/install -to $HOME/bin\n\n    # Set up gitolite with your key\n    gitolite setup -pk /tmp/nikhil.pub\n\n    # That's it! :)\n\n## Administration\n\n    # Clone the admin repository\n    git clone git@example.com:gitolite-admin\n\n    # Edit the config file to add/edit repositories and permissions\n    vim gitolite-admin/conf/gitolite.conf\n\n    # Add/remove any keys in the key directory\n    cp kathy.pub gitolite-admin/keydir/\n\n    # Commit and push. Gitolite will set up remote.\n    git add .\n    git commit -m \"Added blah repo\"\n    git push\n\nIf you see anything weird when cloning the Gitolite admin repository, hose everything and start over:\n\n    rm -rf ~/.gitolite* ~/bin/* ~/projects.list ~/repositories\n\n## Miscellaneous\n\nIf running SSH on a different port, an SSH config file is your friend. Here's a sample `~/.ssh/config`\n\n    Host gitserver\n        Hostname example.com\n        Port 3574\n        User git\n        # Don't need if using default id_rsa.pub\n        # IdentityFile ~/.ssh/my_key.pub\n\nThen clone with\n\n    git clone gitserver:gitolite-admin\n    git clone gitserver:my-repository\n\n## Footnotes\n\n[^1]: You can simply use `~/.ssh/id_rsa.pub` in your home folder.\n    Generate with `ssh-keygen -t rsa`.\n"
    },
    {
      "authorEmail": "mail@nikhil.io",
      "authorName": "Nikhil Anand",
      "date": "2026-01-13T18:47:28Z",
      "id": "2436477560f26e23d00a24add1cbfeafdca4af78",
      "shortId": "24364775",
      "subject": "No compression\n",
      "content": "You'll use *your* public key to administer the gitolite server[^1]. I\nsaved mine in `/tmp/nikhil.pub`.\n\nInstallation\n------------\n\n    # Create a gitolite service account and switch to it\n    useradd git\n    su - git\n\n    # Create a folder from where gitolite will run ($HOME/bin should be in $PATH)\n    mkdir -p $HOME/bin\n    git clone https://github.com/sitaramc/gitolite.git /tmp/gitolite\n\n    # Install the gitolite scripts\n    /tmp/gitolite/install -to $HOME/bin\n\n    # Set up gitolite with your key\n    gitolite setup -pk /tmp/nikhil.pub\n\n    # That's it! :)\n\nAdministration\n--------------\n\n    # Clone the admin repository\n    git clone git@example.com:gitolite-admin\n\n    # Edit the config file to add/edit repositories and permissions\n    vim gitolite-admin/conf/gitolite.conf\n\n    # Add/remove any keys in the key directory\n    cp kathy.pub gitolite-admin/keydir/\n\n    # Commit and push. Gitolite will set up remote.\n    git add .\n    git commit -m \"Added blah repo\"\n    git push\n\nIf you see anything weird when cloning the Gitolite admin repository,\nhose everything and start over:\n\n    rm -rf ~/.gitolite* ~/bin/* ~/projects.list ~/repositories\n\nMiscellaneous\n-------------\n\nIf running SSH on a different port, an SSH config file is your friend.\nHere's a sample `~/.ssh/config`\n\n    Host gitserver\n        Hostname example.com\n        Port 3574\n        User git\n        # Don't need if using default id_rsa.pub\n        # IdentityFile ~/.ssh/my_key.pub\n\nThen clone with\n\n    git clone gitserver:gitolite-admin\n    git clone gitserver:my-repository\n\nFootnotes\n---------\n\n[^1]: You can simply use `~/.ssh/id_rsa.pub` in your home folder.\n    Generate with `ssh-keygen -t rsa`.\n"
    },
    {
      "authorEmail": "mail@nikhil.io",
      "authorName": "Nikhil Anand",
      "date": "2015-12-27T07:27:56Z",
      "id": "1aa29105a45aa67523ffb61e73bcc415f935a47e",
      "shortId": "1aa29105",
      "subject": "Fix Markdown conversion\n\nSaw half a season of The Office\n",
      "content": "You'll use *your* public key to administer the gitolite server[^1]. I\nsaved mine in `/tmp/nikhil.pub`.\n\nInstallation\n------------\n\n    # Create a gitolite service account and switch to it\n    useradd git\n    su - git\n\n    # Create a folder from where gitolite will run ($HOME/bin should be in $PATH)\n    mkdir -p $HOME/bin\n    git clone https://github.com/sitaramc/gitolite.git /tmp/gitolite\n\n    # Install the gitolite scripts\n    /tmp/gitolite/install -to $HOME/bin\n\n    # Set up gitolite with your key\n    gitolite setup -pk /tmp/nikhil.pub\n\n    # That's it! :)\n\nAdministration\n--------------\n\n    # Clone the admin repository\n    git clone git@example.com:gitolite-admin\n\n    # Edit the config file to add/edit repositories and permissions\n    vim gitolite-admin/conf/gitolite.conf\n\n    # Add/remove any keys in the key directory\n    cp kathy.pub gitolite-admin/keydir/\n\n    # Commit and push. Gitolite will set up remote.\n    git add .\n    git commit -m \"Added blah repo\"\n    git push\n\nIf you see anything weird when cloning the Gitolite admin repository,\nhose everything and start over:\n\n    rm -rf ~/.gitolite* ~/bin/* ~/projects.list ~/repositories\n\nMiscellaneous\n-------------\n\nIf running SSH on a different port, an SSH config file is your friend.\nHere's a sample `~/.ssh/config`\n\n    Host gitserver\n        Hostname example.com\n        Port 3574\n        User git\n        # Don't need if using default id_rsa.pub\n        # IdentityFile ~/.ssh/my_key.pub\n\nThen clone with\n\n    git clone gitserver:gitolite-admin\n    git clone gitserver:my-repository\n\nFootnotes\n---------\n\n[^1]: You can simply use `~/.ssh/id_rsa.pub` in your home folder.\n    Generate with `ssh-keygen -t rsa`.\n"
    },
    {
      "authorEmail": "mail@nikhil.io",
      "authorName": "Nikhil Anand",
      "date": "2015-12-21T02:30:47Z",
      "id": "d658e80d1ecb97b196531c7b15a0f9af709c05de",
      "shortId": "d658e80d",
      "subject": "Incremental\n",
      "content": "You'll use *your* public key to administer the gitolite server[^1]. I\nsaved mine in `/tmp/nikhil.pub`.\n\nInstallation\n------------\n\n    # Create a gitolite service account and switch to it\n    useradd git\n    su - git\n\n    # Create a folder from where gitolite will run ($HOME/bin should be in $PATH)\n    mkdir -p $HOME/bin\n    git clone https://github.com/sitaramc/gitolite.git /tmp/gitolite\n\n    # Install the gitolite scripts\n    /tmp/gitolite/install -to $HOME/bin\n\n    # Set up gitolite with your key\n    gitolite setup -pk /tmp/nikhil.pub\n\n    # That's it! :)\n\nAdministration\n--------------\n\n    # Clone the admin repository\n    git clone git@example.com:gitolite-admin\n\n    # Edit the config file to add/edit repositories and permissions\n    vim gitolite-admin/conf/gitolite.conf\n\n    # Add/remove any keys in the key directory\n    cp kathy.pub gitolite-admin/keydir/\n\n    # Commit and push. Gitolite will set up remote.\n    git add .\n    git commit -m \"Added blah repo\"\n    git push\n\nIf you see anything weird when cloning the Gitolite admin repository,\nhose everything and start over:\n\n    rm -rf ~/.gitolite* ~/bin/* ~/projects.list ~/repositories\n\nMiscellaneous\n-------------\n\nIf running SSH on a different port, an SSH config file is your friend.\nHere's a sample `~/.ssh/config`\n\n    Host gitserver\n        Hostname example.com\n        Port 3574\n        User git\n        # Don't need if using default id_rsa.pub\n        # IdentityFile ~/.ssh/my_key.pub\n\nThen clone with\n\n    git clone gitserver:gitolite-admin\n    git clone gitserver:my-repository\n\nFootnotes\n---------\n\n\n\n\n\n[^1]: You can simply use `~/.ssh/id_rsa.pub` in your home folder.\n    Generate with `ssh-keygen -t rsa`.\n"
    },
    {
      "authorEmail": "mail@nikhil.io",
      "authorName": "Nikhil Anand",
      "date": "2015-12-20T19:57:05Z",
      "id": "ca7ca79333e81662b1409b018e558c9ffdafbe86",
      "shortId": "ca7ca793",
      "subject": "Installing Gitolite on CentOS 7 : v2\n",
      "content": "You'll use *your* public key to administer the gitolite server[^1]. I\nsaved mine in `/tmp/nikhil.pub`.\n\nInstallation\n------------\n\n    # Create a gitolite service account and switch to it\n    useradd git\n    su - git\n\n    # Create a folder from where gitolite will run ($HOME/bin should be in $PATH)\n    mkdir -p $HOME/bin\n    git clone https://github.com/sitaramc/gitolite.git /tmp/gitolite\n\n    # Install the gitolite scripts\n    /tmp/gitolite/install -to $HOME/bin\n\n    # Set up gitolite with your key\n    gitolite setup -pk /tmp/nikhil.pub\n\n    # That's it! :)\n\nAdministration\n--------------\n\n    # Clone the admin repository\n    git clone git@example.com:gitolite-admin\n\n    # Edit the config file to add/edit repositories and permissions\n    vim gitolite-admin/conf/gitolite.conf\n\n    # Add/remove any keys in the key directory\n    cp kathy.pub gitolite-admin/keydir/\n\n    # Commit and push. Gitolite will set up remote.\n    git add .\n    git commit -m \"Added blah repo\"\n    git push\n\nIf you see anything weird when cloning the Gitolite admin repository,\nhose everything and start over:\n\n    rm -rf ~/.gitolite* ~/bin/* ~/projects.list ~/repositories\n\nMiscellaneous\n-------------\n\nIf running SSH on a different port, an SSH config file is your friend.\nHere's a sample `~/.ssh/config`\n\n    Host gitserver\n        Hostname example.com\n        Port 3574\n        User git\n        # Don't need if using default id_rsa.pub\n        # IdentityFile ~/.ssh/my_key.pub\n\nThen clone with\n\n    git clone gitserver:gitolite-admin\n    git clone gitserver:my-repository\n\nFootnotes\n---------\n\n<references/>\n[Category: Nikhil's Notes](Category:_Nikhil's_Notes \"wikilink\")\n[Category: Installation Logs](Category:_Installation_Logs \"wikilink\")\n\n[^1]: You can simply use `~/.ssh/id_rsa.pub` in your home folder.\n    Generate with `ssh-keygen -t rsa`.\n"
    },
    {
      "authorEmail": "mail@nikhil.io",
      "authorName": "Nikhil Anand",
      "date": "2015-12-20T19:57:05Z",
      "id": "9f649f5567faaa2b48fb52e9e9655c9e7b5d5a9a",
      "shortId": "9f649f55",
      "subject": "Installing Gitolite on CentOS 7 : First Draft\n",
      "content": "You'll use *your* public key to administer the gitolite server[^1]. I\nsaved mine in `/tmp/nikhil.pub`.\n\nInstallation\n------------\n\n    # Create a gitolite service account and switch to it\n    useradd git\n    su - git\n\n    # Create a folder from where gitolite will run ($HOME/bin should be in $PATH)\n    mkdir -p $HOME/bin\n    git clone https://github.com/sitaramc/gitolite.git /tmp/gitolite\n\n    # Install the gitolite scripts\n    /tmp/gitolite/install -to $HOME/bin\n\n    # Set up gitolite with your key\n    gitolite setup -pk /tmp/nikhil.pub\n\n    # That's it! :)\n\nAdministration\n--------------\n\n    # Clone the admin repository\n    git clone git@example.com:gitolite-admin\n\n    # Edit the config file to add/edit repositories and permissions\n    vim gitolite-admin/conf/gitolite.conf\n\n    # Add/remove any keys in the key directory\n    cp kathy.pub gitolite-admin/keydir/\n\n    # Commit and push. Gitolite will set up remote.\n    git add .\n    git commit -m \"Added blah repo\"\n    git push\n\nIf you see anything weird when cloning the Gitolite admin repository,\nhose everything and start over:\n\n    rm -rf ~/.gitolite* ~/bin/* ~/projects.list ~/repositories\n\nMiscellaneous\n-------------\n\nIf running SSH on a different port, SSH config files are your friend.\nHere's a sample `~/.ssh/config`\n\n    Host gitserver\n        Hostname example.com\n        Port 3574\n        User git\n        # Don't need if using default id_rsa.pub\n        # IdentityFile ~/.ssh/my_key.pub\n\nThen clone with\n\n    git clone gitserver:gitolite-admin\n    git clone gitserver:my-repository\n\nFootnotes\n---------\n\n<references/>\n[Category: Nikhil's Notes](Category:_Nikhil's_Notes \"wikilink\")\n[Category: Installation Logs](Category:_Installation_Logs \"wikilink\")\n\n[^1]: You can simply use `~/.ssh/id_rsa.pub` in your home folder.\n    Generate with `ssh-keygen -t rsa`.\n"
    }
  ],
  "sizeInBytes": 1646,
  "source": "You'll use *your* public key to administer the gitolite server[^1]. I saved mine in `/tmp/nikhil.pub`.\n\n## Installation\n\n    # Create a gitolite service account and switch to it\n    useradd git\n    su - git\n\n    # Create a folder from where gitolite will run ($HOME/bin should be in $PATH)\n    mkdir -p $HOME/bin\n    git clone https://github.com/sitaramc/gitolite.git /tmp/gitolite\n\n    # Install the gitolite scripts\n    /tmp/gitolite/install -to $HOME/bin\n\n    # Set up gitolite with your key\n    gitolite setup -pk /tmp/nikhil.pub\n\n    # That's it! :)\n\n## Administration\n\n    # Clone the admin repository\n    git clone git@example.com:gitolite-admin\n\n    # Edit the config file to add/edit repositories and permissions\n    vim gitolite-admin/conf/gitolite.conf\n\n    # Add/remove any keys in the key directory\n    cp kathy.pub gitolite-admin/keydir/\n\n    # Commit and push. Gitolite will set up remote.\n    git add .\n    git commit -m \"Added blah repo\"\n    git push\n\nIf you see anything weird when cloning the Gitolite admin repository, hose everything and start over:\n\n    rm -rf ~/.gitolite* ~/bin/* ~/projects.list ~/repositories\n\n## Miscellaneous\n\nIf running SSH on a different port, an SSH config file is your friend. Here's a sample `~/.ssh/config`\n\n    Host gitserver\n        Hostname example.com\n        Port 3574\n        User git\n        # Don't need if using default id_rsa.pub\n        # IdentityFile ~/.ssh/my_key.pub\n\nThen clone with\n\n    git clone gitserver:gitolite-admin\n    git clone gitserver:my-repository\n\n## Footnotes\n\n[^1]: You can simply use `~/.ssh/id_rsa.pub` in your home folder.\n    Generate with `ssh-keygen -t rsa`.\n",
  "title": "Installing Gitolite on CentOS 7",
  "untracked": false,
  "uri": "/Installing_Gitolite_on_CentOS_7",
  "relativePath": "Installing Gitolite on CentOS 7.md"
}
