J'ai récemment acquis un serveur dédié et je dois y déplacer plusieurs référentiels à partir d'un service d'hébergement de contrôle de source. N'ayant pas beaucoup d'expérience dans l'administration de serveurs, je ne sais pas comment l'organiser efficacement. Ce que je recherche -
- sous-domaines svn.host.com, hg.host.com, git.host.com qui seront les racines des différents dépôts, via les clés SSH
- création facile de nouveaux référentiels
- authentification à l'aide de la liste d'utilisateurs unix du serveur, mais avec des autorisations par projet, également accès public en lecture seule facultatif pour certains des référentiels
Malheureusement, tous les termes de recherche que j'essaie sur Google me dirigent vers des solutions hébergées commerciales, et non vers des guides sur la façon de créer les miennes. J'ai besoin de quelque chose comme une solution hébergée simplifiée mais sans avoir besoin que les utilisateurs puissent créer leurs propres référentiels.
Des suggestions, des tutoriels ou des solutions scriptées sur où commencer la recherche? Une solution open source pour une interface administrative pour gérer cela (ou du moins pour certains serait parfait ...
SVN peut être fait avec Apache WebDAV, dans un vhost, en utilisant l'authentification Unix et les propres ACL de subversion au niveau utilisateur. Je ne sais rien de mercurial ou de git, mais j'espère qu'ils pourraient également être connectés à DAV.
la source
Lorsque vous souhaitez utiliser SSH , vous devez essentiellement restreindre les clés en modifiant le
authorized_keys
fichier sur le serveur. Pour Mercurial, les principaux moyens d'y parvenir sont les suivants:Vous pouvez utiliser le
contrib/hg-ssh
script pour restreindre les commandes que les gens peuvent exécuter lorsqu'ils sont connectés avec SSH. Le fichier contient un en-tête pour expliquer comment l'utiliser, mais vous ajoutez essentiellementdevant la clé du
authorized_keys
fichier. Cela restreint la clé afin qu'elle ne puisse être utilisée que pour pousser et tirer vers le référentiel indiqué.Vous pouvez également utiliser l' outil serveur mercurial tiers si vous voulez quelque chose comme gitois . Cela vous permet de gérer les utilisateurs et leurs droits d'accès en modifiant les fichiers dans un référentiel administrateur spécial.
Voir le wiki Mercurial pour d'autres outils similaires pour SSH.
Pour HTTP , il existe
Le
hgweb
script CGI ou WSGI intégré (rapide) fourni avec Mercurial. Cela gère les push et pulls, mais ne permet pas la création de nouveaux référentiels - connectez-vous au serveur pour cela.Le projet tiers RhodeCode . Cela vous donne un frontal Web de type Bitbucket pour Mercurial où vous pouvez configurer les utilisateurs et leurs droits d'accès. Il prend en charge l'authentification LDAP, vous pouvez donc le connecter à votre base de données utilisateur Unix existante.
Consultez la page sur la publication de référentiels pour plus d'informations.
la source
SCM-Manager peut être parfait pour vos besoins:
la source
RhodeCode est un navigateur / outil de gestion de référentiel open source avec un serveur push / pull intégré, LDAP / AD, un système d'autorisations et une recherche en texte intégral.
Vous pouvez le voir en direct ici: http://demo.rhodecode.org/
la source