J'ai configuré un serveur Ubuntu pour subversion avec une interface Apache / WebDAV pour partager des référentiels avec d'autres développeurs. Ma question est que comment puis-je faire utiliser Subversion The Linux System Comptes d'authentification? Cela conduirait à une gestion de compte Subversion très facile. Subversion avec Apache / WebDav travaille actuellement avec cette configuration:
Contenu de /etc/apache2/mods-AVAILABLE/DAV_SVN.CONF:
<Location /svn> DAV svn SVNParentPath /home/svn SVNListParentPath On AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </Location>
a essayé de changer authuserfile /etc/apache2/dav_svn.passwd code> avec Merci beaucoup à l'avance! P> P> authtuserfile / etc / shadow code> sans succès. Cela rend le serveur à répondre avec une erreur d'erreur 500 Internal Server. Il est logique, pourquoi le service Web doit avoir accès au fichier d'authentification système? P>
3 Réponses :
ne pouvez-vous pas utiliser SSH pour accéder aux référentiels Subversion au lieu de webdav?
svn checkout svn+ssh://user@server:/home/svn/repository/trunk
Merci pour votre réponse. J'ai configuré svn dans la saveur WebDAV, principalement parce que c'est la seule méthode que je connaisse et puisse configurer, mais aussi parce que c'est la méthode recommandée que j'ai lu. J'aime comment ça marche sur webdav et je ne sais vraiment pas comment il se produit sur svn + ssh. J'ai actuellement trouvé la réponse et l'avez posté. J'accepte toujours les suggestions et les commentaires. Merci!
Il n'y a pas grand chose à configurer. Ajoutez des utilisateurs à SVN Group. Si les utilisateurs ont un accès SSH au serveur, ils ont également accès à des référentiels. Cela fonctionne mieux si l'authentification de clé publique / privée a été configurée (aucun mot de passe saisissant sur chaque commit).
Cela fonctionne bien pour Linux, mais SVN + SSH est une douleur pour les développeurs de Windows.
Ok! Je l'ai fait! Et je pensais que ce serait très difficile de trouver la réponse!
Nous devons dire à Apache d'utiliser un « fournisseur d'authentification externe », Apache ne sera pas vérifier pour l'authentification, mais déléguer la tâche à un authentificateur externe, ce cas, le merveilleux pwauth . p>
Ainsi, les étapes que j'ai à rendre le travail était: p>
Installer le module Mod_Auth_External pour Apache2 et pwauth p>
... AuthType Basic AuthName "Subversion Repository" AuthBasicProvider external AuthExternal pwauth Require valid-user ...
Activé le nouveau module pour Apache:. Configuré mon Edité mon Testé et a bien fonctionné! P> li>
Ol> p> sudo a2enmod authnz_external code> dans le terminal p> li>
apache.conf code> (ou vous pouvez avoir
httpd.conf code>) pour ajouter le authentificateur externe (basé sur cet article ): p>
AddExternalAuth pwauth /usr/local/libexec/pwauth
SetExternalAuthMethod pwauth pipe
/etc/apache2/httpd.conf code> pour définir le nouveau fournisseur de auth externe: p>
sudo apt-get install libapache2-mod-authnz-external pwauth
En un sur mes serveurs, il y avait un peu de problème, car «Pwauth» a été installé à un répertoire différent par défaut (/ USR / SBIN / Pwauth). Donc, soit modifier le point 3 indiqué ci-dessus avec le chemin approprié, ou - comme je l'ai fait dans mon cas - ajoutez simplement un 'LN -S / USR / SBIN / Pwauth / USR / local / libexec / pwauth' '. Après cela, tous ont travaillé comme un charme, merci!
Je ne peux pas encore commenter, mais je voulais ajouter que dans Ubuntu 12.04, le trajet de et cela peut Être bien placé dans un fichier séparé à l'intérieur pwauth code> a changé alors cela devrait maintenant être
etc / apache2 / conf. / conf. / code> p> p>
Voir aussi Stackoverflow.com/cevestions / 807477 / ...
@JW: Merci! Cela n'a pas la réponse, mais cela pointe sur un bon lien qui pointe la direction. Dans ma propre réponse, je pense que je l'ai fait plus simple. Merci.