martes, 17 de julio de 2012

Configuración de SVN


1.1 Instalación 



Para conectarse al servidor Subversión desde una plataforma Windows podemos utilizar la herramienta SHH.
Para una conexión exitosa debemos conocer algunos datos específicos del servidor
Como por ejemplo:

1.- Host Name
              2.- User Name
              3.- Port Number

En caso de no conocer estos datos, deben ser entregados por tu administrador de red o tu jefe de proyecto



            En el Botón “Quick Connect” se Introducen los datos para poder establecer la conexión con el servidor Sub-Versión


Posteriormente al introducir los datos correctamente, aparecerá otra pantalla lo cual nos pedirá una contraseña, de lo contrario te conectaras inmediatamente.
En nuestro caso existe una contraseña, lo cual debemos ingresarla.





Una vez ingresada la contraseña deberíamos ver una pantalla muy similar a la siguiente figura, obviamente debemos aclarar que las carpetas no necesariamente deben ser las mismas.

Una vez que veamos una pantalla similar a esta debemos ir al mando de consola (Nuevo Terminal Windows), para poder crear una nueva carpeta para nuestro nuevo proyecto.




Cuando veamos esta consola quiere decir que ya estamos conectados al servidor sub-versión para poder crea nuestro repositorios.



1.2 Crear un Cliente y un Proyecto


Primero debemos posicionarnos en la carpeta SVN de nuestro servidor, para ello debemos aplicar unos comandos de consola para ir a nuestra carpeta SVN.
            Nuestra aplicación SSH nos aparece en [root@arquitectura ~]# por defecto, lo cual nosotros tenemos que ir a la carpeta /var/www/svn, los comando para llegar a nuestra carpeta son los siguientes:

[root@arquitectura ~]# cd ..
[root@arquitectura /]#  ls
bin   dev  home  lib64       media  mnt  opt   root  selinux  sys  usr
boot  etc  lib   lost+found  misc   net  proc  sbin  srv      tmp  var
[root@arquitectura /]# cd var
[root@arquitectura var]# ls
account  cvs    ftp    gpi    lock  nis       run    webmin
cache    db     games  lib    log   opt       spool  www
crash    empty  gdm    local  mail  preserve  tmp    yp
[root@arquitectura var]# cd www
[root@arquitectura www]# ls
bug      error  icons            manual            phpmyadmin  usage
cgi-bin  html   mantisbt-1.2.10  mediawiki-1.19.0  svn
[root@arquitectura www]# cd svn
[root@arquitectura svn]# ls
Cliente1, cliente 2, cliente 3


Para crea una carpeta de nuestro cliente, recuerda que tienes que estar posicionado en la carpeta [root@arquitectura svn]# y escribir el siguiente comando

-       [root@arquitectura svn]# mkdir nombreDelCliente


Ahora que ya tenemos nuestro cliente Sura creado, le crearemos un proyecto, en nuestro ejemplo el proyecto se llamara Control Derivados

-       [root@arquitectura svn]# svnadmin create /var/www/svn/cliente/proyecto

Bueno ya que tenemos nuestro  Cliente y nuestro proyecto creado, ahora vamos a modificar nuestro alias de “Apache”

-       [root@arquitectura svn]# vi /etc/httpd/conf.d/subversion.conf

Vi es el comando que nos servirá para poder editar el archivo subversión.cong, recuerda que para poder ver el  contenido del archivo debes descender en la consola, con las flechas ↓ del teclado, no con la barra deslizadora ni con el SCROLL del mouse.
            Cuando te encuentres al final del archivo subversión.cong debieras visualizar algo parecido a esto

<Location /svn/cliente/proyecto>
        DAV svn
        SVNPath /var/www/svn/cliente/proyecto
        AuthType Basic
        AuthName "Repositorio Time Track"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>


Obviamente el código anterior es un extracto de lo que puede llegar a hacer el archivo en general.
El código  nos indica que existe un cliente llamado LAN y con un proyecto llamado “ilearningsql”, para agregar nuestro proyecto sura/controlderivados debemos copiar el extracto y remplazarlo por nuestros datos, en nuestro ejemplo el extracto del código seria el siguiente


<Location /svn/cliente/proyecto>
        DAV svn
        SVNPath /var/www/svn/cliente/proyecto
        AuthType Basic
        AuthName "Repositorio Time Track"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>

Este extracto de código debemos agregarlo al final del archivo subversión.cong lo cual nuestro archivo debiera quedar de esta forma

<Location /svn/cliente/proyecto>
        DAV svn
        SVNPath /var/www/svn/cliente/proyecto
        AuthType Basic
        AuthName "Repositorio Time Track"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>
<Location /svn/cliente/proyecto>
        DAV svn
        SVNPath /var/www/svn/cliente/proyecto
        AuthType Basic
        AuthName "Repositorio Time Track"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>

Para salir del editor debes de guardar los cambios (:wq), en caso que erróneamente escribas algo inadecuado o quieres deshacer los cambien, están los siguientes códigos que te pueden ser muy útil.

Comando
Descripción
:q
Salir del editor (sin guardar la información)
:q!
Obliga al editor a cerrarse sin guardar la información (incluso si se realizaron cambios en el documento)
:wq
Guarda el documento y cierra el editor
:filenombre
Guarda el documento con el nombre especifica

Ahora le daremos propiedades de solo lectura a nuestro nuevo proyecto, esto lo hacemos con el siguiente comando

-       [root@arquitectura]# chown -R apache.apache /var/www/svn/cliente/proyecto

