Before you accept the loan Payday loan Where does the money go

Pulsar Project : Preparacion Ambiente Web

Jul 10

Se comenzó a preparar el ambiente de desarrollo web para Pulsar Project, en este caso se tomo la decisión de utilizar el lenguaje PHP como lenguaje de programación de una librería que permite la comunicación de los componentes de los mundos virtuales con el mundo exterior. Se escogió el lenguaje de programación PHP por su soporte en los servidores que típicamente se podrían encontrar en los ambientes educativos donde se implementara la solución, así como también la poca cantidad de recursos que consume el lenguaje.

Anteriormente se instalo un servidor Ubuntu Linux con LAMP, conjunto de herramientas para el desarrollo de aplicaciones web basadas en Linux, Apache, MySQL y PHP, la tarea ahora es crear el ambiente para el desarrollo de la libreria de comunicacion en PHP, para esto se habilitara el directorio web para usuarios y la ejecucion de scripts desde el mismo :

  • Conectarse al Servidor de Desarrollo, con el usuario pulsar
  • Crear el directorio de paginas para el usuario
    mkdir public_html
  • Habilitar el modulo de directorio de usuarios
    sudo a2enmod userdir
  • Reiniciar el Apache
    sudo service apache2 restart
  • Probar que el directorio se puede acceder via web

    http://pulsarserver/~pulsar/

Actualmente y por políticas de seguridad se encuentra deshabilitado la ejecucion de scripts en PHP desde el directorio de usuario, procedemos a habilitar esa opcion :

  • Abrir el archivo de configuración de PHP5
    sudo vi /etc/apache2/mods-available/php5.conf
  • Buscar las Lineas
    <IfModule mod_userdir.c>
    <Directory /home/*/public_html>
    php_admin_value engine Off
    </Directory>
    </IfModule>
  • Comentarlas
    #<IfModule mod_userdir.c>
    #    <Directory /home/*/public_html>
    #        php_admin_value engine Off
    #    </Directory>
    #</IfModule>
  • Reiniciar el Apache
    sudo service apache2 restart

Read More

Error en dotProject con la clase CTask

Sep 10

logo_dotprojectHace una semana, instale dotProject version 2.1.2 en el servidor de estudiantes de la Universidad para los grupos que estan trabajando TSP en Ingeniera de software, con el fin que realicen la planeacion y seguimiento del proyecto del semestre utilizando esta herramienta. El dia de hoy me conto uno de los integrantes del grupo C+- que el dotProject le estaba reportando un error con una sentencia SQL, asi que me di a la tarea de buscar la causa del problema y solucionarla.

Error :

