Comment mettre en place une Subversion (SVN) serveur sous GNU/Linux - Ubuntu
J'ai un ordinateur portable sous Ubuntu que je voudrais pour agir comme un serveur Subversion. À la fois pour moi-même à s'engager localement, et pour les autres à distance. Quelles sont les étapes nécessaires pour obtenir ce travail? Veuillez inclure les étapes de:
- Obtenir et configurer Apache, et les modules nécessaires (je sais il y a d'autres façons de créer un serveur SVN, mais j'aimerais qu'elle spécifique à Apache)
- Configurer une manière sécurisée de l'accès au serveur (SSH/HTTPS)
- Configurer un ensemble d'utilisateurs autorisés (comme dans, ils doivent habilité à engager, mais sont libres de parcourir)
- Valider la configuration avec un premier commit (un "Hello world" de toutes sortes)
Ces étapes peut impliquer n'importe quel mélange de la ligne de commande ou l'interface utilisateur de l'application des instructions. Si vous le pouvez, veuillez noter que si des instructions sont spécifiques à un particulier, la distribution ou la version, et où le choix des utilisateurs d'un outil particulier peut être utilisé à la place (par exemple, nano au lieu de vi).
- Puis-je utiliser le serveur Subversion sur Ubuntu, et les clients sur n'importe quelle plateforme? comme Tortoise SVN client sur windows?
Vous devez vous connecter pour publier un commentaire.
Étapes que j'ai prises pour rendre mon ordinateur portable, un serveur Subversion. Crédit doit aller à AlephZarro pour ses directions ici. J'ai maintenant un travail de serveur SVN (qui a actuellement été testé en local).
Spécifiques de l'installation:
Kubuntu 8.04 Hardy Heron
Exigences de suivre ce guide:
1: Installer le serveur HTTP Apache et les modules requis:
Les paquets supplémentaires suivants seront installés:
2: Activer SSL
D'ajouter ou de vérifier que celui-ci est dans le fichier:
3: Générer un certificat SSL:
4: Créer un hôte virtuel
Changement (dans les ports.conf):
et (dans svnserver)
Ajouter, en vertu de la directive ServerAdmin (également dans le fichier svnserver):
5: Activer le site:
À surmonter avertissements:
Ajouter:
6: Ajout des référentiel(s):
La configuration suivante suppose que nous voulons accueillir plusieurs référentiels.
Exécuter ce pour créer le premier référentiel:
6.un. Pour plus d'référentiels: faire l'étape 6 (modification de la valeur de REPOS), en sautant l'étape
mkdir /var/svn
7: Ajouter un utilisateur authentifié
8: Activer et configurer WebDAV et SVN:
Ajoutez ou supprimez le commentaire:
9: Redémarrer le serveur apache:
10: Validation:
Tiré un navigateur:
À la fois nécessaire un nom d'utilisateur et mot de passe. Je pense que décommentant:
dans
/etc/apache2/mods-available/dav_svn.conf
, permettrait à la navigation anonyme.Le navigateur affiche "Révision 0: /"
Commettre quelque chose:
Accepter le certificat et entrer le mot de passe.
Découvrez ce que vous venez de commis:
Des étapes suivantes (en supposant que je n'ai pas fait d'erreur de copier/coller), j'avais un travail SVN sur mon ordinateur portable.
"NameVirtualHost *" to "NameVirtualHost *:443"
est dans les ports.conf alors que<VirtualHost *> to <VirtualHost *:443>
est dans le svnserver paramètres. cela devrait être mentionné. je suis assez confus, car j'ai cherché dans les svnserver paramètres pour NameVirtualHost et ne pouvait pas le trouver.Listen 80
et la<IfModule mod_ssl.c>...</...>
-cadre mentionné à l'étape 2. Dois-je ajouter de la les choses @Wandang mentionné? Et ce qui est "ServerAdmin"? Est-il quelque chose qui devrait être dans l'un des fichiers?http://localhost/svn
). J'ai essayé d'utiliser lehttps
version, et il m'a poussé pour un nom d'utilisateur et mot de passe. J'ai tapé un de ceux que j'ai créé à l'étape 7 (dont je n'ai pu avoir de travail en ajoutant le nouveau nom d'utilisateur une fois votre code, par exemplesudo htpasswd -c -m /etc/apache2/dav_svn.passwd $user_name aske
, et sans-c
pour les prochains utilisateurs) et il a échoué. Maintenant, je ne suis pas en mesure d'obtenir à nouveau invité.http://localhost
). Il n'affiche que le dossierapache2-default/
bien. Que pouvais-je fait de mal?svn: PROPFIND request failed on '/svn/testdirectory/anyfile.txt' svn: Could not open the requested SVN filesystem
libapache2-mod-svn
au lieu delibapache2-svn
(comme ce dernier n'est plus disponible).Après, j'en ai besoin pour exécuter (dans le contexte de l'exemple cité ci-dessus)
$ sudo chmod g+w /var/svn/$REPOS/db/rep-cache.db
$ sudo chown www-data:www-data /var/svn/$REPOS/db/rep-cache.db
Sinon, j'ai gardé la réception d'un 409 erreur lors de la validation de modifications locales
(si les engagements ont été côté serveur efficace, j'ai besoin de faire un suivi avec les mises à jour locales)
Cet article semble donner un bon aperçu de l'ensemble du processus. Je recommande en suivant les instructions, puis poster quelques questions plus spécifiques sur les problèmes que vous encouter qui ne sont pas traités dans les articles que j'ai et que d'autres ont lié dans ces réponses.
Si vous obtenez 403 forbidden lorsque vous appuyez sur le serveur web, il peut être parce que vous avez utilisé un nom d'hôte qui n'est pas ce que vous avez spécifié dans votre fichier de config (c'est à dire localhost ou 127.0.0.1). Essayez de frapper https://whateveryousetasyourhostname à la place...
S'il vous plaît écrire une seule commande sur le terminal.
Ouvrir le terminal, appuyez sur Ctrl + Alt + T, puis tapez cette commande:
Pour Apache:
Pour SSH:
Pour Subversion:
Si vous le désirez, vous pouvez les combiner en une seule commande comme:
Je ne peux pas aider avec le reste...