Recherche de site Web

Comment installer SVN sur des distributions Linux basées sur RHEL


Écrit en langage de programmation C, Apache Subversion, familièrement abrégé en SVN, est un système de contrôle de version gratuit et open source qui assure le suivi des versions historiques. versions des fichiers et des répertoires.

En termes simples, SVN est simplement un outil de suivi de version qui permet aux utilisateurs d'envoyer les modifications apportées aux fichiers à un référentiel qui suit qui a apporté les modifications dans chaque fichier. Le référentiel est similaire à un serveur de fichiers. La différence est qu'il suit les modifications et vous permet de récupérer d'anciennes versions de code ou de sonder l'historique des modifications des fichiers.

Dans cet article, nous nous concentrons sur la façon d'installer SVN sur des distributions Linux basées sur RHEL telles que CentOS, Fedora, Rocky Linux, et AlmaLinux.

Étape 1 : Installer Apache Subversion (SVN) sous Linux

Nous commençons par installer Subversion et ses packages associés, comme indiqué.

sudo dnf install mod_dav_svn subversion

La commande installe également le serveur Web Apache HTTP, s'il n'a pas été installé précédemment. Vous pouvez démarrer Apache et vérifier son état comme suit.

sudo systemctl start httpd
sudo systemctl status httpd

Étape 2 : créer et configurer un référentiel SVN local

Une fois SVN installé, l'étape suivante consistera à créer un référentiel pour stocker les fichiers et le code.

Commencez par créer le répertoire SVN dans lequel vous stockerez le code.

sudo mkdir -p /var/www/svn

Ensuite, accédez au répertoire et créez un référentiel à l'aide de la commande svadmin create :

cd /var/www/svn/
sudo svadmin create demo_repo

Ensuite, attribuez des autorisations au répertoire SVN.

sudo chown -R apache.apache /var/www/svn

Étape 3 : Créer un fichier de configuration Subversion

Nous devons créer un fichier de configuration Subversion.

sudo vim /etc/httpd/conf.d/subversion.conf

Ajoutez les lignes suivantes.

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so


<Location /svn>
   DAV svn
   SVNParentPath /var/www/svn

   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL

      AuthType Basic
      AuthName "Subversion repo"
      AuthUserFile /etc/svn-auth-users
      Require valid-user
   </LimitExcept>
</Location>

Enregistrez les modifications et quittez.

Étape 4 : Créer des utilisateurs Subversion autorisés

L'étape suivante consiste à créer des utilisateurs Subversion, c'est-à-dire des utilisateurs qui seront autorisés à accéder au référentiel Subversion. Pour créer le premier utilisateur, utilisez la commande htpasswd avec l'option -cm. Les mots de passe sont enregistrés dans le fichier /etc/svn-auth-users.

sudo htpasswd -cm /etc/svn-auth-users svnuser1

Pour créer des utilisateurs ultérieurs, omettez l'option -c et utilisez uniquement l'option -m.

sudo htpasswd -m /etc/svn-auth-users svnuser2
sudo htpasswd -m /etc/svn-auth-users svnuser3

Pour appliquer les modifications apportées, redémarrez le serveur Web Apache.

sudo systemctl restart httpd

Étape 5 : configurer le pare-feu et SELinux pour SVN

Configurez le pare-feu pour autoriser le trafic HTTP sur le pare-feu comme suit :

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

De plus, appliquez les règles SELinux suivantes sur le référentiel.

sudo chcon -R -t httpd_sys_content_t  /var/www/svn/demo_repo
sudo chcon -R -t httpd_sys_rw_content_t /var/www/svn/demo_repo

Étape 6 : Accéder à SVN depuis un navigateur

Pour accéder à votre référentiel SVN depuis un navigateur, accédez simplement à l'URL.

http://server-ip/svn/demo_repo

Utiliser le référentiel SVN

Pour commencer à utiliser le référentiel SVN, vous devez créer une copie de travail du référentiel SVN sur votre répertoire de travail actuel à l'aide de la commande svn checkout.

svn checkout URL 

Pour ajouter des fichiers, accédez au répertoire cloné :

cd demo_repo

Créez des fichiers de démonstration :

touch file1.txt file2.txt file3.txt

Ajoutez les fichiers à SVN.

svn add file1.txt file2.txt file3.txt

Validez ensuite les fichiers dans le référentiel comme suit :

svn commit -m "Adding new files" file1.txt file2.txt file3.txt

Authentifiez-vous avec vos informations d'identification et les fichiers seront ajoutés au référentiel.

Vous pouvez le confirmer en revenant au navigateur.

Et ceci conclut notre guide sur la façon d'installer SVN sur RHEL, CentOS, Fedora, Rocky Linux et AlmaLinux.