.../query.class.php(623): query failed(SELECT COUNT(ut.*) AS user_task_count ...

Diagnostico :

  • Como se puede observar el error es causado por una sentencia SQL que no se puede ejecutar.
  • Buscando en algunos foros encontre que es debido a la forma como se cuentan los registros utilizando el alias de la tabla ut

Solucion :

  • Acceder al servidor donde se tiene el dotProject instalado
  • Editar el archivo :
    modules/tasks/tasks.class.php
  • Ir a la linea 1305
  • Modificar el COUNT removiendo el nombre del alias de la tabla
    COUNT(*)
  • Guardar el archivo
  • Problema solucionado

Enlaces :

Read More

WebService con NuSOAP en Servidor Resin

May 09

resin_logoEs posible ejecutar un servicio creado en PHP con NuSOAP en el servidor de aplicaciones escrito en Java Resin, esto permite crear webservices que pueden ser alojados en servidores como Apache2 con soporte para PHP, como tambien servidores Java como el GlassFish.

Para que los webservices funcionen es necesario instalar una version igual o superior a la 3.2.1 la cual instalamos en el anterior post (enlace), como tambien realizar un pequeño cambio en el sel codigo (enlace) Servidor donde se reemplaza la lectura de datos via RAW por una lectura de la entrada de datos php://input, quedando de la siguiente forma el archivo servicio.php

  1.  
  2. <?php
  3. require_once('nusoap.php');
  4. require_once('sumar.php');
  5.  
  6. $server = new nusoap_server();
  7. $server->register('sumar');
  8.  
  9. $HTTP_RAW_POST_DATA = file_get_contents("php://input");
  10. $server->service($HTTP_RAW_POST_DATA);
  11. ?>
  12.  

De esta forma es posible ejecutar el servicio web encualquier plataforma o servidor que soporte Java.

Enlaces :

UA:A [1.3.0_631]

Read More

Instalacion Resin 3.2.1 en Ubuntu 9.04

May 09

resin_logoInstalaremos la versión 3.2.1 de Resin, el servidor de aplicaciones Java y PHP de la empresa Caucho Technology sobre el sistema operativo Ubuntu 9.04 con el fin de probar la ejecucion del scriptHola Mundo en PHP. Antes se habia instalado la version 3.1.9 pero esta version en desarrollo provee gran cantidad de mejoras.

Ejecutar Servidor :

  • Abrir una terminal
  • Instalar Java
    sudo apt-get install sun-java6-jdk
  • Descargar una version de Resin
    http://caucho.com/download
  • En este caso descargaremos la version estable 3.2.1 en version GPL
    wget http://caucho.com/download/resin-3.2.1.zip
  • Descomprimimos el archivo
    unzip resin-3.2.1
  • Cambiamos de directorio
    cd resin-3.2.1
  • Ejecutamos el servidor
    java -jar lib/resin.jar start
  • Abrimo el navegador y cargamos la pagina :
    http://localhost:8080
  • Debe mostrar la pagina por defecto del servidor con enlaces para la administración y documentación
    Si no es asi, verifique que no exista ningun servicio ejecutandose en el puerto 8080, como por ejemplo un servidor Tomcat

Crear Script en PHP :

  • Creamos el directorio donde se alojara la el script PHP
    mkdir webapps/hola_php
  • Vamos al directorio
    cd webapps/hola_php
  • Creamos el archivo index.php con el siguiente contenido
    <?php echo "Hola Mundo" ?>
  • Cargamos en el navegador la siguiente direccion :
    http://localhost:8080/hola_php
  • Debe mostrarnos una pagina con el texto : Hola Mundo

Detener el Servidor :

  • Ir al directorio raiz del Resin y ejecutar el comando :
    java -jar lib/resin.jar stop

Aunque no es una prueba completa del funcionamiento del soporte del lenguaje PHP en Resin, es el primer paso para comenzar a realizar mas pruebas con scripts mas complejos, frameworks y aplicaciones.

Enlaces :

Read More

WebService en PHP con NuSOAP

May 09

phpAunque en PHP5 existe una extension para crear servicios web basados en SOAP, algunos servidores donde posiblemente alojemos nuestra aplicacion no tienen habilitada la extension y por tal motivo debemos buscar alternativas para la creacion de los webservices.

En el 2002 Dietrich Ayala escribio una libreria llamada NuSOAP que permite implementar webservices en PHP incluyendo la version 4 y 5, esta libreria es una de las mas populares en la costruccion de servicios web en PHP pues tiene soporte para diferentes versiones de SOAP, como tambien es posible crear servicios web que generen los descriptores de los webservices (WSDL) y soporte de tipos de datos, aunque la implementacion suele complicarse cuando se utilizan estas caracteristicas.

Implementaremos un webservice basado en una funcion llamada sumar de la cual crearemos el webservice y su cliente utilizando NuSOAP, a continuacion se describen los pasos :

  • Abrir una terminal
  • Ir al directorio web donde se creara el servicio
  • Descargar la libreria NuSOAP del repositorio en SourceForge
    http://nusoap.cvs.sourceforge.net/viewvc/nusoap/lib/
  • En este caso descargaremos la version 1.121
    wget http://nusoap.cvs.sourceforge.net/viewvc/*checkout*/nusoap/lib/nusoap.php?revision=1.121

Implementar la Funcion a Utilizar :

  • Utilizando su editor favorito crear un archivo donde se implemente la funcion :
    (utilizaremos una funcion sumar que recibe dos numero y retorna su suma)
  • Crear el archivo sumar.php
  1.  
  2. <?php
  3. function sumar($x, $y)
  4. {
  5. return $x + $y;
  6. }
  7. ?>
  8.  

Implementar el Servicio Web :

  • Utilizando su editor favorito crear un archivo donde se cree el servidor
  • Crear el archivo servicio.php
  • Este incluye la libreria NuSOAP y la funcion creada anteriormente
  • Crea un servidor soap e incluye la funcion
  • Despacha el servicio con la informacion suministrada
  1.  
  2. <?php
  3. require_once('nusoap.php');
  4. require_once('sumar.php');
  5.  
  6. $server = new nusoap_server();
  7. $server->register('sumar');
  8.  
  9. $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
  10. $server->service($HTTP_RAW_POST_DATA);
  11. ?>
  12.  
  • Abrir la pagina PHP en su navegador favorito, debe salir en blanco sin reportar errores

    http://<servidor>/<ruta>/servicio.php

Implementar el Cliente :

  • En este caso implementaremos un cliente en el lenguaje PHP para consumir el servicio.
  • Utilizando su editor favorito crear un archivo cliente.php
  • Para realizar el llamado se debe especificar como argumentos el nombre de la fuinciony en un arreglo asociativo, los nombres de las variables con sus respectivos valores
  1.  
  2. <?php
  3. require_once('nusoap.php');
  4. $cliente = new nusoap_client('http://<ipServidor>/<ruta>/servicio.php');
  5. $resultado = $cliente->call('sumar', array('x' => '3', 'y' => 4));
  6. print_r($resultado);
  7. ?>
  8.  
  • Abrir la pagina PHP del cliente en su navegador favorito, debe salir en blanco sin reportar errores

    http://<servidor>/<ruta>/cliente.php

Enlaces :

Read More
Page 1 of 41234