lunes, 7 de julio de 2014

Montar un repositorio Git en Debian 7

Qué es Git según Wikipedia?

Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente. Al principio, Git se pensó como un motor de bajo nivel sobre el cual otros pudieran escribir la interfaz de usuario o front end. Sin embargo, Git se ha convertido desde entonces en un sistema de control de versiones con funcionalidad plena. Hay algunos proyectos de mucha relevancia que ya usan Git, en particular, el grupo de programación del núcleo Linux.

Para poder montar un repositorio Git en nuestro Servidor debemos seguir los siguientes pasos:

PASOS A REALIZAR EN EL SERVIDOR
  1. Debemos tener instalado un servidor SSH en la máquina que convertiremos en repositorio, dicho servidor SSH nos permitirá realizar conexiones desde el exterior.

    root@server~$: apt-get install openssh-server
  2. Vamos a crear un usuario para nuestro repositorio de Git, para ello corremos el comando adduser [username] y completamos el formulario.

    root@server~$: adduser gituser  # Escogí el usuario gituser para este ejemplo.
  3. Ahora procedemos a instalar Git:

    root@server~$: apt-get install git-core
  4. Una vez creado el usuario, gituser para el ejemplo, e instalado git-core vamos a crear un directorio con un nombre alusivo a lo que contendrá el repositorio en el home del usuario que creamos. Para -este ejemplo vamos a crear un repositorio para el código de un proyecto llamado tesis.git .
    Los pasos siguientes vamos a realizarlos con el usuario que creamos.

    root@server~$: su gituser  # nos logueamos con el usuario gituser
    password: [el password que escogieron para este user]
    gituser@server~$: mkdir tesis.git  # creamos el directorio tesis.git
    gituser@server~$: cd tesis.git  # ingresamos al directorio tesis.git
  5. Una vez dentro del directorio que creamos para nuestro proyecto, procedemos a inicializarlo.

    gituser@server~$: git init --bare

PASOS A REALIZAR EN EL CLIENTE

  1. Primero para poder realizar los siguientes pasos debemos tener instalado un cliente git, en las distribuciones basadas en Debian basta con ejecutar el siguiente comando:

    root@colmenalabs~$: apt-get install git

  2. Creamos un directorio donde queremos depositar nuestros repositorio en la máquina local, en mi caso voy a crear una carpeta project/mytesis en mi directorio home.

    root@colmenalabs~$: su debianitram
    debianitram@colmenalabs~$: mkdir /home/$USERNAME/projects  # Creamos Directorio Projects
    debianitram@colmenalabs~$: mkdir /home/$USERNAME/projects/mytesis
    debianitram@colmenalabs~$: cd /home/$USERNAME/projects/mytesis # ingresamos al directorio
  3. Una vez creado el directorio "projects/mytesis" y accedido al mismo procedemos a clonar el repositorio que inicializamos en el servidor.

    debianitram@colmenalabs~$: git clone gituser@[dominio_o_ip]:/home/gituser/tesis.git
    # Donde [dominio_o_ip] se corresponde al dominio o ip de nuestro servidor por ejemplo gituser@10.10.10.100:/home/gituser/tesis.git o gituser@midominio:/home/gituser/tesis.git
  4. En mi caso voy abrir el programa Write de la Suite Libre Office y voy a crear un documento para comenzar a redactar mi tesis, podría ser cualquier documento, o el repositorio podría tratarse de cualquier proyecto, en este ejemplo quería hacer algo diferente para lo cual es habitual utilizar un control de versiones (Desarrollo de softwares).
  5. Pasan algunos minutos ... Tal vez varias horas ...
  6. Listo, terminé de escribir la primera parte del proyecto mytesis, ahora hay que enviar todas las modificaciones que hice al servidor.

    debianitram@colmenalabs~$: git commit -am 'Subiendo la primera parte de la redacción del Tesis'debianitram@colmenalabs~$: git push origin master
    password: [Ingresamos el password que asignamos a nuestro usuario gituser en el servidor].
Listo! Ahora tenemos un repositorio para el control de versiones de nuestros proyectos. Para más información acerca de los comando de git puden observar en esta página. Mas info

viernes, 4 de julio de 2014

Generar Archivo .doc desde html con php

Hola,

Si necesitamos generar un archivo .doc basado en una web html, podemos hacerlo agregando unas lineas al inicio del archivo php.
*** Es importante que estas lineas se agreguen en las primeras lineas del .php

<?php
        header("Content-type: application/vnd.ms-word");
        header("Content-Disposition: attachment; Filename=ConAtecedentes.doc");
?>

De este modo, cuando se abra la web en cuestión,  generará un archivo .doc para descargar, con el contenido html que tenga esa web.

miércoles, 2 de julio de 2014

Backup Base de Datos PostgreSQL

Para realizar un backup a una base de datos PostgreSQL necesitamos realizar los siguientes pasos:
  • Primero y antes que nada deberíamos de tener instalado el servidor de base de datos de PostgreSQL, y una base de datos con sus respectivas tablas y datos en ellas.
  • Segundo: loguearnos con el usuario de nuestro motor de base de datos, para ello ejecutamos el siguiente comando.
    debianitram@colmenalabs:~$ su postgres
    Password: [Ingresan la password del usuario postgres]NOTA: Si no saben la contraseña del usuario postgres pueden loguearse como root y luego ejecutar el siguiente comando: passwd postgres y completen el formulario.
  • El paso siguiente es realizar el buckup propiamente dicho de una base de datos, en el ejemplo la base de datos es llamada saise.
    postgres@colmenalabs:~$ pg_dump saise > /tmp/backup_saise.sql
Con los pasos que se mencionaron arriba ya tendríamos un backup de la base de datos saise, para el caso del ejemplo, situada en el directorio /tmp.

Los pasos de restauración de la base de datos son los siguientes:
  • Primero debemos repetir los dos primeros pasos que se mencionaron arriba.
  • Una vez logueados ingresamos a la Terminal Interactiva de PostgreSQL con el siguiente comando:
    postgres@colmenalabs:~$ psql
  • Siguiendo con el ejemplo vamos a realizar los siguientes pasos: Suponiendo que la base de datos está creada la vamos a eliminar con el comando DROP DATABASE [nombre_de_la_base];
    postgres=# DROP DATABASE saise;
  • Ahora creamos nuevamente la base de datos:
    postgres=# CREATE DATABASE saise;
  • Finalmente salimos de la Terminal Interactiva tecleando \q y presionamos [Enter]

Ahora siguiendo logueado con el usuario postgres volcamos el backup a la nueva base de datos:
  • postgres@colmenalabs:~$ psql saise < /tmp/backup_saise.sql


NOTA:

  • Los pasos anteriores fueron realizados en el Sistema Operativo GNU/Linux -> Debian 7.
  • Los pasos para instalar el motor de base de datos PostgreSQL son los siguientes:
    debianitram@colmenalabs:~$ su # Nos logueamos como usuario root
    Password:
    root@colmenalabs:~$ apt-get install postgresql-9.1