apche2-svn-debian : créer plusieurs repositories svn - Logiciels - Linux et OS Alternatifs
Marsh Posté le 02-07-2007 à 15:22:48
vu ce que tu nous dis, et vu le début de conf que tu postes, déjà ça va "coincer". J'explique :
le "Require valid-user" va impliquer que tes utilisateurs devront s'identifier pour TOUT accès à tes dépôts subversion, et ce pour la moindre opération, y compris parcours, export, checkout, commit ...
Il faut mettre ceci pour restreindre l'authentification uniquement aux commits :
Code :
|
Ensuite, puisque tu es parti sur des dépôts accessibles via Apache, il y a deux façon de les voir ... soit via une interface web (que ce soit celle native de subversion, soit via un site plus élaboré : websvn par exemple), soit via vraiment un accès SVN.
L'interface web ne te permettra que de parcourir / télécharger les fichiers, et dans ce cas où ta page d'accueil avec redirection fonctionne
L'accès vraiment SVN nécessite lui par contre d'arriver de suite dans le dépôt donc là plus question de redirection ...
Et donc pour finir, sur ta page d'accueil, une bête liste avec des liens suffit !!
Marsh Posté le 02-07-2007 à 16:34:48
donc :
En fait, je voudrais bien les 2, si possible : j'avais prevu d'utiliser websvn, pour visualiser, et eventuellement DL les fichiers, mais j'aimerais "vraiment un acces SVN" (j'avoue que c'est un protocole que je maitrise pas..) : Ce qu'il me faut, c'est que mes dev puissent poser et recupérer leur code en ligne de commande. Hors, d'apres ce que j'ai vu, a la ligne de commande tu lui dis d'utiliser le protocole de ton choix (http, svn, svn+ssh) : limite peu m'importe, du moment que ca marche dans les 2 sens
--> Je fais ca ou ?
Sinon, j'ai modifié mon fichier dav_svn.conf : j'ai juste ? :
Code :
|
Marsh Posté le 02-07-2007 à 17:38:36
Citation : j'ai modifié mon fichier dav_svn.conf : j'ai juste ? |
après le problème d'affichage , oui tu as bon
Citation : a la ligne de commande tu lui dis d'utiliser le protocole de ton choix (http, svn, svn+ssh) : limite peu m'importe, du moment que ca marche dans les 2 sens |
Si tu regardes cette image :
en fait tu vois que tes dépôts sont accessibles de différences façons ...
* Soit par du XML + DAV encapsulé dans du HTTP, il te faut alors un serveur web
* Soit via le protocole propriétaire SVN, il te faut alors le serveur svnserve
* Soit directement en local, via la commande svn. Dans ce cas, tu as sur ta machine tes dépôts (pas ton cas a priori)
Le SSH / SSL se rajoute éventuellement ensuite pour des raisons de sécurité.
Dans ton cas, tu es parti sur Apache donc tes utilisateurs feront obligatoirement :
svn checkout http://svn.mondns.fr/ton_depot/ton_projet
Via les clients subversion (tortoise pour Windows, subclipse pour Eclipse, ...), tes utilisateurs pourront donc se balader dans tout ton dépôt à partir de l'URL http://svn.mondns.fr/ton_depot
(les restrictions d'accès à certains chemins sont bien sur configurables)
Maintenant, l'url http://svn.mondns.fr/ ne donnera rien ...
à moins de mettre dans ton le dossier pointer par la directive DocumentRoot de ton virtual host un index.html avec une liste des projets dispo avec un lien vers l'url qui va bien (http://svn.mondns.fr/ton_projet)
ou sinon y mettre carrément l'appli websvn
Au final, tu te retrouves donc avec cette arborescence :
/var/www/svn/
|
+-> index.php
+-> includes ... (tous les fichiers de websvn)
+-> ton_projet1 qui est un répertoire virtuel d'apache permettant l'accès via subversion au dépôt ton_projet1
+-> ton_projet2 qui est un répertoire virtuel d'apache permettant l'accès via subversion au dépôt ton_projet2
Et donc la conf correspondante dans Apache, ressemble à :
Code :
|
Marsh Posté le 02-07-2007 à 17:47:27
Royales toutes ces explications : claires, concises, avec exemple.. Merci beaucoup : je teste ca apres avoir passé une vraie nuit
Merci encore
Marsh Posté le 03-07-2007 à 16:47:18
Petite precision :
La partie <Location /svn_project>, tu l'as mise dans la conf apache. Moi, dans mon post, je l'avais mise dans le fichier dav_svn.conf : est-ce que je dois la mettre dans les 2 endroits ? uniquement dans la conf apache ? du coup, je laise le dav_svn.conf vide ?
merci d'avance
Marsh Posté le 03-07-2007 à 17:10:52
j'avais vu oui ...
la mettre aux deux endroits, surtout pas, sinon tu aurai un doublon de config
après, tu fais bien comme tu veux, mais selon la "philosophie" de la conf apache par debian, le dav_svn.conf ne contient que la conf lié au module dav_svn à proprement parlé ... ( comme tous les fichiers dans /etc/apache2/modules-enabled/, ils ne contiennent que les confs particulières de chaque module)
perso je mettrai donc tout dans la conf du virtual host, histoire de tout avoir sous les yeux en même temps
Marsh Posté le 09-07-2007 à 17:09:33
Bon, j'ai mis le temps, mais j'ai avancé :
Desormais, j'arrive avec un navigateur a lire mes projets :
http://svn.mn.dns/project1 me donne la liste des fichiers du project1
Pareil pour le project2.
Mais j'aimerais bien avoir un interface sur http://svn.mn.dns qui soit une espece de page d'accueil, et qui me permette d'aller voir tous mes projets.
J'ai installé websvn, car je pense que c'est ce que je recherche, mais quand je vais dessus, j'ai l'erreur suivante :
Code :
|
Qu'ai-je raté cette fois-ci ?
Merci d'avance
Marsh Posté le 09-07-2007 à 19:45:16
on est d'accord que les fichiers de WebSvn tu les as posés dans le dossier pointé par la direction DocumentRoot de ton virtualhost ou de ton apache direct ?
ensuite, bah il faut juste configurer websvn ...
fichier include/distconfig.php à renommer en include/config.php et à renseigner
Marsh Posté le 10-07-2007 à 10:36:40
On est d'accord : DocumentRoot pointe sur "/var/www/www-svn", et dans ce repertoire, j'ai le fichier (fourni pas debian, que j'ai deplacé) wsvn.php.
Dans ce fichier wsvn.php, j'ai configuré la variable suivante :
Code :
|
puisque cette page est, selon moi, a la racine du VH.
Ensuite, le fichier distconfig.php/config/php : Je ne trouve rien de cela sur mon system en rapport avec websvn. Le seul fichier que j'ai trouve qui y ressemble est le suivant : "/etc/websvn/config.inc", qui est principalement commenté (c'est un fichier d'options, si j'ai bien compris) : si c'est celui dont tu parles : ou dois-je le placer ?
D'autre part, voici les logs que j'ai actuellement dans apache :
Code :
|
Marsh Posté le 10-07-2007 à 17:02:50
oula ... perso j'ai fais un checkout de la dernière version de websvn, je ne suis pas passé par le paquet debian
mais sinon oui, c'est bien ton fichier /etc/websvn/config.inc qui est très largement commenté dont je parle
tu peux le laisser dans /etc/websvn si ton script wsvn.php peut y accéder (directive "php_value include_path" dans ton VH)
ensuite, il suffit de le configurer comme suit :
$config->addRepository('project1', 'file:///home/svn-repos/project1');
$config->addRepository('project2', 'file:///home/svn-repos/project2');
Marsh Posté le 08-09-2007 à 14:52:02
Bonjour,
J'ai suivi avec intérêt tout ce que vous avez dit car je souhaite quasiment faire la même chose
Pour ma part j'utilise plusieurs dépots SVN et au lieu de me compliqué la vie à créer une location pour chaque dépot SVN j'ai utiliser ce qui est fournit dans dav_svn :
Citation : SVNParentPath /home/svn |
SVNParentPath au lieu de SVNPath
Ensuite, j'ai créé un sous-dommaine : svn.mondomaine.com pour accéder à mon répertoire /home/svn qui contient tous mes dépots pour pouvoir accéder à mes dépots via svn.mondomaine.com/mon_depot
J'ai configuré un virtualhost comme ceci :
Citation : <VirtualHost *:80> |
Et j'ai reboot Apache
Seulement voilà, quand je veux accéder à svn.mondomaine.com/mon_depot j'ai le droit à une belle erreur 403 qui m'interdit l'accès ...
Si par contre je vais sur svn.mondomaine.com/svn/mon_depot ça fonctionne nickel :|
En gros j'ai l'impression que mon DocumentRoot fonctionne pas :s
Apparemment Burps a réussi à faire ce que je veux faire alors qu'avant ça fonctionnait pas, j'aimerais donc savoir comment il a fait
Merci d'avance !
Marsh Posté le 03-01-2008 à 13:57:37
K2X > poste l'intégralité de la conf de ton virtual host pour SVN, tu dois avoir une erreur là dedans ...
Marsh Posté le 07-01-2008 à 11:29:55
Depuis le mois de septembre j'ai résolu mon problème
Mais merci quand même
Marsh Posté le 02-07-2007 à 11:47:29
Salut
J'ai lu quelques sites (en fait j'ai l'impression d'en avoir lu trop, et de m'etre embrouillé l'esprit...), donc j'aurais besoin de conseils : disons que je vais exposer ce que je veux faire, et j'aimerais que vous m'orientiez vers la bonne solution
Je veux hoster sur mon apache2 (debian etch) un serveur SVN qui pourra heberger plusieurs projets.
J'aimerais que ces projets soient accessibles par http (et non https), lisibles pour tous, mais modifiables que par des users "reconnus" par htaccess.
J'aimerais que l'utilisateur se connecte sur http://svn.mondns.fr, et qu'il arrive (par exemple a l'aide d'un simple navigateur, juste pour voir les fichiers...) sur une première page qui liste les differents projets, et en un clic il va dans le projet qui l'interesse.
1 - Si j'ai bien compris, dans cette configuration, de toute facons, l'authentification de l'user n'aura que lorsqu'il voudra commiter de nouveaux fichiers, non ? (donc en ligne de commande par exemple)
Jusqu'a present, j'ai modifié /etc/apache2/mods-available/dav_svn.conf (ca vient d'ici):
La question suivante est : qu'est-ce que je dois mettre dan mon virtualhost (dans le fichier qui gere le svn dans /etc/apache2/sites-available) ?
Merci de votre attention
PS : si j'ai fait des conneries jusqu'ici, n'hesitez pas a me le dire : je l'ai deja refait 15 000 fois, alors une de + ou de -....