Instalacion Postgresql en Debian 6.0

Instalación

Para instalar la base de datos Postresql 8.4 en el servidor se debe de ejecutar el siguiente comando como root, el cual descargará todos los paquetes necesarios y realizará la instalación.

# apt-get install postgresql postgresql-contrib

Durante el proceso de instalación se crea el usuario postgres en el sistema, para la administración de la base de datos, al que hay que establecer la contraseña.

# passwd postgres

Una vez realizado el cambio de contraseña, se cambia el usuario activo por el usuario postgres y se modifica el password de este usuario en la propia base de datos:

# su - postgres
# psql -c "ALTER USER postgres WITH PASSWORD 'changeme'" -d template1

Creacion de bases de datos, usuarios y asignación de permisos

Se establece como usuario activo el usuario postgres, que es el usuario administrador de la base de datos.

# su – postgres 

Para crear un nuevo usuario en la base de datos se ejecuta el siguiente comando:

# psql -c "CREATE USER nombreusuario WITH PASSWORD 'passwordusuario'"

Para crear una nueva base de datos con codificación unicode:

# psql -c "CREATE DATABASE nombredb WITH ENCODING 'UNICODE'"

Assignar privilegios al usuario en la nueva base de datos

# psql -c "GRANT ALL PRIVILEGES ON DATABASE nombredb TO nombreusuario"
 

Instalación y configuración de Subversion en Debian

La configuración más flexible de todas las instalaciones de servidor posibles para Subversion es la que se basa en Apache. Aunque es un poco más complicada de preparar, ofrece beneficios que otros servidores no pueden dar:

  • WebDAV: 
    El servidor de Subversion basado en Apache utiliza el protocolo WebDAV que se utiliza por muchos otros programas. Por ejemplo, podría montar dicho repositorio como una “Carpeta web” en el explorador de Windows y luego acceder a ella como cualquier otra carpeta en su sistema de archivos.
  • Navegando por el repositorio:
    Puede apuntar su navegador a la URL del repositorio y navegar por sus contenidos sin tener un cliente de Subversion. Esto da acceso a sus datos a un mayor círculo de usuarios.
  • Autentificación:
    Puede utilizar cualquier mecanismo de autentificación que Apache soporte, incluyendo SSPI y LDAP.
  • Seguridad:
    Dado que Apache es muy estable y seguro, automáticamente obtendrá la misma seguridad para su repositorio. Esto incluye la encriptación SSL

Instalación

Para instalar Subversion en el servidor instalado anteriormente, se ejecuta el siguiente comando, que instala el servidor Subversion y las herramientas necesarias para gestionarlo:

#apt-get install suvbersion subversion-tools

El siguiente paso es instalar el servidor apache, que ya debería de encontrarse instalado, y los módulos necesarios:

# apt-get install apache2 libapache2-svn

Configuración Subversion

Creación del repositorio, se comienza creando la carpeta donde se almacenaran los repositorios, dentro de /srv:

# mkdir /srv/svn

A continuación se crea el primer repositorio, de nombre repo01, mediante el comando svnadmin.

# svnadmin create --fs-type fsfs /srv/svn/repo01

Ahora se va generar un grupo,de nombre Subversion , al cual se van a añadirlos usuarios permitidos:

# groupadd subversion
# usermod –a –Gsubversion nombreusuario1
# usermod –a –Gsubversion nombreusuario2

Y se asignan los permisos al grupo para que pueda tener acceso a los repositorios.

# chown -R www-data:subversion /srv/svn/*
# chmod -R 770 /srv/svn/*

Configuración de apache

Se habilitan los módulos necesarios mediante el comando a2enmod.

# a2enmod dav
# a2enmod dav_svn

Se añaden los usuarios al archivo de validación, la primera vez que se ejecuta el comando htpasswd se utiliza el parámetro –c para que cree el archivo, si se añaden nuevos usuarios y se mantiene el parámetro –c  se volverá a crear y se perderán los usuarios añadidos anteriormente.

# htpasswd -c /etc/apache2/dav_svn usuario1
# htpasswd /etc/apache2/dav_svn usuario2

Ahora se edita el fichero que gestiona el modulo de apache, se puede editar con cualquiera de los editores instalados en el sistema como pueden ser vi, pico, joe…

# pico /etc/apache2/mods-available/dav_svn.conf

Se añada la siguiente configuración:

   1: <Location /svn> 
   2:     DAV svn  
   3:     SVNListParentPath on
   4:     SVNParentPath /srv/svn
   5:     #SVNIndexXSLT "/svnindex.xsl"
   6:     AuthType Basic  
   7:     AuthName "Repositorios de Subversion"  
   8:     AuthUserFile /etc/apache2/dav_svn.passwd  
   9:     #AuthzSVNAccessFile svnaccessfile  
  10:     Require valid-user
  11: </Location>

A continuación se muestra una tabla con una descripción del contenido del fichero de configuración.

Elemento Descripción
<Location /svn></Location> Entre estas etiquetas se introduce la configuración. También indica la dirección http donde se encontraran los repositorios.
DAV svn Indica a apache que módulo será el encargado de servir esa url
SVNListParentPath on Habilita el listado de todos los repositorios, de lo contrario es necesario añadir el nombre del repositorio tras la url, /svn/repo01, para poder acceder a ellos de forma individual. Por defecto se encuentra a off. Disponible a partir de Subversion 1.3.
SVNParentPath /srv/svn Indica la dirección del sistema donde debe de comenzar a buscar hacia abajo los repositorios.
SVNIndexXSLT "/svnindex.xsl" Utilizado para mejorar la presentación en el navegador web. Debe de encontrase en el directorio raíz de documentos.
AuthType Basic Se utiliza para activar la autentificación básica, es decir, Usuario/contraseña
AuthName "Repositorios de Subversion" Se utiliza cuando le aparezca un diálogo de autentificación al usuario como información para decirle para qué se necesita su autentificación.
AuthUserFile
/etc/apache2/dav_svn.passwd
Especifica el archivo de contraseñas utilizado para la autentificación.
AuthzSVNAccessFile Lugar del archivo de acceso para las rutas dentro del repositorio de Subversion, de tal forma que se pueda especificar de forma individual para cada repositorio que usuarios tienen permisos. Si no se utiliza, todos los usuarios podrán acceder a todos los repositorios.
Require valid-user Especifica que únicamente los usuarios validados mediante usuario/contraseña pueden acceder a los repositorios.

<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>

Encerrando la directiva Require valid-user dentro de esta anotación se permite a cualquier usuario anónimo acceder y visualizar los repositorios pero solo los usuarios validados podrán realizar cambios en ellos.

 

Por último se reinicia el servidor apache para que se apliquen los cambios.

# /etc/init.d/apache2 restart

Ahora se puede acceder a la url  http://devserver/svn  (donde devserver es el nombre o la ip del servidor) y se accederá al listado de repositorios.

Buscar en el blog

Etiquetas

Seguidores

Scrum Manager Member