Subversion est un système de suivi de version open source. Il conserve les fichiers dans un référentiel central et fournit un contrôle de version sur les répertoires ou les fichiers. En tant que développeur, vous pouvez extraire des fichiers de projet d'un référentiel, y apporter des modifications et les repousser à nouveau.
Subversion possède également un composant serveur que vous pouvez utiliser pour héberger vos projets. Il fonctionne un peu comme un serveur de fichiers ordinaire.
Comment installer Subversion
Subversion est simple à installer. Vous pouvez utiliser la commande appropriée pour que votre distribution commence :
# Debian, Ubuntu
sudo apt installer subversion apache2 libapache2-mode-svn
# CentOS, Fedora, RHEL
sudo dnf installer subversion apache2 mod_dav_svn
Notez que cette commande a également installe le serveur web Apache2. Vous aurez besoin d'un serveur Web si vous souhaitez accéder au référentiel Subversion via HTTP ou WebDAV. Vous pouvez également utiliser HTTPS, il vous suffira d'installer et de configurer un certificat numérique pour ce faire.
Une fois que vous avez exécuté cette commande, vous pouvez vérifier que la subversion est correctement installée. Vous devriez maintenant être en mesure d'exécuter le svn commande et vous pouvez voir la version actuelle en utilisant la --version option:
Configuration du serveur avec Subversion
Si l'installation s'est bien déroulée, vous pouvez maintenant commencer à travailler sur la configuration du référentiel que vous utiliserez avec svn. Bien sûr, vous devrez créer un nouveau référentiel pour cela. Tout d'abord, créez un dossier dans un répertoire racine pour y placer votre dépôt :
sudo mkdir/subversion
Si vous avez besoin d'accéder à votre référentiel en utilisant WebDAV sur HTTP, vous devrez donner à Apache la propriété de son répertoire. Comme Apache utilise www-données utilisateur par défaut, autorisez cet utilisateur comme suit :
sudo chown www-data: www-data /subversion
Vous pouvez maintenant passer au www-données utilisateur et commencez à travailler sur votre référentiel. La commande que vous utiliseriez pour vous connecter en tant que www-données l'utilisateur est :
sudo su -s /bin/bash www-data
Vous êtes maintenant un utilisateur Apache et après cette étape, vous pouvez créer votre dépôt Subversion comme suit :
svnadmin créer /subversion/myrepo
Vous avez maintenant un dépôt Subversion. Pour rendre ce référentiel un peu plus sécurisé et identifier ses utilisateurs, l'étape suivante consiste à créer un utilisateur et à lui définir un mot de passe. Pour ce faire, utilisez la commande suivante :
htpasswd -cmb /subversion/passwd monadmin monpasse
Selon cette commande, votre nom d'utilisateur sera monadmin et votre mot de passe sera mon passe. Vous pouvez modifier ces valeurs selon ce qui convient à votre situation.
Votre dépôt Subversion est maintenant prêt à être utilisé. A ce stade, vous pouvez quitter le www-données utilisateur en utilisant le sortir commande.
Vous pouvez maintenant envoyer un projet ou un fichier souhaité à votre dépôt en utilisant la commande ci-dessous :
importation sudo svn <votre-adresse-de-projet> fichier:///subversion/mondépôt -m "Première validation"
Cette commande utilise le importer paramètre pour pousser tout ce qui se trouve dans votre dossier de projet vers votre référentiel Subversion. Ce faisant, vous devez ajouter le message de validation avec le -m paramètre.
Utilisation des méthodes d'accès dans Subversion
Vous avez peut-être remarqué que vous utilisez le dossier:// protocole pour ajouter un projet à votre référentiel. Ce n'est qu'un des nombreux protocoles réseau que vous pouvez utiliser pour accéder à un référentiel svn. Vous pouvez également utiliser le protocole WebDAV sur HTTP ou HTTPS, ou le protocole personnalisé de subversion. svn protocole.
Accès direct au référentiel
Comme vous l'avez vu, vous pouvez utiliser le dossier:// protocole pour accéder à un référentiel local. Voici comment vous pouvez extraire un référentiel local dans votre répertoire actuel :
fichier svn co :///subversion/myrepo
Lorsque vous extrayez le référentiel, svn affiche une liste des fichiers qu'il contient :
Accès à l'aide de WebDAV
Pour intégrer votre référentiel Subversion à Apache, vous devrez configurer certains paramètres.
Pour la première étape, activez le dav, dav_svn, et dav_fs modules à l'aide des commandes suivantes :
sudo a2enmod dav dav_fs dav_svn
Après avoir activé les modules requis, vous pouvez maintenant modifier le /etc/apache2/mods-enabled/dav_svn.conf dossier. Créez le fichier s'il n'existe pas déjà et modifiez son contenu comme suit :
<Localisation/sous-version>
DAV svn
SVNPath /subversion/mondépôt
Type d'authentification de base
AuthName "Référentiel Subversion"
AuthUserFile /subversion/passwd
Exiger utilisateur valide
</Location>
La AuthUserFile paramètre fait référence au fichier que vous avez créé précédemment à l'aide htpasswd. L'ajouter ici accordera l'accès au référentiel à tous les utilisateurs nommés dans le fichier, à condition qu'ils s'authentifient avec un mot de passe valide.
Une fois que vous avez créé et enregistré ce fichier, redémarrez le service Apache2 avec la commande suivante :
sudosystemctlredémarrerapache2.service
Désormais, lorsque vous ouvrez un navigateur Web et accédez à http://localhost/subversion/, vous verrez le contenu de votre référentiel. Lorsque vous vous rendrez à cette adresse, il vous sera demandé votre nom d'utilisateur et votre mot de passe :
Connectez-vous avec le nom d'utilisateur (par ex. monadmin) et mot de passe (mon passe) que vous avez configuré précédemment. Vous pouvez accéder à votre référentiel Subversion à l'aide de WebDAV après avoir saisi le nom d'utilisateur et le mot de passe :
Accès avec SSL et WebDAV
La https:// protocole a presque la même configuration que le http:// protocole, avec seulement quelques différences importantes. Pour donner un exemple, le .conf fichier que vous devez utiliser lors de la configuration est différent. Vous devez également installer un certificat numérique. Car comme vous le savez, c'est la logique de fonctionnement du Méthode de cryptage SSL.
Tu peux créer un certificat numérique vous-même, ou vous pouvez en installer un délivré par une autorité compétente. En supposant que vous ayez installé un certificat numérique, ce que vous devez faire est simple.
La différence dans cette étape réside dans les modifications que vous apporterez au fichier de configuration. Vous trouverez ci-dessous un exemple de fichier de configuration pour l'utilisation de SSL et WebDAV :
<Localisation/sous-version>
DAV activé
SSLRequireSSL
Choix Aucun
Type d'authentification de base
AuthName "Référentiel Subversion"
AuthUserFile /subversion/passwd
Exiger utilisateur valide
</Location>
Comme vous pouvez le voir, la différence entre https:// et http:// protocoles n'est pas tant en termes de changements dans le fichier de configuration. Après ces modifications, vous devrez redémarrer le apache2 service. Courir systemctl redémarre apache2.service faire cela.
Pourquoi utiliser Subversion ?
En tant que traqueur de version, Subversion se souvient de chaque modification apportée aux fichiers et aux répertoires. Il vous permet d'accéder aux anciennes versions des logiciels ou des documents avec lesquels vous travaillez et de trouver leurs différences. Cela facilite la gestion des projets, en particulier si votre équipe de développement est importante ou distribuée.
Il existe de nombreux systèmes de contrôle de version pour Linux en dehors de Subversion, que vous voudrez peut-être envisager.