Le serveur Ubuntu 20.04 construit le système de contrôle de version SVN

 Conseil : L'environnement système de cet article est : ubuntu-22.04.1-live-server-amd64, différents systèmes et différents numéros de version du système peuvent avoir des méthodes d'installation différentes à certains endroits ;

1. Vérifiez s'il est installé

svnserve --version

Si le système a déjà été installé, désinstallez-le d'abord

sudo apt-get remove --purge subversion

2. Installez SVN

Mettre à jour le système avant l'installation

sudo apt-obtenir la mise à jour

installer la subversion

sudo apt-get install subversion

Créer un dossier de référentiel

sudo mkdir -p /home/svn   # Utilisez /home/svn comme adresse d'entrepôt, le chemin de l'adresse d'entrepôt peut être modifié par vous-même
sudo chmod -R 777 /home/svn   # Modifiez les autorisations, si vous utilisez l'accès utilisateur root, tu n'as pas besoin de changer

Créer un référentiel

svnadmin créer /home/svn/repos   

Remarques : 1. Créez un dépôt de bibliothèque de versions, où repos est le nom de la bibliothèque de versions

            2. La bibliothèque de version est liée au chemin d'accès, ici le nom doit correspondre au chemin d'accès.

                 Tels que : svn://adresse IP/dépôt

Une fois terminé, les fichiers suivants seront générés dans le dossier repos

authz
crochets-env.tmpl
passwd
svnserve.conf

Ensuite, définissez les autorisations sur la base de données

cd /home/svn/dépôt 
chmod -R 777 db

3. Configuration SVN

Définir les autorisations d'accès : vous devez modifier les fichiers dans le dossier conf

vim conf/svnserve.conf


Modifiez simplement quelques configurations :

        #Les utilisateurs anonymes peuvent lire anon-access = read (il est recommandé de passer à none, c'est-à-dire illisible)

        #Les utilisateurs autorisés peuvent écrire auth-access = écrire

        #Le fichier de mot de passe est password-db = passwd

        #Le fichier d'autorisation est authzauthz-db = authz
Remarque : supprimez le # devant et en haut de la grille, sinon une erreur peut être signalée

Modifier le fichier passwd et ajouter des utilisateurs d'accès

vim conf/passwd

[utilisateurs]
# harry = harryssecret
# sally = sallyssecret
xiaoming = 123456

wang = 123456

Modifier les autorisations d'authentification

[groupes]
admin = xiaoming #Administrator user, a les autorisations de lecture et d'écriture les plus élevées

normal = wang #Utilisateur normal, n'a que l'autorisation de lecture
[/] # / représente tous les projets, c'est-à-dire que différents entrepôts ont des autorisations communes
@admin = rw

@normal = r

 Description de cette rubrique

Le [/] ci-dessus signifie autoriser le répertoire racine, c'est-à-dire que les membres du groupe d'utilisateurs ont des autorisations communes pour tous les projets. Si nous voulons définir différentes autorisations pour différents projets, nous pouvons procéder comme suit

[JAVA:/]

Heath = rw //Indique que l'utilisateur Heath a les permissions de lecture et d'écriture sur tout le contenu du projet JAVA

Liu = r //Indique que l'utilisateur Liu n'a qu'un accès en lecture à tout le contenu du projet JAVA

[Python:/]

Ming = rw //Indique que l'utilisateur Ming a les permissions de lecture et d'écriture sur tout le contenu du projet Python

Tao = r //Indique que l'utilisateur Tao n'a qu'un droit de lecture sur tout le contenu du projet Python

La méthode ci-dessus peut garantir que Heath n'a que l'autorisation de lecture et d'écriture du projet JAVA, et n'a aucune autorisation du projet Python, ce qui garantit la sécurité des informations et la sécurité du projet parmi les membres de l'équipe de projet, et facilite la gestion au sein de l'équipe de projet. membres.

4. Démarrez SVN

svnserve -d -r /home/svn

Remarques : 1. Ne démarrez pas svnserve -d -r /home/svn/repos comme ceci

           2. Démarrez le serveur SVN, voici les instructions : -d : signifie s'exécuter en arrière-plan -r : spécifiez le répertoire racine du serveur

5. Fermez SVN

killall svnserve

6. Accéder au SVN

svn://adresse IP/dépôt

svn utilise le port 3690 par défaut

 Vérifiez si svnserve est déjà en cours d'exécution

ps aux | grep svnserve

 7. Testez SVN

 Copier le référentiel :

svn co svn://192.168.6.221:3690/repos --username xiaoming --password 123456

vérifier:

svn checkout svn://192.168.6.221:3690/repos

 Analyse des causes d'échec d'accès :

1. Vérifiez si la configuration est correcte
2. Si le port 3690 est ouvert
3. Si le chemin d'accès est correct

 vérifier le port

Afficher le port de pare-feu réseau 3690 ouvrir
firewall-cmd --list-all

Le port 3690 n'est pas ouvert au monde extérieur, exécutez la commande suivante pour ouvrir
firewall-cmd --zone=public --add-port=3690/tcp --permanent

Rechargez le pare-feu, cette étape est très importante, sinon le port ajouté ne prendra pas effet
firewall-cmd --reload

Afin de protéger la sécurité de l'hôte du serveur, il est recommandé d'ouvrir le pare-feu

 8. Configurez le système pour démarrer automatiquement SVN

Après le redémarrage du système d'exploitation Ubuntu, svnserve doit être démarré manuellement et nous pouvons l'ajouter manuellement à la liste de démarrage du système d'exploitation.


Ajoutez le script de démarrage /etc/init.d/subversion.sh comme suit

#!/bin/bash
svnserve -d -r /home/svn/repos --log-file=/home/svn/svn.log
exit 0

Modifier les propriétés du fichier de script

chmod 755 /etc/init.d/subversion.sh

Utilisez la commande suivante pour connecter le script au répertoire de démarrage

ln -s /etc/init.d/subversion /etc/rc3.d/S03subversion
ln -s /etc/init.d/subversion /etc/rc4.d/S03subversion
ln -s /etc/init.d/subversion / etc/rc5.d/S03subversion

Le résultat est le suivant :


De cette façon, après le redémarrage du système d'exploitation, le service svnserve démarrera automatiquement

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43824829/article/details/127637638
conseillé
Classement