ja fa temps que vull posar un Subversion al servidor on hi ha aquest bloc, el de la Sílvia i demés històries
en el servidor hi ha una Gentoo i seguint la guia de la gentoo-wiki d’instal·lació d’un SVN em quedo encallat en el moment de:
3. check that ssh yourhost "which svnserve" returns /usr/local/bin/svnserve and not /usr/bin/svnserve. If the latter is the case, ssh does not search /usr/local/bin for the svnserve command. To change that, you can use the PAM module pam_env.so which is usually included in /etc/pam.d/ssh via system-auth. pam_env's config file is /etc/security/pam_env.conf and by adding PATH OVERRIDE=/usr/local/bin:/usr/bin:/bin you instruct it to set this particular path for all system-auth services.
encara no he arribat a entendre això del PAM i on s’ha de posar tot plegat i demés … alguna idea?
m’he començat a mirar el llibre del subversion a veure si em serveix, però essent com és el Gentoo que ho canvia tot de baix a dalt no se com anirà :(
segons la guia aquesta del gentoo-wiki.com hi ha 4 maneres de fer servir el svn, jo he triat la de svn+ssh perquè d’aquesta manera tens l’autenticació a través de ssh, que sempre va bé
és aquesta suposició correcte? quins avantatges i/o inconvenients tenen les quatre maneres?
Hi ha tres maneres de comunicar-se amb un repositori de subversion:
1. Si està al mateix ordinador que tu, li has de dir el nom del directori on resideix el repositori
2. Fent servir un protocol especial de subversion, anomenat “svnserve”, a través d’internet.
3. Fent servir un mòdul de apache i fent tota la comunicació per http.
La primera opció és bastant poc pràctica. L’opció que has triat tu és la segona, que desconec. Si no l’has triat per cap motiu en especial, t’aconsellaria que instaléssis el mòdul “dav_svn” de l’apache2 i facis servir la opció tercera. Tota la configuració consisteix en posar en un fitxer “dav_svn.conf” l’adreça del teu repositori, i “funcionarà sol”. :)
gràcies Enric! m’ho miraré a veure si a la segona va a la vençuda
un parell de preguntes més … si es fa per via web suposo que tot el trànsit es farà pel port 80 oi?
d’aquesta manera també tens el svn+ssh ? o sigui autenticació amb ssh ?
Fa molt que ho vaig montar, però jo també ho vaig muntar sobre l’apache, i dir que és molt fàcil de fer anar amb els arxius de configuració (pots fer usuaris i grups amb diferents permisos de manera molt fàcil.
Diria però que al servidor s’ha de triar una de les tres opcions de funcionament, ja dic que fa molt que no ho miro, però abans triaves quin dels tres mòduls volies instal·lar, sent un excloent de l’altre (potser ha canviat això).
Si vols seguretat, segurament es pugui fer anar sota https, xifrant així la connexió.
Com diu en mad93, si vols seguretat en la instalació de l’apache2 el més fàcil és fer servir https en comptes de http (i llavors la comunicació va pel port 443). Per assegurar-te que tota la comunicació es fa xifrada, pots bloquejar el port 80 amb un firewall.
Una configuració usual en aquest cas, és que els checkouts i updates no et demanin autentificació, només els commits. Així tothom es pot baixar els teus fitxers però només la gent de confiança els pot canviar.
Una particularitat d’aquesta configuració, que té coses bones i coses dolentes, segons com es miri, és que l’autenticació del https és independent dels usuaris que tingui la màquina on resideix el servidor. És a dir, pot ser que la màquina només la puguis fer servir tu per ssh i que tingui 20 usuaris amb “compte” de https, o a l’inrevés. En canvi, amb svn+ssh, els usuaris de les dues coses són els mateixos.
un afegitó més: la guia de svn per gentoo que poses (incloent-hi la part d’apache2) és una mica enrevesada. En aquesta altra, tot i que no és per gentoo, està explicat més clar:
http://wiki.freaks-unidos.net/Apache2%20SSL%20and%20Subversion%20in%20Debian
gràcies enric!
aquest cap de setmana m’ho miro :)