Comment installer le serveur subversion

8

Je voudrais installer un serveur Subversion sur ma machine Ubuntu.
De quels forfaits ai-je besoin? Comment créer un référentiel et définir un nouvel utilisateur?

Benjamin
la source
Selon vos besoins, vous pourriez être mieux avec un SCM distribué comme Bazaar (bzr), qui est facile à apprendre provenant de Subversion, mais qui n'a pas besoin d'un serveur en cours d'exécution. C'est génial si vous travaillez seul et que vous avez juste besoin d'un journal et d'un filet de sécurité. Et je dois juste mentionner git, qui est l'outil le plus puissant du marché, à mon humble avis.
Martin Ueding
sudo apt-get install subversion
AMIC MING

Réponses:

10

Il existe de nombreuses configurations pour svn, voici quelques courtes instructions pour obtenir un référentiel svn de base disponible sur http.

  1. Installez les packages requis: apt-get install subversion apache2 libapache2-svn
  2. Créez une structure de répertoire: mkdir -p /var/svn/repos/
  3. Créez un référentiel:
    • cd /var/svn/repos/
    • svnadmin create --fs-type fsfs <your-repository>
  4. Créez maintenant votre Project-Struckture à importer dans le référentiel:
    • mkdir -p /tmp/myproject/trunk /tmp/myproject/tags /tmp/myproject/branches
  5. Importez le projet dans le référentiel:
    • svn import /tmp/myproject file:///var/svn/repos/<your-repository> -m "initial import"
  6. Rendez-le accessible sur http:
    • cd /etc/apache2/sites-available
    • touch subversion.conf
    • vim subversion.conf

Maintenant éditez le fichier vide avec cette configuration:

NameVirtualHost *:80

<VirtualHost *:80>   
  <Location /svn>
      ErrorDocument 404 default
      DAV svn
      SVNParentPath /var/svn/repos
      SVNListParentPath off
      Require valid-user
      AuthType Basic
      AuthName "subversion access"
      AuthUserFile /var/svn/.htpasswd
      AuthzSVNAccessFile /var/svn/authz 
  </Location>
</VirtualHost>
  • activer le module dav_svn pour apache: a2enmod dav_svn
  • activer le module authz_svn pour apache: a2enmod authz_svn
  • activer la configuration VHost: a2ensite subversion.conf
  • maintenant redémarrez le serveur web: /etc/init.d/apache2 restart
  • Créez un htpasswd: htpasswd -c /var/svn/.htpasswd user
  • Créez le fichier de contrôle d'accès pour le référentiel: touch /var/svn/authz
  • éditez le fichier authz vide: vim /var/svn/authz
  • Accordez des droits de lecture / écriture à l'utilisateur:

[votre-référentiel: /]

user = rw

Essayons de vérifier le repo sur http: svn checkout http://your-server/svn/your-repository

Schneehase
la source
1
Je ne peux pas faire la modification car les modifications sont trop petites, mais pourriez-vous corriger la dernière ligne à dire checkoutpar opposition à ceckout?
nanofarad
je ne trouve pas ce paquet libapache2-svn. Erreur: #Lecture des informations d'état ... Terminé E: Impossible de localiser le paquet libapache2-svn Système: ubuntu 12.04 32 bits (tous les référentiels sont
activés
2
Vous devez également activer le module authz_svn, sinon vous obtiendrez Invalid command 'AuthzSVNAccessFile', perhaps misspelled or defined by a module not included in the server configuration. Vous pouvez utiliser la commande a2enmod authz_svnpour ce faire.
mrswadge
2

Commencez à lire le manuel . Je fais actuellement la même chose.

Une fois que vous avez configuré un référentiel avec svnadmin create /path/to/repo, vous pouvez utiliser svnserve --root /path/to/repopour rendre le référentiel disponible sur svn://yourhost/. Ouvrez le port TCP 3690 si nécessaire.

Il est possible d'utiliser SVN sur HTTP, mais je n'ai pas encore lu cette partie: o

Lekensteyn
la source
2

Vous aurez besoin du subversioncolis.

sudo apt-get update
sudo apt-get install subversion

Ce paquet contient le client, les outils pour créer un référentiel Subversion et le serveur.

Octavian A. Damiean
la source
0

Subversion

Subversion est un système de contrôle de version open source.

vous pouvez suivre ce guide sur help.ubuntu.com:

système de contrôle de version

hhlp
la source
0

Voici un article de blog de WANdisco sur la façon d'installer Tortoise SVN 1.7 et de faire votre premier changement de référentiel.

Katie Watkinson
la source
2
Bien que cela puisse théoriquement répondre à la question, il serait préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien de référence.
Kris Harper,
0

Pour installer subversion, ouvrez un terminal et exécutez la commande suivante:

sudo apt-get install subversion libapache2-svn

Nous allons créer le dépôt subversion dans / svn, bien que vous deviez choisir un emplacement qui a une bonne quantité d'espace.

sudo svnadmin create /svn

Changez le propriétaire de ce référentiel en utilisateur Apache.

sudo chown -R www-data:www-data /svn

Créer un référentiel de subversion de base pour une utilisation ultérieure (pour Production / QA / Testing / Stating ../ etc ..)

sudo mkdir -p /tmp/myproject/trunk /tmp/myproject/tags /tmp/myproject/branches

Importez ces répertoires dans notre référentiel

sudo svn import /tmp/myproject file:///svn -m "initial import"

Ensuite, nous devons modifier le fichier de configuration du module subversion webdav. Vous pouvez utiliser un éditeur différent si vous le souhaitez.

sudo gedit /etc/apache2/mods-enabled/dav_svn.conf

L'élément Location du fichier de configuration dicte le répertoire racine à partir duquel subversion sera accessible, par exemple: http://www.server.com/svn

<Location /svn>

La ligne DAV doit être décommentée pour activer le module dav

# Uncomment this to enable the repository,
DAV svn

La ligne SVNPath doit être définie au même endroit où vous avez créé le référentiel avec la commande svnadmin.

# Set this to the path to your repository
SVNPath /svn

La section suivante vous permettra d'activer l'authentification. Il s'agit simplement d'une authentification de base, alors ne la considérez pas comme extrêmement sécurisée. Le fichier de mots de passe sera situé là où le paramètre AuthUserFile le définit sur… probablement le mieux pour le laisser par défaut.

# Uncomment the following 3 lines to enable Basic Authentication
AuthType Basic
AuthName “Subversion Repository”
AuthUserFile /etc/apache2/dav_svn.passwd

Pour créer un utilisateur sur l'utilisation du référentiel, la commande suivante:

sudo htpasswd -cm /etc/apache2/dav_svn.passwd <username>

Notez que vous ne devez utiliser l'option -c que la PREMIÈRE fois que vous créez un utilisateur. Après cela, vous ne voudrez utiliser que l'option -m, qui spécifie le cryptage MD5 du mot de passe, mais ne recrée pas le fichier.

Exemple:

sudo htpasswd -cm /etc/apache2/dav_svn.passwd geek
New password:
Re-type new password:
Adding password for user geek

Redémarrez apache en exécutant la commande suivante:

sudo /etc/init.d/apache2 restart

Merci: http://www.howtogeek.com/howto/ubuntu/install-subversion-with-web-access-on-ubuntu/

Mr Noir
la source