Apache Subversion est également connu sous le nom de SVN, il s'agit d'un programme de contrôle de version et de révision open source qui aide à stocker les versions de fichiers historiques présentes et passées telles que les documents, les codes source et le Web. pages. SVN est sous licence Apache.
Dans ce didacticiel, nous apprendrons comment installer et configurer SVN sur RHEL 8 et Rocky Linux 8. Ici, les utilisateurs authentifiés seront autorisés à effectuer des opérations d'enregistrement et de paiement sur le référentiel SVN .
Étape 1) Installer SVN et Apache
Les packages SVN et Apache (http) sont disponibles dans les référentiels de packages par défaut de RHEL 8 et Rocky Linux 8. Exécutez la commande dnf suivante pour installer les packages requis,
$ sudo dnf install -y httpd subversion mod_dav_svn
Étape 2) Modifier le fichier de configuration d'Apache Subversion
Créez un fichier ‘/etc/httpd/conf.d/subversion.conf’ et ajoutez-y les lignes suivantes.
$ sudo vi /etc/httpd/conf.d/subversion.conf <Location /svn> DAV svn SVNParentPath /var/www/svn/ AuthType Basic AuthName "SVN Repository" AuthUserFile /etc/svn/svn-auth-accounts Require valid-user </Location>
Les paramètres ci-dessus permettront uniquement aux utilisateurs authentifiés d'utiliser le référentiel SVN.
Étape 3) Créer des utilisateurs SVN via la commande htpasswd
Exécutez la commande ci-dessous pour créer un utilisateur pour SVN via la commande htpasswd,
$ sudo htpasswd -cm /etc/svn-auth-accounts linuxtechi New password: Re-type new password: Adding password for user linuxtechi $
Dans la commande htpasswd ci-dessus, nous avons utilisé '-c' &'-m' options. -c est utilisé pour créer le fichier de mot de passe (/etc/svn-auth-accounts) et -m utilisé pour créer un mot de passe de cryptage MD5 pour l'utilisateur. Pour créer un deuxième utilisateur, supprimez le "-c" de la commande ci-dessus, sinon il écrasera le fichier existant.
$ sudo htpasswd -m /etc/svn-auth-accounts pkumar New password: Re-type new password: Adding password for user pkumar $
Étape 4) Créer un référentiel SVN
Exécutez les commandes suivantes les unes après les autres pour créer votre premier référentiel svn et définir les autorisations requises,
$ sudo mkdir /var/www/svn $ cd /var/www/svn/ $ sudo svnadmin create repo $ sudo chown apache.apache repo/
Remarque :Si SELinux est activé, appliquez les règles selinux ci-dessous en exécutant,
$ sudo chcon -R -t httpd_sys_content_t /var/www/svn/repo/ $ sudo chcon -R -t httpd_sys_rw_content_t /var/www/svn/repo/
Étape 5) Démarrez et activez le service Apache
Exécutez les commandes systemctl ci-dessous pour démarrer et activer le service du serveur Web apache.
$ sudo systemctl start httpd $ sudo systemctl enable httpd
Si le pare-feu est activé sur votre système, autorisez le port suivant en exécutant,
$ sudo firewall-cmd --permanent --zone=public --add-service=http $ sudo firewall-cmd --permanent --zone=public --add-service=https $ sudo firewall-cmd --reload
Étape 6) Accéder au dépôt SVN à partir du navigateur Web
Tapez l'URL suivante dans votre navigateur Web,
http://
Dans le navigateur, remplacez simplement l'adresse IP par l'adresse IP de votre serveur SVN
Étape 7) Désactiver l'accès anonyme sur le référentiel SVN
Modifiez le fichier - /var/www/svn/repo/conf/svnserve.conf, ajoutez les deux lignes ci-dessous
## Disable Anonymous Access anon-access = none ## Enable Access control authz-db = authz
Étape 8) Importer le contenu du répertoire du projet dans le référentiel SVN
Créons notre premier exemple de répertoire de projet et son fichier.
$ mkdir devops $ cd devops/ $ touch testfile_1 ; touch testfile_2 $
Utilisez maintenant la commande SVN pour importer le projet "devops" dans le dépôt. Comme nous avons créé un exemple de projet "devops" sur le serveur svn lui-même. Exécutez donc la commande svn suivante,
$ sudo svn import -m "First SVN Repo" devops file:///var/www/svn/repo/devops Adding devops/testfile_1 Adding devops/testfile_2 Committing transaction... Committed revision 1. $
Vérifiez maintenant depuis le navigateur
Étape 9) Découvrez le projet
Dans mon cas, je souhaite vérifier le projet devops sur mon ordinateur portable Ubuntu à l'aide de la commande SVN. Donc, pour effectuer les opérations de paiement, assurez-vous que le package subversion est installé sur votre système, sinon utilisez la commande "sudo apt install -y subversion" pour installer le package requis.
$ mkdir svn_data $ svn co http://192.168.1.180/svn/repo/devops/ /home/pkumar/svn_data/ --username linuxtechi A svn_data/testfile_1 A svn_data/testfile_2 Checked out revision 1. $
Étape 10) Validation des modifications
Après avoir effectué les modifications requises dans le code du projet, nous pouvons valider les modifications dans les référentiels SVN. Dans mon cas, j'ai créé un fichier supplémentaire dans le dossier linuxproject.
$ cd svn_data/ $ touch testfile_3 $ svn add testfile_3 --username linuxtechi A testfile_3 $ $ svn commit -m "New File addedd" --username linuxtechi Adding testfile_3 Transmitting file data . Committed revision 2. $
Remarque :lors de la validation des modifications, si vous obtenez une erreur ci-dessous
svn :E000013 :Échec de la validation (les détails suivent) :
svn :E000013 :impossible de démarrer une transaction
Ensuite, pour résoudre cette erreur, assurez-vous que l'utilisateur Apache dispose d'un accès en lecture et en écriture à l'ensemble du référentiel.
$ cd /var/www/svn/repo $ sudo chown -R apache:apache * $ sudo chmod -R 664 *
C'est tout de ce didacticiel, veuillez partager vos commentaires et vos questions dans la section des commentaires ci-dessous.