:::: MENU ::::

Instalar SubVersion en Ubuntu

Os voy a explicar cómo montar un Controlador de Versiones de códigos en un Repositorio, o más bien conocido como Subversion.

En este caso lo explicaré para trabajar sobre máquinas Linux – Ubuntu. Yo en mi caso lo he montado en un Servidor Ubuntu 10.04 LTS y me va de maravilla.

Bueno pasamos a la instalación:

Primero instalamos los paquetes necesarios

sudo aptitude install apache2 subversion subversion-toolslibapache2-svn

sudo apt-get install subversion libapache2-svn

Creamos la ruta del repositorio ejemplo : /svn/repositorio

sudo mkdir /ruta/de/la/raiz/de/repositorios

Editamos el archivo dav_svn.conf de la carpeta /etc/apache2/mods-enabled/

DAV svn
SVNParentPath /ruta/de/la/raiz/de/repositorios
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user

Creamos los módulos necesarios

a2enmod
$> Module name?
auth_basic


a2enmod
$> Module name?
authn_file

a2enmod
$>Module name?
authz_user

Creamos el primer usuario

sudo htpasswd -cb /etc/apache2/dav_svn.passwd nombre_usuario contraseña_usuario

Los siguientes usuarios

sudo htpasswd -D /etc/apache2/dav_svn.passwd nombre_usuario

Te pedira la contraeña y ponemos la que queramos

Eliminar usuarios (si se deseara)

sudo htpasswd -D /etc/apache2/dav_svn.passwd nombre_usuario

Creamos el repositorio

sudo mkdir /raiz/de/repositorios/nombre_repositorio

svnadmin create /raiz/de/repositorios/nombre_repositorio

sudo chown www-data:www-data /raiz/repositorios

sudo chmod 766 /raiz/repositorios/repositorio

sudo /etc/init.d/apache2 start

Comprobamos que todo ha ido bien

http://localhost/raizderepositorio/nombre_repositorio

Si queremos crear grupos de usuarios

Editamos /etc/apache2/mods-enabled/dav_svn.conf

Quitar la almohadilla a : AuthzSVNAccessFile /etc/apache2/dav_svn.groups

Lo guardamos y salimos

Ahora creamos el fihero dav_svn.groups

cd /etc/apache2/
sudo nano dav_svn.groups

Lo editamos por ejemplo

[groups]
grupo1: pepe, paco, maria

[repo1:/]
@grupo1: rw

Salimos (ctrl+x) y lo guardamos

Reiniciamos apache

sudo /etc/init.d/apache2 restart

Bueno pues nada mas. Saludos a todos, gracias por leerme.


BackUps automáticos para PostgreSQL

En este Post voy a explicar cómo hacer backups automáticos para PostgreSQL en Ubuntu y además cómo mandar la copia de la
base de datos a otra máquina diferente. Cliente – Servidor.

Así que empecemos.

Crear las autorizaciones oportunas entre Cliente y Servidor.

sudo apt-get install openssh-server (tanto en el servidor como en el cliente)

ssh-keygen -t dsa (en el servidor)

Ahora en la carpeta home/tuusuario/.ssh del servidor habrá un archivo llamado id_dsa.pub, lo abrimos y copiamos el contenido en
home/tuusuario/.ssh del cliente en un archivo llamado authorized_keys, si no está lo creamos. Así ya tenemos creado el enlace
para realizar una conexión segura entre cliente y servidor, además nos quitamos el tener que introducir la contraseña de
validación.

Creación del Script.

En el servidor, desarrollamos el script para realizar las copias de datos en PostgreSQL, por ejemplo en home/usuarioservidor/ creamos un fichero llamado backups.sh y le damos propiedades 755. El script es el siguiente:

#!/bin/bash
#=============================================================================================
# Script Backup Databases PostgreSQL - Tomeu Roig
# =============================================================================================


# Procedimiento de Copia de Seguridad de Servidor de Postgres

## BEGIN CONFIG ##
BACKUP_DIR="/var/backups/ejemplo/" #Dirección de ejemplo donde se guardaran los backups
USER= tuusuario
FECHA=$(date +%d-%m-%Y)
FECHA_BORRADO=$(date +%d-%m-%Y --date=''10 days ago'')
BACKUP_DIR_TODAY=$BACKUP_DIR$FECHA/
## END CONFIG ##
export PGPASSWORD= tupass

if [ ! -d $BACKUP_DIR ]; then
mkdir -p $BACKUP_DIR
fi

echo $BACKUP_DIR_TODAY
if [ ! -d $BACKUP_DIR_TODAY ]; then
mkdir $BACKUP_DIR_TODAY
fi

#Leemos todas la bases de datos existente en Postgres, para despues realizar la copia una a una
POSTGRE_DBS=$(psql -U $USER -l | awk ''(NR > 2) && (/[a-zA-Z0-9]+[ ]+[|]/) && ( $0 !~ /template[0-9]/) { print $1 }'');
#Realizamos la copia de seguridad de cada una de ellas y las guardamos en un directorio de backups
for DB in $POSTGRE_DBS ; do
echo "* Backuping PostgreSQL data from $DB@$HOST ..."
pg_dump -U $USER --format=c -f $BACKUP_DIR_TODAY$DB.backup $DB

#Borramos las copias con una antiguedad mayor a 10 dias
rm -rf $BACKUP_DIR$FECHA_BORRADO
echo "finalizada $DB ..."
done

# Las empaquetamos y las copiamos en otro servidor de respaldo.
# Una vez realizado borramos el empaquetado.
cd $BACKUP_DIR_TODAY
echo "...empaquetamos las DBs del $FECHA..."
tar czvf dbs-$FECHA.tar.gz *.backup

