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

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.c

No 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

Autores

Cómo_instalar_y_configurar_Subversion (last edited 2008-04-20 14:38:50 by localhost)