Archive for 'EPP'

Backup sencillo via FTP para Windows 2003

Existen programas de automatización de tareas y clientes FTP que ejecutan subidas o bajadas programadas, pero todos los que son freeware son bastante cutres. Una solución económica (en realidad gratis) y sencilla de montar es usar las Tareas Programadas del propio Windows en conjunto con el cliente FTP de la línea de comandos. Vamos a volver a nuestros orígenes early 90’s para usar el MS-DOS!!

Nuestro propósito es hacer que a las 00:00 se cree un archivo comprimido que comprenda el contenido de una carpeta donde se guardan los datos de un software de gestión cualquiera. Tenemos tres tareas que realizar:

  • Editar un archivo .BAT o .CMD que cree el archivo comprimido usando la versión de RAR (por ejemplo) de MS-DOS y que ejecute el cliente FTP usando un archivo de texto donde hemos automatizado los comandos a teclear.  En este caso, la opción “a” de RAR añadirá los archivos modificados a nuestro fichero comprimido. Nos quedaría algo así:
rar.exe a c:\backup\backup.rar c:\software_gestion\datos
ftp -s:backup_ftp.txt
  • Crear una archivo de texto para el cliente FTP. Lo crearemos usando los comandos que vayamos a necesitar:
open ftp.servidor.com
usuario
contraseña
cd directorio_principal
cd backups
send backup.rar
bye
  • Ahora tan solo tenemos que hacer que se ejecute a la hora deseada.  Vamos a Tareas Programadas, dentro de Panel de Control y añadimos la ejecución del archivo .BAT o .CMD dentro del horario y de la programación diaria deseada.

tarea_programada

Cyberpac: TPV de La Caixa para CubeCart

Aun sin tener ni pajolera idea de programación ni de PHP he conseguido modificar un gateway de los que vienen por defecto en el CubeCart para integrarlo con el sistema Cyberpac que usa La Caixa.

En realidad ha resultado muy sencillo. El único problema que he experimentado ha sido el tener que renunciar al formato de número de pedido que usa CubeCart, por contener guiones, y lo he cambiado por el que sugiere el ejemplo… la fecha vamos.

He creado las variables necesarias en el archivo de administración:

$module['desc'] -> descripcion
$module['id'] -> identificador de comercio
$module['key'] -> clave SHA1
$module['term'] -> codigo de terminal
$module['currency'] -> moneda
$module['merchanturl'] -> URL de la tienda

Y en el archivo principal he modificado las variables globales que devuelve CubeCart (lo he dicho bien??) para que la web de transacciones no dé error:

$order = date(‘ymdHis’);  //el tema de antes, como número de pedido usaremos la fecha con segundos

$transactionType=’0′; //creo que hay distintos tipos de transacción, pero esta es la que tiene que ser.

$amount=$orderSum['prod_total']*100; // el valor que envía CubeCart como total luego la pasarela de pago lo interpreta como dividido entre 100, por lo que lo multiplicamos.

$message=$amount.$order.$module['id'].$module['currency'].$transactionType.$module['merchanturl'].$module['key'];

$signature = strtoupper(sha1($message)); //esto es la firma de todos los conceptos que enviamos a la pasarela de pago. Se juntan en una sola variable y se codifican con la clave que nos dan mediante SHA1.

En fin, en el formulario que vamos a enviar mediante post tienen que existir los siguientes valores:

<input type=’hidden’ name=’Ds_Merchant_Amount’ value=’”.$amount.”‘ />

<input type=’hidden’ name=’Ds_Merchant_Currency’ value=’”.$module['currency'].”‘ />

<input type=’hidden’ name=’Ds_Merchant_Order’ value=’”.$order.”‘ />

<input type=’hidden’ name=’Ds_Merchant_MerchantCode’ value=’”.$module['id'].”‘ />

<input type=’hidden’ name=’Ds_Merchant_Terminal’ value=’”.$module['term'].”‘ />

<input type=’hidden’ name=’Ds_Merchant_TransactionType’ value=’”.$transactionType.”‘ />

<input type=’hidden’ name=’Ds_Merchant_MerchantURL’ value=’”.$module['merchanturl'].”‘ />

<input type=’hidden’ name=’Ds_Merchant_MerchantSignature’ value=’”.$signature.”‘ />”;

Y como colofón final, nos agenciamos de la última parte del gateway de PayPal para usarlo de forma similar, diferenciando modo de prueba (sandbox) o modo en producción:

if($module['testMode']==1) {

$formAction = “https://sis-t.sermepa.es:25443/sis/realizarPago”;
$formMethod = “post”;
$formTarget = “_self”;

} else {

$formAction = “https://sis.sermepa.es/sis/realizarPago”;
$formMethod = “post”;
$formTarget = “_self”;

}

Si no te apetece copiar y pegar te lo puedes bajar de aquí -> cyberpac

Economizando – Parte 1

Con la idea de reducir la factura de la electricidad se me ocurrió cambiar los discos duros de los sistemas que menos los usan por tarjetas compactflash. Hice la prueba con el PfSense. Le quité el disco IDE de 20GB que tenía en marcha y le metí el cacharro este que me costó 5€ con una tarjeta de las buenas de 2GB. El resultado fue formidable y no ha dado  ningún problema. Aquí se puede ver el servidor PfSense con sus cuatro tarjetas de red y la compactflash introducida en su ranura PCI. La otra imagen muestra los 30 gloriosos días que la máquina lleva en marcha desde el último reinicio.