Para que Apache tome los cambios realizados debemos reiniciar el servidor, esto lo hacemos de la siguiente manera

-       [root@arquitectura]# service httpd restart

El Mensaje debería ser el siguiente:

Parando httpd:                                                                                                                                                                                                                              [  OK  ]
Iniciando httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName             [  OK  ]




1.3   Rol de Usuarios


Sub-Versión cuenta con la propiedad de restringir el acceso a nuestros repositorios, el método más sencillo de configuración es el siguiente:

Primero: Debemos crear un fichero, para definir los usuarios y a qué proyectos pueden acceder, para crear un fichero debemos ir a la dirección /var/www  cuando estemos en este directorio, creamos un archivo de texto plano, este archivo lo podemos crear con la siguiente línea de comando

[root@arquitectura]# > svn_access_control   (donde svn_access_control es el nombre del archive, lo puedes cambiar por el que más te acomode)

Segundo: Ya que tenemos nuestro archivo creado, necesitamos editarlo y agregar nuestros proyectos y usuarios, el archivo lo editamos de la siguiente manera
    [root@arquitectura svn]# vi /var/www/ svn_access_control
Presionando la tecla S, activas el modo para editar el archive de texto. En el archivo de texto debemos agregar las siguientes características:

[groups]
Grupo1 = usuario1, usuario2
Admin = usuario3, usuario4

[migracionmi:/]
@Grupo1 = rw

[/]
@Admin = rw

Nota:
1.    Grupo 1 puede entrar solo al repositorio migracionmi ósea los usuarios (usuario1 y usuario2)
2.    [migracionmi:/]  es el repositorio que creaste con el comando  svnadmin create /var/www/svn/cliente/migracionmi
3.    @Admin = rw  es el comando para que los usuarios tengan permiso a todos los repositorios, en nuestro ejemplo (usuario3 y usuario4 pueden acceder a todos los repositorios)
4.    R = lectura y W= escritura RW= Permiso de lectura y Escritura



Tercero: Ahora tenemos que editar el archivo subversión.cong e indicarle que existe un archivo de acceso a repositorio en nuestro ejemplo anterior habíamos visto como editar el archivo subversión.cong lo cual lo editamos de la siguiente manera

-       [root@arquitectura svn]# vi /etc/httpd/conf.d/subversion.conf

Una vez que estemos en el archivo veremos el siguiente código

<Location /svn/cliente/migracionmi>
        DAV svn
        SVNPath /var/www/svn/cliente/migracionmi
        AuthType Basic
        AuthName "Repositorio Time Track"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>

Nota: esto es un extracto del archivo original
Ahora debemos especificarle al archivo subversión.cong que existe un archivo de acceso de usuarios, este parámetro se le agrega de la siguiente manera


<Location /svn/cliente/migracionmi>
        DAV svn
        SVNPath /var/www/svn/cliente/migracionmi
        AuthType Basic
        AuthName "Repositorio Time Track"
        AuthUserFile /etc/svn-auth-conf
        AuthzSVNAccessFile /var/www/svn_access_control
       Require valid-user
</Location>

Una vez ya modificado el archivo guardamos los cambios con el comando: wq y listo, ya tenemos nuestro repositorios protegidos
Recuerda reiniciar el servidor apache para que reconozca los cambios
-       [root@arquitectura www]# service httpd restart


lunes, 16 de julio de 2012

Importación Base de Datos por Consola


Ahora indicaremos como importar una base de datos superior a 2 megas de peso en phpmyadmin

1.- Primero tenemos que entrar a nuestra interfaz web de phpmyadmin, ponemos en nuestro browser localhost/phpmyadmin , luego ingresamos nuestra clave de usuario y contraseña que por lo general el usuario es root y las pass varia dependiendo del usuario, una vez dentro de la interfaz de phpmyadmin creamos una base de datos con el nombre que estimemos conveniente.

2.- Ya que tenemos nuestra base de datos ya creada (sin ninguna tabla, solo la base de datos), vamos a archivo de programa en windows e identificamos donde esta instalado nuestro servidor web, en mi caso que tengo wampserver mi carpeta es wamp , puede ser también appserver etc. las carpetas de su interior dependiendo de un servidor u otro son mas o menos las mismas no varían mucho pero tenemos que identificar la carpeta bin de mysql en mi caso seria esta wamp/bin/mysql/mysql5.5.24. ya que tengo la carpeta identificada, presionando la tecla shift del teclado hacemos click derecho sobre la carpeta BIN y presionamos sobre la opción “abrir ventana de comando aquí”                

3.-Una vez en la consola de comando ingresamos el siguiente código mysql, debo aclarar que es codigonmysql, por ende sirve tanto como para windows y linux 

 C:\wamp\bin\mysql\mysql5.5.24\bin>mysql -h localhost -u root -D nombrebasededatos -f < c:\ruta.sql
   en mi caso seria algo así:

 C:\wamp\bin\mysql\mysql5.5.24\bin>mysql -h localhost -u root -D nombrebasededatos -f < c:\sql.sql


Nota:

1.- el script de la base de datos le puse un nombre sql.sql y lo deje en el directorio  c: para facilitar el acceso al archivo por linea de comando

2.- -u root : es el nombre de usuario

3.- nombredelabasededatos es el nombre que le pusiste a la creación de la base de datos por la interfaz  web de phpmyadmin

4.- en caso de que tengas algún error, es muy probable que veas tu script, debes de fijarte si tiene script tiene el create table , puede que no lo tenga y no te va a funcionar.