Contents
- Instalar Apache2
- Instalar el Subversion y los paquetes básicos
- Crear el repositorio
- Configurar el Apache2
- Crear el archivo de autenticación
- Adicionar un usuario
- Reiniciar Apache2
- Ver el repositorio vía Web
- Crear un nuevo proyecto en el repositorio
- Obtener una copia de trabajo
- Adicionar nuevos archivos al proyecto
- Referencias
- Autores
Instalar Apache2
La forma de tener acceso a un repositorio es mediante Apache2, por lo que hay que tenerlo instalado. Si tiene el problema de que necesita Apache1, pues no hay problema, para eso son estos dos documentos.
Instalar el Subversion y los paquetes básicos
subversion: Contiene el Subversion y comando básicos, por ejemplo para la creación del repositorio.
subversion-tools: Contiene herramientas adicionales que permitan mantener en forma más fácil el repositorio.
libapache2-svn: Contiene los módulos que capacitan a Apache2 funcionar como un servidor de Subversion además del módulo de autenticación.
Puede instalar estos paquetes fácilmente de la siguiente forma:
# apt-get install subversion subversion-tools libapache2-svn
Crear el repositorio
Vamos a crear un repositorio llamado repos. El primer paso es crear el directorio:
# mkdir -p /var/local/repos
A continuación indicarle al Subversion que es un repositorio:
# svnadmin create /var/local/repos
Ponerle permisos para que el servidor web pueda modificar el repositorio:
# chown -R www-data.www-data /var/local/repos
Configurar el Apache2
Es necesario, para tener acceso vía web, configurar el apache:
Editar /etc/apache2/httpd.conf
Y agregamos:
<Location /repos>
DAV svn
SVNPath /var/local/repos
AuthType Basic
AuthName "Repositorio Subversion de Luis Alejandro Bernal Romero"
AuthUserFile /etc/subversion/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
Crear el archivo de autenticación
Crear el archivo de autenticación poniendo el primer usuario:
# htpasswd2 -c /etc/subversion/passwd lbernal New password: Re-type new password: Adding password for user lbernal #
Note la opción -c que es usada para crear un archivo de password, esta opción solo se usa la primera vez.
Adicionar un usuario
La siguiente si se usa para agregar el resto de usuarios:
# htpasswd2 /etc/subversion/passwd acastel New password: Re-type new password: Adding password for user acastel #
Reiniciar Apache2
Y finalmente se debe reiniciar el Apache2:
# /etc/init.d/apache2 restart Forcing reload of web server: Apache2. #
Ver el repositorio vía Web
Si el Apache2 está instalado como servidor único puede ver su repositorio en la dirección (claro reemplace localhost por la dirección de su servidor):
http://localhost/repos/
Si el apache está instalado como en Como hacer funcionar Apache1 y Apache2 al mismo tiempo la dirección será (no olvide reemplazar localhost por la dirección de su servidor):
http://localhost:8080/repos/
Como se ve su repositorio está en la revisión cero y no hay nada.
Crear un nuevo proyecto en el repositorio
Crearemos un proyecto llamado hola_mundo que consiste en el famoso programa. Lo primero es, en un directorio temporal, crear el directorio del proyecto:
~$ cd tmp/ ~/tmp$ mkdir hola_mundo
Se acostumbra tener tres directorios dentro de un proyecto: branches donde están las ramas del proyecto, tags las diferentes versiones y trunk donde está la versión actual del proyecto. Para ello vamos a hacer los siguiente:
~/tmp$ cd hola_mundo/ ~/tmp/hola_mundo$ mkdir branches tags trunk
A continuación importamos todo eso al repositorio:
~/tmp/hola_mundo$ cd .. ~/tmp$ svn import hola_mundo http://localhost/repos -m "Creación del proyecto" Reino de autentificación: <http://localhost> Repositorio Subversion Clave de 'lbernal': Añadiendo hola_mundo/trunk Añadiendo hola_mundo/branches Añadiendo hola_mundo/tags Commit de la revisión 1.
Y borramos el archivo temporal.
Obtener una copia de trabajo
El siguiente paso es obtener una copia de trabajo de los archivos:
$ svn checkout http://localhos/repos/hola_mundo/trunk hola_mundo Revisión obtenida: 1
Fijese que obtuvimos trunk, (no es necesario por ahora los otros directorio). El hola_mundo del final es una indicación del directorio donde se va a grabar la copia de trabajo.
Adicionar nuevos archivos al proyecto
Este escrito no pretende ser un manual de uso, ni siquiera introductorio a Subversion, lo que sigue es apenas algunas indicaciones para saber que el repositorio está trabajando y para crear sus primeros archivos dentro de un proyecto. Si quiere saber más mire la parte de Referencias] en este documento.
A continuación vamos a adicionar dos nuevos archivos al proyecto: hola_mundo.c y Makefile. Lo primero es crear el archivo
$ cd hola_mundo/ $ emacs hola_mundo.c
con el siguiente contenido:
/*
hola_mundo.c
*/
#include <stdio.h>
int main(){
printf("Hola Mundo");
return 0;
}Grabamos, salimos y verificamos que funcione:
$ gcc -Wall -pedantic -o hola_mundo hola_mundo.c $ ./hola_mundo Hola Mundo
Y lo adicionamos al proyecto:
$ svn add hola_mundo.c A hola_mundo.c
Seguimos con la creación del Makefile. Lo editamos:
$ emacs Makefile
con el siguiente contenido:
hola_mundo: hola_mundo.c
gcc -Wall -pedantic -o hola_mundo hola_mundo.cNo olvide que antes de gcc lo que va es un tabulador. Grabamos y salimos, probamos:
$ make make: `hola_mundo' está actualizado.
Adicionamos:
$ svn add Makefile A Makefile
Y finalmente enviamos todos los cambios al repositorio:
$ svn commit -m "Se adicionó el programa y el Makefile" Añadiendo trunk/Makefile Añadiendo trunk/hola_mundo.c Transmitiendo contenido de archivos .. Commit de la revisión 2.
Referencias
Subversion Sitio oficial.
Autores
--Luis Alejandro Bernal Romero del grupo Iskariote