No conforme con este cambio me aventuré a ir un poco más lejos. Como tenía en mente darle la patada a TrixBox por sus múltiples incongruencias y violaciones de lo que muchos entendemos por código abierto y community, pensé en cambiar a Elastix y de paso meter otra tarjeta compactflash en este sistema. Resultado, cuatro gigabytes son más que suficientes y va como un tiro. Muy pronto nuevas ideas para ahorrar dinerito todos los meses!!

Añadir “root-path” al DHCPD de m0n0wall 1.3

Montar un servidor LTSP en Ubuntu es relativamente fácil, pero en el caso de Fedora me he encontrado con un problemilla extra al querer usar el monowall bajo Soekris 45xx como DCHP. El caso es que resulta imposible añadir la opción “root-path” al dhcpd.conf del monowall de manera standard, así que tiré de google para buscar una solución.

El tema tiene miga, y el único apaño que he encontrado consiste en descomprimir la imagen, realizar los cambios oportunos y volverla a comprimir. Básicamente hay que instalar FreeBSD o PCBSD en una máquina física o virtual, descomprimir la imagen .img usando el script workon.sh, modificar el archivo services.inc, recomprimir e instalar la imagen. Yo he usado la versión bootonly de FreeBSD que solo ocupa 33MB y tiene todo lo necesario. Seguí los pasos de este post en el foro oficial de monowall:


K, here go’s
My example shows my need for “option root-path” for Linux Terminal Server” and PXE booting
Install PC-BSD on a spare PC or Virtual Machine.
Make a new directory. I used “mono”.
Download your needed monowall image into this directory.
Download “workon.sh” script from http://chrisbuechler.com/index.php?id=20 into this same directory.
Note: The “workon.sh” script has more instruction’s on how to use it.

Open a terminal and type “su”. enter your root password
cd into your mono directory and type “chmod +x workon.sh”

Now to extract the image type, for example “./workon.sh net48xx-1.23.img”
Now you can modify the image how you want before repacking it.

K, now I’m not real comfortable using VI for editing. I like to use a GUI editor and will explain how I used “KEdit” as root to do it. You need to edit as root.
Open a new terminal and type “su” and enter your root password.
Now type “kedit”. Your are running KEdit as root

Now the changes to the image.
With KEdit, click “File” then “Open” and Browse to and open <your-home-dir>/mono/mnt2/etc/inc/services.inc

Look for these lines in services.inc
if ($dhcpifconf['next-server'])
$dhcpdconf .= “   next-server {$dhcpifconf['next-server']};\n”;
if ($dhcpifconf['filename'])
$dhcpdconf .= “   filename \”{$dhcpifconf['filename']}\”;\n”;
Enter this line directly under it.
if ($dhcpifconf['root-path'])
$dhcpdconf .= “   option root-path \”{$dhcpifconf['root-path']}\”;\n”;

Save and exit KEdit.
Type “exit” in the terminal where you started the “workon.sh” script to repack the image.

That it, Your done.
Upload your new image
Now you have and extra option in your config.xml
Mine looks like this.
<next-server>192.168.1.101</next-server>
<filename>/ltsp/i386/pxelinux.0</filename>
<root-path>/opt/ltsp/i386</root-path>

Hope this helps get what you need.
You could probably setup something like this.
<option1>time server</option1>
<option2>something else</option2>
<option3>something else</option3>
<option4>something else</option4>

If you don’t enter the tag in the config.xml, it doesn’t get written to the dhcpd.conf.
Good Luck,
-slick

Kudo’s/Credits:
Manuel Kasper
Jeb Campbell
Chris Buechler

El problema que me encontré más adelante es que el script workon.sh no funciona correctamente para la rama beta de monowall (1.3), así que hay que modificarlo de esta manera:


Finally found the answer. For anyone curious, workon.sh doesn’t work for 1.3 series m0n0wall.you need to edit workon.sh:

line mount /dev/md90 mnt1
changes to mount /dev/md90a mnt1

Regards

Modificación de la shell para la ejecución y del parámetro /dev/md90

Tras ejecutar el script

Modificación del archivo services.inc

Hay que renombrar la imagen modificada a embedded-1.3b14.img para que monowall la acepte

Nos dará un mensaje de advertencia diciendo que la imagen no está oficialmente firmada

Aceptamos y esperamos a que reinicie

Ahí lo tenemos en el config.xml!!

Alfresco vs. Knowledgetree. Interesante comparativa

alfrescologo200.png

knowledgetree-dmms-logocolumn.png

Buscando por ahí he encotrado una interesante comparativa de agosto del 2007 en el blog del neozelandés Daniel Chalef que incluso los desarrolladores de Knowledgetree publicaron en su sitio. Sin querer queriendo os he adelantado el resultado :)

http://stateless.geek.nz/2007/08/15/alfresco-vs-knowledgetree-first-look/

http://people.knowledgetree.com/daniel/2007/09/23/knowledgetree-ve…