Apache Subversion , également connu sous le nom de SVN, un système de contrôle de version open source qui est utilisé pour garder une trace du fichier source et des documents.
Chaque fois que vous ajoutez, supprimez ou modifiez un fichier ou un dossier que vous contrôlez avec subversion, vous validez ces différences dans le référentiel subversion, qui crée une nouvelle révision dans le référentiel subversion reflétant ces modifications.
A tout moment, vous pouvez revenir en arrière, visualiser et récupérer le contenu des révisions précédentes.
Cet article vous aide à installer Apache SVN sur Ubuntu 18.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 update
Ici, nous allons installer le serveur Apache pour accéder au serveur SVN à l'aide d'URL HTTP.
apt install -y apache2 apache2-utils
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 la sous-version d'Apache
Une fois Apache serveur Web est installé, vous pouvez continuer et installer Apache subversion .
apt -y install subversion subversion-tools libapache2-mod-svn
Configurer la sous-version d'Apache
Maintenant, créez un référentiel selon vos besoins. Ici, je crée /opt/svn comme base et y créerai un dépôt "testrepo".
mkdir /opt/svn
Créez le référentiel appelé "testrepo ”.
svnadmin create /opt/svn/testrepo
Modifiez l'autorisation du référentiel afin qu'Apache puisse lire et écrire des données dessus.
chown -R www-data:www-data /opt/svn/testrepo/
Configurez un hôte virtuel dans Apache pour SVN.
nano /etc/apache2/mods-enabled/dav_svn.conf
Placez le contenu suivant.
<Location /svn> DAV svn SVNParentPath /opt/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 la sous-version d'Apache
Accéder au SVN Apache à l'aide d'un navigateur .
http://votre-adresse-ip.ress/svn/testrepoAuthentifiez-vous avec le nom d'utilisateur et le mot de passe.
Une fois la connexion réussie, vous obtiendrez la page comme ci-dessous.
Créez un répertoire appelé "checkout ”.
mkdir checkout
Extrayez les fichiers contenus dans le répertoire vers le référentiel de test. 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 ajouter des messages 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.
Vous pouvez utiliser des clients SVN comme TortoiseSVN pour Windows et RapidSVN pour Linux pour gérer les révisions.
C'est tout.