Pregunta

Tengo un portátil con Ubuntu que me gustaría actuar como un servidor de Subversion.Tanto para mí comprometerse a nivel local, y para los demás de forma remota.¿Cuáles son los pasos necesarios para conseguir este trabajo?Favor de incluir medidas para:

  • Obtener y configurar Apache, y los módulos necesarios (sé que hay otras maneras de crear un servidor SVN, pero me gustaría que Apache-específico)
  • Configurar una forma segura de acceder al servidor SSH (/HTTPS)
  • Configurar un conjunto de usuarios autorizados (como en, deben autorizado a cometer, pero son libres de navegar)
  • Validar el programa de instalación con un inicial de commit (un "Hola mundo" de las clases)

Estos pasos puede involucrar a cualquier mezcla de línea de comandos o aplicación de interfaz de usuario instrucciones.Si puedes, por favor tenga en cuenta que donde las instrucciones son específicas para una determinada distribución o versión, y donde la elección de los usuarios de una herramienta en particular puede ser utilizado en su lugar (es decir, nano en lugar de vi).

¿Fue útil?

Solución

Los pasos que he tenido que hacer mi portátil un servidor de Subversion.El crédito debe ir a AlephZarro para sus instrucciones aquí.Ahora tengo un trabajo SVN server (que tiene en la actualidad sólo se ha probado en local).

Específicos de la instalación:Kubuntu 8.04 Hardy Heron

Los requisitos para poder seguir esta guía:

  • apt-get programa gestor de paquetes
  • editor de texto (yo uso el de kate)
  • sudo derechos de acceso

1:Instalar Apache HTTP server y módulos necesarios:

sudo apt-get install libapache2-svn apache2

Los siguientes paquetes extras será instalado:

apache2-mpm-worker apache2-utils apache2.2-common

2:Habilitar SSL

sudo a2enmod ssl
sudo kate /etc/apache2/ports.conf

Agregar o comprobar que el siguiente en el archivo:

<IfModule mod_ssl.c>
    Listen 443
</IfModule>

3:Generar un certificado SSL:

sudo apt-get install ssl-cert
sudo mkdir /etc/apache2/ssl
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

4:Crear el host virtual

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svnserver
sudo kate /etc/apache2/sites-available/svnserver

Cambio (en los puertos.conf):

"NameVirtualHost *" to "NameVirtualHost *:443"

y (en svnserver)

<VirtualHost *> to <VirtualHost *:443>

Añadir, en ServerAdmin (también en el archivo svnserver):

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM

5:Habilitar el sitio:

sudo a2ensite svnserver
sudo /etc/init.d/apache2 restart

Para superar las advertencias:

sudo kate /etc/apache2/apache2.conf

Agregar:

"ServerName $your_server_name"

6:Agregar el repositorio(s):La siguiente configuración se supone queremos alojar múltiples repositorios.Ejecutar este para la creación de la primera repositorio:

sudo mkdir /var/svn

REPOS=myFirstRepo
sudo svnadmin create /var/svn/$REPOS
sudo chown -R www-data:www-data /var/svn/$REPOS
sudo chmod -R g+ws /var/svn/$REPOS

6.una.Para obtener más repositorios:hacer el paso 6 (cambiando el valor de los REPOS), omitiendo el paso mkdir /var/svn

7:Agregar un usuario autenticado

sudo htpasswd -c -m /etc/apache2/dav_svn.passwd $user_name

8:Habilitar y configurar WebDAV y SVN:

sudo kate /etc/apache2/mods-available/dav_svn.conf

Agregue o quite el comentario de:

<Location /svn>
DAV svn

# for multiple repositories - see comments in file
SVNParentPath /var/svn

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL
</Location>

9:Reinicie el servidor apache:

sudo /etc/init.d/apache2 restart

10:Validación:

Lancé un navegador:

http://localhost/svn/$REPOS
https://localhost/svn/$REPOS

Ambos requieren de un nombre de usuario y contraseña.Creo que quitando los comentarios:

<LimitExcept GET PROPFIND OPTIONS REPORT>

</LimitExcept>

en /etc/apache2/mods-available/dav_svn.conf, permitiría la navegación anónima.

El navegador muestra "Revisión 0:/"

Cometer algo:

svn import --username $user_name anyfile.txt https://localhost/svn/$REPOS/anyfile.txt -m “Testing”

Aceptar el certificado y escriba la contraseña.Echa un vistazo a lo que usted ha cometido:

svn co --username $user_name https://localhost/svn/$REPOS

Siguiendo estos pasos (suponiendo que no he hecho ningún error de copiar/pegar), yo tenía un trabajo repositorio SVN en mi portátil.

Otros consejos

Después, me necesarias para ejecutar (en el contexto del ejemplo citado más arriba)

$ sudo chmod g+w /var/svn/$REPOS/db/rep-caché.db

$ sudo chown www-data:www-data /var/svn/$REPOS/db/rep-caché.db

De lo contrario, seguí recibiendo un 409 error a la hora de apostar modificaciones locales (a pesar de los compromisos que se fueron del lado de servidor eficaz, que necesitaba para seguir con las actualizaciones locales)

Este artículo parece dar un muy buen resumen de todo el proceso.Yo recomendaría seguir las instrucciones y, a continuación, la publicación de algunas preguntas más específicas acerca de los problemas que encouter que no se abordan en los artículos I y de otras personas que han vinculado a estas respuestas.

Si usted consigue 403 prohibido cuando se pulsa el servidor web puede ser debido a que se utiliza un nombre de host que no es lo que se especifica en el archivo de configuración (es decir, localhost o 127.0.0.1).Trate de golpear https://whateveryousetasyourhostname en lugar de...

Por favor, escriba un único comando en la terminal.

Para abrir el terminal por favor, pulse Ctrl + Alt + T, y , a continuación, escriba este comando:

$sudo apt-get install subversion

Para Apache:

sudo apt-get -yq install apache2

Para SSH:

sudo apt-get -yq install openssh-server

Para Subversion:

sudo apt-get -yq install subversion subversion-tools

Si quieres puedes combinar estas en un comando como:

sudo apt-get -yq install apache2 openssh-server subversion subversion-tools

Yo no puedo ayudar con el resto...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top