Sunday, January 17, 2016

Deploying Bonobo GIT Server on Windows Server 2008 R2

Moving from SVN to GIT, the first thing that I wanted to do was to set up a GIT server on my Windows Server 2008 R2 machine. I chose to use Bonobo GIT which is currently a free and open-source project. Given that Bonobo GIT's installation guide worked well generally, I will only highlight the missing bits in the tutorial, i.e. things which I had to do differently to get things working.

Prerequisites

Before deploying Bonobo GIT Server, the following three components are required:

  1. IIS 7
  2. Microsoft .NET Framework 4.6. I did not have to uninstall my existing .NET framework 3.5.1. On the other hand, .NET Framework 4.5 complained that it or a later update was already installed (even though it was not). Version 4.6 worked fine.
  3. ASP.NET MVC 4. After installation, open a command prompt window as an administrator to run the following command: %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir


Changing ports

If you need to the default IIS web site to listen on a port other than 80:

  1. Right-click on "Default Web Site".
  2. Choose "Edit Bindings".
  3. Click on the row with http type.
  4. Click on the "Edit..." button.
  5. Enter your preferred port number, e.g. 8080.



Installation


  1. Unzip the downloaded Bonobo GIT Server file into your IIS directory, e.g. C:\inetpub\wwwroot.
  2. Give your IIS_IUSRS group permissions to Modify and Write to C:\inetpub\wwwroot\Bonobo.Git.Server\App_Data folder.
  3. Convert Bonobo.Git.Server to Application:
  4. Set the Application Pool to ASP.NET v4.0:
  5. Click on the Test Settings button. You will see the following error:
  6. That error message can be ignored. If you really want to remove that error, you can create a user in the Administrator group and connect as that user. However, I avoided that because it grants unnecessary administrative access.
  7. Instead, go to IIS-Authentication:
  8. Double-click on Authentication:
  9. Click the "Edit ..." link on the right:
  10. Choose Application pool identity and click OK.
  11. Test your deployed GIT server by visiting its home page, e.g. http://localhost/Bonobo.Git.Server/. You may need to append the port number, e.g. http://localhost:8080/Bonobo.Git.Server/
  12. Change your admin password. The default username and password are both admin.