2008-08-20 6 views
8

Tengo un VisualSVN Server instalado en un servidor de Windows, que sirve varios repositorios.WebSVN con el Servidor VisualSVN, ¿alguien consiguió la autenticación para funcionar?

Dado que el visor web integrado en el servidor de VisualSVN es un navegador de subversión minimalista, me gustaría instalar WebSVN en la parte superior de mis repositorios.

El problema, sin embargo, es que parece que no puedo lograr que la autenticación funcione. Idealmente, me gustaría que mi autenticación de repositorio actual, tal como se especifica en VisualSVN, funcione con WebSVN, de modo que, aunque veo todos los nombres de los repositorios en WebSVN, no puedo buscarlos sin las credenciales correctas.

Al visitar la copia en caché del enlace superior en this google query puede ver lo que he encontrado hasta ahora que parece prometedor.
(la página principal del blog parece haber sido destruido, dominio de la página más alta que me refiero es the-wizzard.de)

Allí encontré algunas funciones de PHP que podía virar hacia uno de los archivos PHP en WebSVN. Seguí las modificaciones allí, pero todo lo que logré fue hacer que WebSVN me pidiera un nombre de usuario y contraseña y no importa lo que ingrese, no me deja entrar.

Desafortunadamente, php y apache son en gran parte magia negra a mi.

Entonces, ¿alguien ha integrado con éxito WebSVN con repositorios alojados en VisualSVN?

Respuesta

3

Estoy usando VisualSVN Server y acabo de terminar la instalación de Trac. Mi objetivo era conseguir un mejor navegador de repositorios basado en web, y Trac es definitivamente uno de los mejores que he visto para Subversion. Vaya a http://www.visualsvn.com/server/trac/ la instalación es bastante sencilla. Sí, Trac tiene un seguimiento de tickets y un sistema wiki, que puede que no esté buscando, pero el repositorio y el navegador de registro lo venden por mí.

Ahora, he descubierto que es posible desactivar los sistemas de seguimiento de wiki y entradas que vienen con Trac través de simplemente añadiendo

[components] 
trac.ticket.* = disabled 
trac.wiki.* = disabled 

hasta el final del archivo de configuración trac.ini. Esto hace que la página de inicio de la wiki arroje un error de que no se puede encontrar el módulo wiki, por lo que debe configurar Trac para que se abra con la Línea de tiempo (vista de registro) o el Navegador de repositorio al iniciar editando nuevamente la ruta trac.ini agregando el bajo el concepto [trac]:

de la línea de tiempo de registro por defecto

default_handler = TimelineModule 

para el navegador de repositorios por defecto

default_handler = BrowserModule 
+0

"Trac plug-in está disponible sólo para las versiones obsoletas de VisualSVN Server y actualmente no tenemos planes para actualizar el plug-in de forma regular "--- ¿Funciona con la última versión de VisualSVN? – gbjbaanb

+0

Estoy usando VisualSVN Server v 1.6.3, que según tengo entendido, es la versión más reciente de VisualSVN Server. El complemento de Trac sigue funcionando como esperaba para mí en este momento. Sin embargo, debo señalar que algunos de los pasos de configuración de Trac deben repetirse al actualizar el Servidor VisualSVN. –

+0

Me siento descorazonado por el hecho de que VisualSVN no tiene planes de continuar sus esfuerzos con el complemento Trac, demostró ser una herramienta muy útil para ampliar la accesibilidad del repositorio (el navegador de repositorio basado en web predeterminado del servidor VisualSVN es demasiado limitado) –

0

yo soy el Autho r del artículo que mencionaste La información que publiqué solo fue para WebSVN que se ejecuta en IIS. Tengo entendido que el software debería "funcionar" solo cuando utilice PHP en Apache, aunque nunca lo configuré en ese entorno. ¿Has intentado hacer algo de "echo" -debugging (por la falta de un término mejor) para ver dónde exactamente falla la autenticación?

7

Obtuve la autenticación WebSVN trabajando con el servidor VisualSVN, aunque con mucha personalización de pirateo/prueba de error.

Así es como lo hice:

  1. Si no lo ha hecho, instale PHP manualmente descargando el archivo zip y pasando por el manual de PHP en línea instrucciones de instalación. He instalado PHP a C: \ PHP

  2. Extraer la carpeta websvn a C: \ Archivos de programa \ VisualSVN Server \ htdocs \

  3. pasar por las etapas de configurar el directorio websvn, es decir, cambiar el nombre a configdist.php config, etc. Mis repositorios estaban ubicados en C: \ SVNRepositories, así que para configurar el archivo de autenticación, configuré la línea config.php de la siguiente manera: $ config-> useAuthenticationFile ('C:/SVNRepositories/authz'); // archivo de Acceso global

  4. Añadir lo siguiente a C: \ Archivos de programa \ VisualSVN Server \ conf \ httpd-custom.conf:

 
