Subversion , également connu sous le nom de SVN, un système de contrôle de version open source. Il est utilisé pour garder une trace du fichier source et des documents.
Chaque fois que vous modifiez, ajoutez ou supprimez un fichier ou un dossier que vous contrôlez avec Subversion, vous validez ces modifications dans le référentiel Subversion, qui crée une nouvelle révision dans le référentiel reflétant ces modifications.
Chaque fois que vous en avez besoin, vous pouvez toujours revenir en arrière, consulter et obtenir le contenu des révisions précédentes.
Cet article vous aide à configurer SVN sur Debian 9 / Ubuntu 16.04 .
Basculez vers l'utilisateur root.
su -
OU
sudo su -
Installer le serveur Web
mettons d'abord à jour l'index du référentiel.
apt-get update
Ici, nous allons installer le serveur Apache pour accéder au serveur SVN à l'aide d'URL HTTP.
apt-get install -y apache2 apache2-utils
Autoriser Apache à traverser le pare-feu (le cas échéant).
ufw allow 80/tcp ufw reload
Vérifiez le service Apache en visitant l'URL ci-dessous.
http://votre.adresse.ip.ressVous devriez obtenir la page par défaut d'Apache2.
Installer Subversion
Une fois Apache installé, vous pouvez émettre la commande suivante pour installer la sous-version Apache.
### debian ### apt-get install -y subversion subversion-tools libapache2-mod-svn ### ubuntu ### apt-get install -y subversion subversion-tools libapache2-mod-svn libapache2-svn
Configurer Subversion
Une fois l'installation terminée, créez un référentiel selon vos besoins. Ici, je crée /var/lib/svn comme base et je vais y créer un référentiel "testrepo".
mkdir /var/lib/svn
Créez le référentiel appelé "testrepo"
svnadmin create /var/lib/svn/testrepo
Modifiez l'autorisation du référentiel pour permettre à Apache de lire et d'écrire des données dessus.
chown -R www-data:www-data /var/lib/svn/testrepo/
Configurez l'hôte virtuel dans Apache.
nano /etc/apache2/mods-enabled/dav_svn.conf
Placez le contenu suivant.
<Location /svn> DAV svn SVNParentPath /var/lib/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </Location>
Créez un fichier de mots de passe pour l'utilisateur. Remplacez raj par votre nom d'utilisateur .
htpasswd -cm /etc/apache2/dav_svn.passwd raj
Redémarrez le serveur apache.
systemctl restart apache2
Tester Subversion
Accédez au SVN à l'aide d'un navigateur , l'URL sera
http://votre-adresse-ip.ress/svn/testrepoIl vous sera demandé d'entrer le nom d'utilisateur et le mot de passe.
Une fois la connexion réussie, le contenu sera répertorié comme ci-dessous.
Créer un répertoire appelé "checkout"
mkdir checkout
Extrayez les fichiers contenus dans le référentiel dans le répertoire testing. Remplacez raj par votre nom d'utilisateur .
svn checkout http://192.168.1.10/svn/testrepo --username raj checkout/
La sortie sera comme ci-dessous.
Authentication realm: <http://192.168.1.10:80> Subversion Repository Password for 'raj': **** <-- Enter Password ----------------------------------------------------------------------- ATTENTION! Your password for authentication realm: <http://192.168.1.10:80> Subversion Repository can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/root/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? yes <-- Store Password Checked out revision 0.
Créez des fichiers de test pour la validation sur le référentiel testrepo.
cd checkout/ touch checkout1.txt touch checkout2.txt
Ajoutez ces fichiers créés pour la validation.
svn add checkout1.txt checkout2.txt
Sortie :
A checkout1.txt A checkout2.txt
Validez les fichiers ajoutés. Vous pouvez mentionner le message de validation avec un drapeau -m.
svn commit -m 'First Revision'
Sortie :
Adding checkout1.txt Adding checkout2.txt Transmitting file data .. Committed revision 1.
Vous pouvez afficher les fichiers validés dans un navigateur.
C'est tout. Vous pouvez utiliser des clients SVN comme TortoiseSVN pour Windows et Rapidsvn pour Linux.