echo "... enviamos una copia a un sitio distinto por scp..."

scp /var/backups/ejemplo/$FECHA/dbs-$FECHA.tar.gz usuarioservidor@ipservidor:/home/usuarioservidor/Backups_OSP/dbs-$FECHA.tar.gz

Lanzar el script automáico (si se desea)

Para terminar, vamos a hacer que ese script se lance cada cierto tiempo en el servidor, para ello vamos a utilizar una herramienta para ubuntu llamada crontab:

sudo apt-get install cron

cd /etc/

sudo nano crontab

Y ponemos en ese archivo: 15 22 * * * usuarioservidor /home/usuarioservidor/backups.sh

Esto indica que se hará todos los días a las 22:15

Lanzar el script manual (si se desea)

cd /home/usuarioservidor/

sh backups.sh

Pues nada, ya está todo montado. A disfrutar de los backups.

Saludos.

 


Migraciones de datos OpenERP

De todos es sabido la importancia de las migraciones de datos cuando intentas trasladar el Sistema de Gestión Interno de una empresa a su nuevo ERP, en este caso a OpenERP.

Existen 3 formas básicas de realizar migraciones de datos para OpenERP:

1 – Creación de un módulo: este caso es muy necesario cuando se precisa de la creación de campos autocompletados por el framework de OpenERP. Mas información Aquí.

2 – Usar la herramienta que facilita OpenERP para exportar ficheros. Pero recomiendo antes de nada exportar los datos ejemplos desde OpenERP, luego modificar ese documento con tus datos y al final importar los datos a OpenERP. Así se evitarán conflictos. Pero este punto no os servirá si tenéis datos de un módulo que dependen de otros módulos. Es recomendable por ejemplo si queréis exportar una lista simple de empleados, pero no es recomendable para el tratado de clientes con sus cuentas contables y a su vez con los pedidos de estos, para eso es mejor ver el siguiente punto del tema.

3 – Hacerse con el dominio de la herramienta Kettle (una maravilla) y combinarla con la creación de un módulo del punto 1, ya que de este modo no nos saltaremos la creación de campos autocompletados (siempre que fuesen necesario). Porque Kettle no es capaz de crear estos últimos o al menos yo no lo he conseguido diseñar. De todos modos, creo que no es posible.

Bueno espero que mas o menos tengáis una idea clara de cómo navegar por este gran mundo de las migraciones de datos para OpenERP 😉


Pentaho – Kettle – Ubuntu

Kettle es un Software que nos permite extraer, transformar e importar datos de cualquier formato a otro. De una manera simple, elegante y eficaz.

Kettle es una herramienta perfecta cuando tenemos que hacer migraciones de datos en formatos distintos. Y se ha convertido en una de esas herramientas imprescindibles para todos aquellos que nos dedicamos al Desarrollo de Software.

Ahora voy a explicar cómo instalar Kettle en Ubuntu 10.04.

Primero nos descargamos de aquí la versión 4.2.0 del programa.

Luego nos situamos con el terminal de Ubuntu en la carpeta donde se ha descargado el archivo y hacemos los siguientes pasos:

tar -zxvf pdi-ce-4.2.0-stable.tar.gz

mv data-integration pdi-ce-4.2.0-M2

cd pdi-ce-4.2.0-M2/

./spoon.sh

Pues con estos sencillos pasos ya tendremos el programa en ejecución.

Saludos.


FreeNX – Escritorio Remoto

FreeNX es un software que ha uso de la tecnología NX que sirve para manejar conexiones remota, que le proporcionan un rendimiento netamente superior al de otras soluciones de este tipo como VNC. También emplea SSH para cifrar la conexión entre servidor y cliente.

En este ejemplo voy a explicar cómo instalar FreeNX es una máquina con Ubuntu que hará de Servidor y cómo en otra máquina instalaremos el cliente para poder trabajar por remoto.

 

FreeNX, Instalación en el Pc Ubuntu que hará de servidor

 

sudo apt-get install python-software-properties

sudo add-apt-repository ppa:freenx-team

sudo apt-get update

sudo apt-get install freenx

wget https://bugs.launchpad.net/freenx-server/+bug/576359/+attachment/1378450/+files/nxsetup.tar.gz

tar -xvf nxsetup.tar.gz

sudo cp nxsetup /usr/lib/nx/nxsetup

sudo /usr/lib/nx/nxsetup --install

sudo dpkg-reconfigure freenx

sudo gedit /etc/nxserver/node.conf

Editamos: SSHD_PORT=4444 ENABLE_PASSDB_AUTHENTICATION="1"

sudo nxserver --adduser nombre_usu_ubuntu

sudo nxserver --addpasswd pass_usu_ubuntu

sudo nxserver --restart

FreeNX, Instalación del cliente (windows, ubuntu ó Mac)

Descargamos e instalamos:

http://www.nomachine.com/select-package-client.php

Editamos:
Host: Ip de tu pc que hará de host ó la ip pública de tu router (lo explico más abajo)
Port: en nuestro caso 4444
Desktop: tipo de escritorio (Ubuntu por ejemplo es Unix y Gnome)
Display: Available Area

Notas de conexión:

En la parte de Host, si es por red local, insertamos la ip del equipo local que hará de host. Pero
si es por red externa (para trabajar desde casa) tendremos que ligar nuestra ip pública a la
ip del equipo que hará de host y por supuesto abrirle el puerto a esa ip pública, en nuestro caso
el 4444. Esto se hará en el panel de administración de nuestro router.

Saludos.


Páginas:1234567