# For PHP 5 do something like this: 
LoadModule php5_module "c:/php/php5apache2_2.dll" 
AddType application/x-httpd-php .php 


# configure the path to php.ini 
PHPIniDir "C:/php" 

<IfModule dir_module> 
    DirectoryIndex index.html index.php 
</IfModule> 

<Location /websvn/> 
    Options FollowSymLinks 
    AuthType Basic 
    AuthName "Subversion Repository" 
    Require valid-user 
    AuthUserFile "C:/SVNRepositories/htpasswd" 
    AuthzSVNAccessFile "C:/SVNRepositories/authz" 
    SVNListParentPath on 
    SVNParentPath "C:/SVNRepositories/" 
</Location> 

Esto funcionó para mí, y sólo se websvn mostrar aquellos directorios que están autorizados para un usuario determinado. Tenga en cuenta que para que funcione correctamente, debe proporcionar acceso de "nivel principal" a todos, y luego deshabilitar el acceso a ciertos subdirectorios para ciertos usuarios. Por ejemplo, tengo un usuario que no tiene acceso de nivel principal, pero tiene acceso a un subnivel. Desafortunadamente, esta persona no puede ver nada en websvn, incluso si se vincula directamente a filedetails.php para obtener un archivo que está autorizado a ver. En mi caso, no es gran cosa porque no quiero que acceda a websvn de todos modos, pero es algo que querrás saber.

Además, esto configura el servidor para una conexión ssl, por lo que una vez que lo haya configurado, la dirección será y https: // dirección, no el http regular: //.

+0

Gracias, voy a probar esto esta noche :) –

+1

¡Esto es genial! Solo un par de notas sobre tus instrucciones. (1) Probablemente obvio, pero necesita reiniciar el Servicio de VisualSVN después de realizar los pasos anteriores. (2) https vs http depende de si tiene VisualSVN configurado para acceso seguro (https) o no. Si lo tiene configurado para http estándar, esto no afectará a eso ... todavía tendrá acceso a SVN y WebSVN a través de http. Gracias, esto es exactamente lo que estaba buscando. –

+0

Más notas sobre estas instrucciones: Es posible que la sección 'Ubicación' tenga que ser un poco diferente de la que utilizó @ anthony-johnson si usa diferentes configuraciones de autenticación. Simplemente copie la sección que comienza con '' de 'httpd.conf', y péguela en' httpd-custom.conf' (después de incluir la sección de configuración de Anthony en PHP), y reemplace '/ svn /' con '/websvn/'. ¡Todo funciona bien! Nota al margen, si está configurando una pila Subversion-VisualSVN-WebSVN-Jenkins, probablemente también necesite saber [esto] (http://stackoverflow.com/q/5564014/385094). – Boinst

1

Lo hice funcionar con la autenticación de Windows (que en realidad es AuthType VisualSVN) El truco es comentar la autenticación svn y reemplazarla con el mismo tipo de texto de autenticación encontrado en el archivo de configuración principal. Gracias a Anthony Johnson por resolver todos los demás detalles.

# For PHP 5 do something like this: 
LoadModule php5_module "F:/wamp/bin/php/php5.3.0/php5apache2_2.dll" 
AddType application/x-httpd-php .php 


# configure the path to php.ini 
PHPIniDir "f:/wamp/bin/php/php5.3.0/" 

<IfModule dir_module> 
    DirectoryIndex index.html index.php 
</IfModule> 

#Alias /websvn/ "F:/Program Files/VisualSVN Server/htdocs/websvn-2.3.1/" 

<Location /websvn-2.3.1/> 
    Options FollowSymLinks 

    AuthName "Subversion Repositories" 
    AuthType VisualSVN 
    AuthzVisualSVNAccessFile "F:/Repositories/authz-windows" 
    AuthnVisualSVNBasic on 
    AuthnVisualSVNIntegrated off 
    AuthnVisualSVNUPN Off 
    Require valid-user 


    SVNListParentPath on 
    SVNParentPath "f:/Repositories/" 
</Location> 
0

Si usted está buscando un navegador de repositorios basados ​​en web que es más rica en características a la predeterminada y se utiliza VisualSVN Server, a continuación, actualizar a VisualSVN servidor 3.2 o posterior.

VisualSVN Server has a rich web interface for Subversion repositories. A diferencia de WebSVN, el cliente web incorporado del servidor VisualSVN funciona de la caja y no requiere que un administrador realice ninguna tarea de configuración.

Se puede ver la demostración en vivo aquí: http://demo-server.visualsvn.com/!/

Subversion web user interface in VisualSVN Server

Cuestiones relacionadas