Présentation
Subversion (ou SVN) est un système de contrôle de version de logiciel open source utilisé pour maintenir et suivre les modifications apportées au code logiciel. Cet article vous guidera tout au long du processus de configuration d'un serveur SVN sur CentOS 7 accessible depuis votre ordinateur local. Enfin, nous testerons ce serveur en créant un exemple de projet sur un client SVN.
Prérequis
- Une installation CentOS 7 existante. Si vous avez besoin d'aide pour configurer CentOS 7, consultez notre tutoriel pour la configuration initiale de CentOS 7.
- Une connaissance de base de la ligne de commande Linux
Installer SVN
La première étape pour faire fonctionner votre serveur consiste à installer SVN. Sur CentOS, cela se fait plus facilement en utilisant le yum
directeur chargé d'emballage. Exécutez la commande suivante pour installer SVN :
sudo yum install subversion
Appuyez sur y
, lorsque vous y êtes invité, pour confirmer votre installation. Une fois terminé, vous devriez voir "Complete!" dans l'aérogare. Pour vérifier l'installation, exécutez la commande suivante :
svn --version
S'il est correctement installé, vous verrez un court message qui donne les détails de la version et les informations de copyright pour votre installation SVN.
.
Création d'un référentiel
Avant de pouvoir commencer à utiliser SVN, vous devrez décider de la structure dont vous aurez besoin pour vos référentiels. Pour les petites équipes ou pour un usage personnel, un référentiel devrait suffire. Si vous avez besoin de plusieurs référentiels, vous devez répéter cette section pour chaque référentiel dont vous avez besoin. Exécutez la commande suivante pour créer un répertoire de système de fichiers dans /srv/svn
pour le référentiel.
sudo mkdir /srv/svn
Ensuite, initialisez le référentiel à l'aide de svnadmin
commande :
sudo svnadmin create /srv/svn
Cette commande crée la structure de dossiers nécessaire pour un référentiel SVN et quelques fichiers par défaut.
.
Configuration du serveur
Il existe de nombreuses options pour exécuter le serveur SVN. Pour ce tutoriel, nous utiliserons le svnserve
intégré , qui est très facile à démarrer. Cette option conviendra à la plupart des équipes qui n'ont pas besoin d'options avancées.
.
Créer des utilisateurs
cd /srv/svn/conf sudo nano svnserve.conf
Dans ce fichier, nous allons ajouter deux propriétés. Le premier est password-db
qui pointe vers le fichier où seront stockés les utilisateurs. Le deuxième est realm
, que vous pouvez considérer comme "l'espace de noms" utilisé par ce référentiel. Ce nom de domaine sera affiché aux utilisateurs lors de l'authentification.
[general] password-db = passwd realm = my company
Si vous modifiez le fichier de configuration prégénéré, ces propriétés existent déjà. Vous pouvez supprimer le symbole de commentaire (
#
) – et tout espace précédent – et modifiez l'affectation pour qu'elle corresponde au-dessus ou à votre convenance.
.
Dans ce /srv/svn/conf
répertoire, vous devriez déjà voir le passwd
dossier. Le svnadmin
La commande ci-dessus crée ce fichier automatiquement. Ajoutez autant d'utilisateurs que vous le souhaitez en spécifiant le nom d'utilisateur et le mot de passe dans des paires clé-valeur. Par exemple :
[users] samantha = secretpassword robert = hunter2
Démarrer le serveur
Pour démarrer le serveur, nous utilisons le svnserve
commande.
sudo svnserve -d -r /srv/svn
Le -d
switch le démarre en tant que processus d'arrière-plan (démon). Le -r
switch pointe le serveur vers l'emplacement du système de fichiers du référentiel que nous avons créé précédemment. (Pour la liste complète des options de configuration, exécutez man svnserve
.)
Assurez-vous d'exécuter ce processus en tant qu'utilisateur élevé (racine). Si vous ne le faites pas, les utilisateurs finaux ne pourront valider aucune modification dans le référentiel.
.
Le port par défaut pour svnserve
est 3690. Pour vérifier que le serveur SVN est en cours d'exécution, ouvrez un navigateur et accédez à http://myserver:3690
(en remplaçant myserver
avec le nom d'hôte ou l'adresse IP de votre serveur). Vous devriez voir un texte similaire à celui ci-dessous.
Exemple de réponse Subversion dans le navigateur
Même si nous pouvons utiliser
http://
ici pour nous assurer que le serveur est démarré, nous allons principalement interagir avec le serveur SVN en utilisant le personnalisésvn://
Format d'URL.
.
Création d'un projet de test
Pour nous assurer que tout est correctement configuré, nous allons créer un projet factice. À partir de là, vous devriez travailler à partir d'un client sur lequel SVN est installé. Si vous n'avez pas facilement accès à un autre ordinateur (ou si vous installez SVN sur votre ordinateur pour un usage personnel), vous pouvez bien sûr utiliser le serveur sur lequel vous travaillez déjà.
Commencez par créer un dossier de projet de test.
mkdir ~/Documents/my-first-project
Ensuite, exécutez la commande suivante pour importer ce répertoire dans SVN. (Encore une fois, assurez-vous de remplacer myserver
avec le nom d'hôte ou l'IP de votre serveur SVN.)
svn import ~/Documents/my-first-project svn://myserver:3690/my-first-project -m "Initial commit." --username robert --password hunter2
Il y a beaucoup d'indicateurs dans cette seule commande, alors examinons ce que chacun d'eux fait.
import
crée un nouveau projet dans SVN. Nous spécifions la source puis la destination.-m "Initial commit."
est notre message de validation enregistré dans SVN.--username
et--password
sont les détails d'authentification.
Vous pouvez recevoir un avertissement indiquant que votre mot de passe sera mis en cache non crypté. Si votre ordinateur client est déjà protégé par un mot de passe, cela peut vous convenir. Mais pour une sécurité optimale, vous pouvez entrer "non" à l'invite pour
Store password unencrypted
, et votre mot de passe ne sera pas mis en cache. Vous pouvez également suivre la suggestion de définirstore-plaintext-passwords
(dans le fichier de configuration indiqué) sur "non" pour ne plus être invité.
.
Si tout se passe bien, vous devriez voir Committed revision 1
dans le terminal.
Erreurs courantes
Voici quelques erreurs que vous pourriez obtenir si quelque chose n'est pas configuré correctement :
- Échec de l'authentification ou de l'autorisation :Passez en revue la configuration sous "Création d'utilisateurs". Il est essentiel que ces fichiers de configuration soient au bon endroit et sans fautes de frappe.
- Impossible de se connecter à un dépôt :Assurez-vous que le serveur est en cours d'exécution et que vous l'avez démarré avec le bon
-r
chemin. - Erreurs d'autorisation de fichier :Assurez-vous que le serveur fonctionne avec des autorisations élevées. Si vous n'êtes pas sûr, le
ps aux
La commande vous montrera l'utilisateur qui exécutesvnserve
.
.
Conclusion
Après avoir terminé ce didacticiel, vous devriez être en mesure de :
- Créer un référentiel SVN de base dans CentOS 7
- Ajouter des utilisateurs au référentiel
- Démarrer un serveur via lequel les clients peuvent accéder au référentiel
Il existe de nombreuses options supplémentaires que vous pouvez configurer dans votre installation de SVN. Pour plus d'informations, consultez le livre SVN, qui fournit des détails plus détaillés sur la configuration et la maintenance du serveur SVN.
Atlantic.net propose un hébergement VPS ainsi que des services d'hébergement gérés qui incluent une couche de services gérés essentiels à vos forfaits d'hébergement. Contactez-nous dès aujourd'hui pour plus d'informations.