Cómo configurar Subversion (SVN) server en GNU/Linux - Ubuntu [cerrado]
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).
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...