Feb 24
Una forma para realizar comunicación entre los prims internos de OpenSimulator o Second Life y el mundo externo es a través del uso de XML-RPC el cual permite enviar mensajes a un objeto dentro de una región, siempre y cuando este se haya registrado para recibir dicha comunicación.
Crear Script para Recibir Datos :
- Abrir nuestro visor favorito y entrar al servidor de OpenSimulator o SecondLife
- Crear un objeto
- Adicionar un Script
- Abrir el script
- Colocar el siguiente codigo :
default {
state_entry()
{
llOpenRemoteDataChannel();
}
remote_data(integer type, key channel, key message_id, string sender, integer ival, string sval) {
if(type == REMOTE_DATA_CHANNEL) {
llOwnerSay("Canal : " + (string) channel + "");
}
else if(type == REMOTE_DATA_REQUEST) {
llRemoteDataReply(channel,NULL_KEY,"Exito",1221);
llOwnerSay("Cadena : " + sval + "nNumero: " + (string) ival);
}
else {
llOwnerSay("Error");
}
}
}
- Guardar
- En este momento el servidor debe compilar el script y muestra en el chat :
[11:54] Compile successful
[11:54] Primitive: Canal : 61b5e9ca-9378-4254-af36-d78d6ed839de
- La cadena : 61b5e9ca-9378-4254-af36-d78d6ed839de es el identificador del canal por el cual escucha el prim, es diferente para cada prim
Enviar Datos con C# :
Se utilizara la libreria XmlRpcCS para realizar la comunicación entre la aplicación y el objeto en OpenSimulator o SecondLife.
- Abrir una consola
- Crear el directorio para el cliente
mkdir clientxmlrpc
- Cambiar al directorio
cd clientxmlrpc
- Copiar la libreria al directorio actual
cp ../XmlRpcCS/XmlRpcCS.dll .
- Crear un archivo Client.cs y adicionamos el siguiente codigo :
using System.Collections;
using Nwc.XmlRpc;
public class Client {
public static void Main() {
// Informacion del Servidor de Second Life
// Canal por donde escucha el cliente
string server = "http://xmlrpc.secondlife.com/cgi-bin/xmlrpc.cgi";
string channel = "eafc58de-5d8a-364e-d6d8-4c4cab0129f4";
// Parametros
Hashtable args = new Hashtable();
args.Add("Channel",channel);
args.Add("IntValue",12345);
args.Add("StringValue","Hello World!");
// Cliente XMLRPC
XmlRpcRequest request = new XmlRpcRequest();
request.MethodName = "llRemoteData";
request.Params.Add(args);
// Invocacion y Resultado
Hashtable ret = (Hashtable) request.Invoke(server);
System.Console.WriteLine(ret["StringValue"]);
System.Console.WriteLine(ret["IntValue"]);
}
}
- Compilamos el codigo :
gmcs -lib:. -r:XmlRpcCS.dll Client.cs
- Ejecutamos
mono Client.exe
- Debe mostrar en pantalla los valores enviados por el objeto
Exito
1221
- Mienstras tanto en OpenSimulator debe aparecer en el chat la informacion enviada
Hello World!!! 12345
Para usar el mismo codigo con OpenSimulator la cadena server debe tener la direccion de nuestro servidor : http://<ipServidor>:<puerto>/cgi-bin/xmlrpc.cgi
Enlaces :
Tagged with: c# • Cacharreos • mono • opensim • opensimulator • secondlife • xmlrpc
Feb 24
Actualmente algunos sistemas como OpenSimulator o Second Life utilizan servicios remotos basados en XML-RPC, por tal motivo es necesario utilizar una libreria para realizar los llamados a estos servicios, actualmente para Microsoft .NET podemos encontrar dos librerias :
Utilizaremos la libreria XmlRpcCS, la cual es utilizada por el proyecto OpenSimulator para implementar el servicio de XMLRPC que permite realizar llamados remotos a objetos en este mundo virtual.
Requerimientos :
- Debemos instalar lo paquetes para compilar la libreria
sudo apt-get install nant mono-2.0-devel libmono-winforms2.0-cil mono-1.0-devel
Construcción de la Libreria :
- Abrir una consola
- Descargar la ultima versión de la libreria
http://sourceforge.net/project/platformdownload.php?group_id=123702
- Por ejemplo la versión 1.10
wget http://ufpr.dl.sourceforge.net/sourceforge/xmlrpccs/XmlRpcCS-1.10.zip
- Descomprimir el archivo
unzip XmlRpcCS-1.10.zip
- Cambiar al directorio de la libreria
cd XmlRpcCS
- Compilar la libreria
nant
- El archivo XmlRpcCS.dll es creado
Enlaces :
Tagged with: c# • Cacharreos • libreria • mono • opensim • opensimulator • secondlife • ubuntu • xmlrpc
Feb 24
Si queremos tener acceso remoto a traves de web a los repositorios de subversion para adicionar, actualizar, descargar contenidos de los repositorios, podemos utilizar el modulo WebDAV de acceso, pero si lo que queremos es visualizar el repositorio a traves de web y poder verificar cambios, versiones, comparaciones debemos utilizar el cliente web de Subversion WebSVN.
Pasos :
- Abrir una consola
- Instalar el paquete de WebSVN
sudo apt-get install websvn
- Al momento de instalar nos pregunta si queremos configurar el acceso a los repositorios, seleccionamos la opción Yes.
- Al momento de preguntarnos por el servidor, dejamos seleccionadas todas las opciones y Ok
- Suministramos el directorio de los repositorios, antes configurado
/home/svn
y seleccionamos Ok
- Dejamos en blanco la casilla para listar todos los repositorios y Ok
- Los permisos están asignados al usuario del servidor web entonces no tendremos problemas, Ok
- El servicio termina su instalación y se reinicia el servidor web
- Abrir un navegador e ir a la dirección :
http://<ipServidor>/websvn
Enlaces :
Tagged with: Cacharreos • subversion • ubuntu • websvn
Feb 24
Podemos configurar el repositorio de subversion de tal modo que sea visible por determinados usuarios a traves de web, utilizando el modulo de acceso WebDAV del Apache2 en Ubuntu 8.10
Pasos :
- Abrir una consola
- Instalar paquete de acceso web a SVN
sudo apt-get install libapache2-svn
- Editar el archivo de configuracion de WebDAV
sudo vi /etc/apache2/mods-available/dav_svn.conf
- Adicionar al final del archivo la configuracion de SVN para visualizar todos los repositorios via web :
Esto configura el servicio de tal modo que todos los repositorios dentro de /home/svn sean visibles a los usuarios que sean autenticados por medio del archivo de claves almacenado en/etc/subversion/passwd
<Location /svn>
DAV svn
SVNParentPath /home/svn
SVNListParentPath On
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/subversion/passwd
Require valid-user
</Location>
- Reiniciar servidor web
sudo /etc/init.d/apache2 restart
Crear Usuarios :
- Para crear el primer usuario, ejecute
(cambie <usuario> por el nombre de usuario a crear) :
sudo htpasswd -c /etc/subversion/passwd <usuario>
- A continuacion suministre la clave asignada al usuario
- Para crear el segundo utilice el mismo comando pero sin la opcion -c
sudo htpasswd /etc/subversion/passwd <usuario>
Acceso Web :
- Abrir un navegador y entrar a la dirección :
http://<ipServidor>/svn
- Suministrar usuario y clave de acceso
Enlaces :
Tagged with: Cacharreos • instalacion • subversion • ubuntu
Feb 24
Subversion es un sistema de control de versiones que permite tener un control sobre las modificaciones que ha sufrido un archivo fuente en el desarrollo de un proyecto de software, haciendo posible la comparacion entre las diferentes versiones, identificar los cambios que se han producido, obtener la fecha de cada cambio e incluso el usuario que ha realizado dichas modificaciones. SVN como se conoce comumente a Subversion es una herramienta ideal para administrar desarrollo realizados por multiples programadores, asi como tambien llevar un estricto control sobre las versiones y modificaciones que ha tenido un software en su tiempo de vida, por tal motivo a continuacion describiremos como instalar un servidor de subversion en Ubuntu 8.10 :
Instalar Paquetes :
- Abrir una consola
- Instalar los paquetes necesarios
sudo apt-get install subversion
- Crear directorio para alojar los proyectos
sudo mkdir /home/svn
Crear Proyecto :
- Cambiar al directorio de proyectos
cd /home/svn
- Crear directorio con el nombre del proyecto
sudo mkdir project
- Cambiar el dueño del directorio para que el servidor web pueda escribir los datos
sudo chown -R www-data:www-data /home/svn
- Crear la estructura del proyecto en subversion
sudo svnadmin create /home/svn/project
Enlaces :
Tagged with: Cacharreos • instalacion • subversion • ubuntu
Feb 24

