How can I have Github on my own server?

PhpGitGithub

Php Problem Overview


Is there anything out there like Github that is for your own local server? I am curious if there is like a PHP script or even a desktop client that mimics Github's functionality, I love Github but it would be nice to host on my own server.

Apologies if this isn't considered "programming" enough but generally only programmers use GIT and Github


Update

First of all thanks for all the great suggestions, it is great to see there are options out there. From what is posted here and from my googling I can say it looks like the best looking/most alike to Github solutions are coded in Ruby, which is great for some but I am a PHP kind of guy (for now).

Most of the PHP GIT viewers either are outdated and abandoned projects or they just look like crap ( I realize I could fix them up to be more like Github) but I ran across something in PHP that looks promising so far. It is called Glip it is on Github here https://github.com/patrikf/glip and to me it is the most attractive and easy to use solution I have found for PHP so far. For the advanced Git user, it may not be enough but for me, I just wanted to be able to view a git repo and that provides that functionality.

Now my search still continues for the perfect solution, will I ever find it? I hope so but, for now, this is we got. I am considering writing my own, one that is attractive like Github and has other features like an Issue tracker for bug and feature requests. All the ones I have seen so far are not so good

Php Solutions


Solution 1 - Php

There is GitHub Enterprise to satisfy your needs. And there is an open source "clone" of Github Enterprise.

PS: Now Github provides unlimited private repositories, bitbucket does the same. you can give a try to both. There are several other solutions as well.

Solution 2 - Php

I'm quite surprised nobody mentioned the open-source project gogs (http://gogs.io) or a derived fork of it called gitea (http://gitea.io) which basically offers the same what gitlab does, but with minimal system resources (low footprint), being perfect to run in a Raspberry Pi for example. Installation and maintenance is also way simpler.

Solution 3 - Php

You have a lot of options to run your own git server,

  1. Bitbucket Server

    Bitbucket Server is not free, but not costly. It costs you one time only(10$ as of now). Bitbucket is a nice option if you want a long-lasting solution.

  2. Gitea (https://gitea.io/en-us/)

    Gitea it's an open-source project. It's cross-platform and lightweight. You can use it without any cost. originally forked from Gogs(http://gogs.io). It is lightweight code hosting solution written in Golang and released under the MIT license. It works on Windows, macOS, Linux, ARM and more.

  3. Gogs (http://gogs.io)

    Gogs is a self-hosted and open source project having around 32k stars on github. You can set up the Gogs at no cost.

  4. GitLab (https://gitlab.com/)

    GitLab is a free, open-source and a web-based Git-repository manager software. It has a wiki, issue tracking, and other features. The code was originally written in Ruby, with some parts later rewritten in Golang. GitLab Community Edition (CE) is an open-source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more. Self-host GitLab CE on your own servers, in a container, or on a cloud provider.

  5. GNU Savannah (https://savannah.gnu.org/)

    GNU Savannah is free and open-source software from the Free Software Foundation. It currently offers CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, mailing list, web hosting, file hosting, and bug tracking services. However, this software is not for new users. It takes a little time to setup and masters everything about it.

  6. GitPrep (http://gitprep.yukikimoto.com/)

    GitPrep is Github clone. you can install portable GitHub system into UNIX/Linux. You can create users and repositories without limitation. This is free software.

  7. Kallithes (https://kallithea-scm.org/)

    Kallithea, a member project of Software Freedom Conservancy, is a GPLv3'd, Free Software source code management system that supports two leading version control systems, Mercurial and Git, and has a web interface that is easy to use for users and admins. You can install Kallithea on your own server and host repositories for the version control system of your choice.

  8. Tuleap (https://www.tuleap.org/)

    Tuleap is a Software development & agile management All-in-one, 100% Open Source. You can install it on docker or CentOS server.

  9. Phacility (https://www.phacility.com/)</s>

    Phabricator is open source and you can download and install it locally on your own hardware for free. The open source install is a complete install with the full featureset.

Solution 4 - Php

Gitlab has made their service available to run on your own server for free. https://about.gitlab.com/downloads/

Solution 5 - Php

There are some open source alternatives:

Solution 6 - Php

you should check out this one: http://gitlist.org/.

It is written in PHP as you wanted it to be.

Solution 7 - Php

If you must have GitHub, there is the enterprise version as already mentioned.

If you want to look for alternatives for running a central git server for your company, you can try Gitolite.

https://github.com/sitaramc/gitolite<br> https://github.com/sitaramc/gitolite/wiki/

Solution 8 - Php

I searched for git PHP implementations too, but with no results. The only way to re-create a site similar to GitHub is to setup a "real" git server on your own server and then use a PHP git web client like http://www.xiphux.com/programming/gitphp/.

Unfortunatly, you can forget to do this with a hosting solution. You need a real virtual server where you can install everything you want.

However, if you need a place where store some personal, non-public, non-accessible-to-everyone code for a project, you can try BitBucket. It offers private and private-shared git repos for free.

Solution 9 - Php

Yes, there's GitHub Enterprise :)

https://enterprise.github.com

Only problem is it's a bit pricey :(

Solution 10 - Php

Atlassian's Stash (Now called BitBucket Server) is getting there to being a good Github Enterprise alternative. I'm a bit of a JIRA whore so I like the integrations you have with that.

Solution 11 - Php

I tried gitosis that is fully command line. And I chose this one.

Being a Java guy, I also looked with interest to Gitblit.

Solution 12 - Php

What features in github are you looking for?

If you don't want the collaboration, pull requests etc. but just want your own repositories to be viewable, git instaweb will create something for you.

Solution 13 - Php

Solution 14 - Php

The Community Edition lacks many import features like hooks. I recommend gerrit. It is light-weighted and open-source.

Solution 15 - Php

You can run Git (not the whole Github) via Apache HTTP Server, so that you host the Git repo on your server's filesystem and expose it via HTTP. You get all Git functionalities, but obviously you won't be able to pull-request or track issues. Any tool attached to your self-hosted Git repo can implement the rest of the features.

Reference: http://git-scm.com/docs/git-http-backend

Solution 16 - Php

Also you can install Trac. It's more than a Git server, it has other feature like tickets management and project management. Also it has the possiblity to extend it through plugins.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJasonDavisView Question on Stackoverflow
Solution 1 - PhpmanojldsView Answer on Stackoverflow
Solution 2 - PhpmarcView Answer on Stackoverflow
Solution 3 - PhpKiran ManiyaView Answer on Stackoverflow
Solution 4 - Phpscott-joeView Answer on Stackoverflow
Solution 5 - PhpRyanWilcoxView Answer on Stackoverflow
Solution 6 - PhpDaniel M. MeloView Answer on Stackoverflow
Solution 7 - PhpPablo MaurinView Answer on Stackoverflow
Solution 8 - Phplorenzo-sView Answer on Stackoverflow
Solution 9 - PhpStuart GolodetzView Answer on Stackoverflow
Solution 10 - PhpgrumpasaurusView Answer on Stackoverflow
Solution 11 - PhpLuigi R. ViggianoView Answer on Stackoverflow
Solution 12 - PhpNoufal IbrahimView Answer on Stackoverflow
Solution 13 - PhpPhill PaffordView Answer on Stackoverflow
Solution 14 - Phpclark.liView Answer on Stackoverflow
Solution 15 - Phpusr-local-ΕΨΗΕΛΩΝView Answer on Stackoverflow
Solution 16 - PhpWerner FarukView Answer on Stackoverflow