5

Admittedly I'm a complete Linux newbie. I can just about get an Apache web server up and running but at a complete lost when delving deeper such as setting up permissions and security.

Anyway, I'm looking into simple self hosted solution for centralised GIT repositories, so wanted to check if there's something similar to subversion edge, where all the administration (managing users and repositories) can be done via the web interface.

Is there such a thing to manage a central GIT server? Planning to run the central repository over http(s) with basic authentication (username & password) for each user.

Fixer
  • 5,985
  • 8
  • 40
  • 58
  • 1
    possible duplicate of [Git Server Frustration (Gitosis, Gitolite, etc)](http://stackoverflow.com/questions/5607479/git-server-frustration-gitosis-gitolite-etc) – chx Nov 21 '11 at 06:45
  • Same desire here - a good bundled configuration of git + apache + ssl/tls with ldap / active directory integration would help make git an easy choice for corporate version control in the enterprise. We don't want to grant shell access for users just to have git version control. We also don't want to use local accounts when users already have accounts in our ldap directory. – Mister_Tom Dec 20 '12 at 18:32

3 Answers3

2

I recommend to use gerrit, which covers most of the features you want. It is written in java, and is easy to setup in linux as well.

It was widely used in lots of project like android, eclipse.

Larry Cai
  • 55,923
  • 34
  • 110
  • 156
  • I've set up Gerrit in the past and I believe, unless something's changed, creating new users is all done on the command line: http://review.coreboot.org/Documentation/cmd-create-account.html Plus Gerrit is more about code review than repo management. – Mauvis Ledford Nov 21 '11 at 10:56
1

I don't think Git web admin are popular and using something like gitolite is quite close to being just as easy once you get the hang of it.

Gitolite's config files are hosted in a git repo, so if you know git then you already know how to use Gitolite. It has two folders in the repo. One that contains SSH pub keys of your git users, and the other contains a single conf file that maps which users have access to which repos. Create a repo in the config file, commit it, and push it to the server and a new repo is created for you. It's that easy.

My advice is to not be afraid of the command line and work those muscles - they'll get stronger real quick - especially if you're a web developer and you're dealing with Apache on a headless server. Sure it's obviously hard for you in the beginning but after that it's like butter and you'll grow to actually prefer it, it's fast and direct: No waiting for GUI's to load or dealing with logins, no dealing with crippled functionality that isn't surfaced in the UI version, etc. When you get comfortable with command line you'll be able to automate everything. Make scripts to reboot remote servers, sync files to your CDN and uncache files, etc. Master how Git works (look in the .git folder of a checked out repository), rsync, and how ssh works. I'm not sure about SVN but Git has no concept of security and instead relies on ssh for secure transport.

Mauvis Ledford
  • 40,827
  • 17
  • 81
  • 86
  • I'm serious when i describe to you that my head is spinning, got sore eyes, and a wrist strain after a full week trying to master linux. Will keep attacking it but sometimes you can't beat one-click setups and a nice UI to look at :) – Fixer Nov 21 '11 at 10:30
  • People are suddenly down voting this answer but whatevs. I have a design degree. Don't hate. Just take it a step at a time. One will never master git if they remain tied to UI interfaces - they'll always be slower and out of date; git will aways remain a confusing black box one just "has to deal with" instead of a best friend. And god forbid something go wrong in the git UI and you have to suddenly pop the hood... And gito-lite is seriously easy once installed. It's just a repository you paste SSH keys into with a single conf file. Edit conf. Commit. Push. Done. Your new repo is created. – Mauvis Ledford Jan 12 '12 at 06:32
0

Although this is the 3-year-ago post, if you are still finding some production to manage the central git repositories with authentication, I recommend to use GitLab.

GitLab now has 2 versions you can choose, the Community Edition and the Enterprise Edition. It is very powerful that you just like hosting the GitHub in your host but without any costs.

JasonMing
  • 561
  • 8
  • 16