Gracias a libvirt, podemos administrar remotamente nuestras maquinas virtuales creadas con KVM, lo que facilita la visualizacion del desempeño de la maquina a traves del tiempo y posibilita el acceso remoto a la maquina virtual para obtener informacion de esta o conectarse a traves de consola.
Pasos :
- Abrir una consola
- Utilizando un usuario del servidor con las maquinas virtuales que tenga acceso a la administración de las mismas, se puede utilizar el siguiente comando para abrir un administrador remoto :
virt-manager -c qemu+ssh://<usuario>@<ipServidorHost>/system
Tagged with: Cacharreos • kvm • libvirt • ubuntu • virtualizacion
Feb 24
Después de instalar el KVM y configurar la tarjeta de red para que haga de puente con la red, podemos comenzar a crear nuestras maquinas virtuales. A continuación se creara una maquina virtual basada en Ubuntu Server 8.10 con la configuracion mínima, configuracion de red y un usuario para la administración.
- Abrir una consola
- Crear el directorio donde se crearan las maquinas virtuales
mkdir virtualmachines
- Cambiar al directorio
cd virtualmachines
- Crear el directorio para almacenar la maquina virtual
mkdir ubuntuserver
- Cambiar al directorio
cd ubuntuserver
- Crear directorio para almacenar las plantillas de configuración
mkdir -p mytemplates/libvirt/
- Copiar los templates de creacion al directorio, para modificar la configuracion de red :
cp /etc/vmbuilder/libvirt/* mytemplates/libvirt/
Configuracion Tarjeta de Red :
- Abrir el archivo plantilla para la maquina virtual :
vi mytemplates/libvirt/libvirtxml.tmpl
- Buscar la interface de red y modificar para usar el puente de red antes creado :
<interface type='bridge'>
<source bridge='br0'/>
</interface>
Configuracion Particiones :
- Crear un archivo para las particiones
vi vmbuilder.partition
- Adicionar las particiones a crear, la raíz de 10GB y el swap de 1GB
root 10000
swap 1000
Crear la Maquina Virtual :
- El siguiente comando crea una maquina virtual basada en Ubuntu 8.10 (Intrepid), virtual, con soporte para arquitectura de 64 bits, registrada en el sistema de administración de maquinas virtuales, con las particiones y plantillas creadas en el paso anterior, con el usuario administrador user1 con su respectiva clave, con 512 de RAM y con la configuracion de red suministrada, ademas de instalar el paquete openssh-server para poder acceder al servidor por shell seguro.
sudo vmbuilder kvm ubuntu --suite=intrepid --flavour=virtual --arch=amd64 -o --libvirt=qemu:///system --part=vmbuilder.partition --templates=mytemplates --user=user1 --pass=password --mem=512 --domain mydomain.com --hostname machine1 --ip 192.168.0.12 --mask 255.255.255.0 --net 192.168.0.0 --bcast 192.168.0.255 --gw 192.168.0.1 --dns 192.168.0.1 --addpkg vim --addpkg openssh-server
- Comienza el proceso de instalación que puede tardarse de acuerdo al tipo de conexión a Internet que tengamos, finalmente la maquina virtual es creada y registrada.
Puesta en Marcha :
- Para iniciar nuestra maquina virtual debemos ejecutar la herramienta de administración :
virsh --connect qemu:///system
- Listamos las maquinas virtuales disponibles (debe aparecer el hostname de nuestra maquina)
list --all
- Iniciamos la maquina virtual
start machine1
- Salir del administrador
quit
- Nos conectamos a la maquina para instalar y configurar servicios
ssh user1@192.168.0.12
Enlaces :
Tagged with: Cacharreos • jeos • kvm • ubuntu • virtualizacion