Question

Je n'ai jamais utilisé de contrôle de source, même si je comprends le concept. Ce qui me rend confus (et peut-être même pas au courant), c'est quel avantage puis-je obtenir et / ou pourquoi voudrais-je configurer Subversion et Apache? Dois-je le configurer avec Apache pour pouvoir accéder à mes référentiels à partir d'autres ordinateurs via un réseau? N'hésitez pas à fournir d'autres détails que vous jugerez pertinents?

Ma configuration actuelle est un ordinateur portable (Windows XP Professionnel) et une machine virtuelle (Windows XP Professionnel). Sur ma machine virtuelle, j'ai Apache 2.2, MySQL 5 et PHP 5. Cette configuration est ma principale préoccupation, même si je suis heureux d’entendre des exemples / situations qui s'écartent de mon scénario.

Était-ce utile?

La solution

Il n'est pas nécessaire de configurer Subversion avec Apache. J'ai utilisé Subversion pendant des années et je n'ai jamais eu à le faire (bien qu'il y ait des raisons à cela, principalement à cause de l'infrastructure d'authentification). Depuis que vous êtes dans un monde Windows, j'ai constaté que le serveur VisualSVN est hautement recommandé. facile à installer et à utiliser.

Autres conseils

Découvrez la entrée SVNBook: Choix d'une configuration de serveur . Il décrit les avantages et les inconvénients des différentes manières d’accéder à un serveur Subversion.

Le protocole SVN est le plus simple à configurer et à administrer, mais il ne fonctionnera probablement pas avec les pare-feu d'entreprise (mais Apache le fera via HTTP).

Cela peut être utile lorsque le port 3690 doit être fermé. Il permet également aux utilisateurs de parcourir le code à l'aide d'un navigateur qui présente des avantages et des inconvénients. Vous n'avez pas besoin d'un client Subversion pour voir le code, mais un navigateur Web crée un navigateur de référentiel minable.

L'installation n'est pas trop compliquée. J'ai trouvé cette page utile .

Toutefois, si vous ne l'utilisez que dans un environnement de machine virtuelle locale, svnserve vous conviendrait parfaitement.

L’avantage d’héberger votre référentiel SVN via Apache entre en jeu si vous souhaitez des ACL sur votre référentiel.

Vous pouvez configurer l'authentification de base et limiter les autorisations par répertoire (ou par fichier si vous en ressentez le besoin). Par exemple, vous pouvez configurer le référentiel pour autoriser l'extraction d'invité, mais toute écriture dans le référentiel nécessitera un utilisateur valide spécifique.

L'utilisation d'Apache pour authentifier vos utilisateurs signifie que vous n'avez pas à définir vos utilisateurs dans un fichier .htpasswd. Apache peut se connecter à LDAP, à presque tout type de serveur SQL, ou même utiliser l'authentification Kerberos.

L'utilisation du simpliste svnserve pourrait bien suffire. Toutefois, les autorisations détaillées ne peuvent pas être appliquées et vous ne pourrez pas vous connecter à une autre base de données d'utilisateurs pour l'authentification.

Mais d'après votre description, tout ce qui précède peut être exagéré. Les avantages offerts par Apache sont en grande partie inutiles pour un utilisateur unique et ne valent pas la peine.

Je pense que vous voulez bien utiliser le protocole WebDAV pour accéder à votre référentiel SVN. Dans ce cas, vous autorisez essentiellement Apache à gérer l'accès au fichier en tant qu'intermédiaire pour le SVN lui-même (aucune connexion directe au référentiel).

J'ai entendu dire que cela fonctionne plutôt bien, mais il existe plusieurs alternatives. Consultez le livre SVN (consultez Google) pour un point de départ.

Nous utilisons Subversion dans un environnement de petite équipe (6 personnes), en utilisant le référentiel Visual SVN. Au départ, nous n'avions pas de serveur Web Apache, mais uniquement d'IIS, mais maintenant, nous utilisons aussi Apache, mais rien ne justifie l'utilisation d'Apache pour le référentiel.

À l'aide d'Apache, vous pouvez accéder à votre référentiel via WebDAV, c'est-à-dire via HTTP sur un port standard. Vous pouvez ainsi accéder / publier votre référentiel derrière le pare-feu de l'entreprise, par exemple, sans autoriser le svnserve . port.

SVN peut être un système client / serveur, si vous souhaitez partager votre code avec d'autres personnes. Toutefois, si vous souhaitez travailler sur votre code seul (même à partir de plusieurs ordinateurs!), Vous n'avez pas besoin de serveur !

Vous pouvez utiliser la construction file: // - protocol dans presque tous les clients SVN et un référentiel SVN local.

Votre référentiel SVN peut également fonctionner à partir d'un partage réseau. Cependant, vous ne devez utiliser cette approche que si vous travaillez seul!

Vous n'êtes pas obligé d'utiliser Apache. Il existe un serveur personnalisé - svnserve.exe peut être utilisé à la place. Il fonctionne sur le port 3690 par défaut, mais vous pouvez le définir sur un autre port à l'aide du commutateur - port lors de sa configuration.

Greg Hewgill vous a fourni un lien qui vous indiquera la version du serveur Subversion à utiliser et les différents cas d'utilisation. Cela se résume essentiellement à svnserve si vous n'avez pas besoin d'intégrer d'authentification. Utilisez Apache si vous avez besoin de scénarios plus complexes.

J'ai une console commerciale Windows qui gère svnserve. Mon profil a un lien pour voir cet utilitaire. Si vous décidez d'utiliser Apache, je vous recommande d'utiliser le serveur VisualSVN .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top