Archivo

Artículos etiquetados y‘PHP’

Entendiendo Open Data (oData)… Primeros pasos

07/04/2010 Deja un comentario

Ya se empieza a escuchar de Open Data, pero, ¿qué es eso? ¿para qué sirve?

Open DataEs un protocolo web el cual permite no solamente intercambiar información, también permite consultar y actualizar esa información a través de mecanismos que habilitan estas capacidades usando tecnologías web como HTTP, Atom Publishing Protocol (AtomPub) y JSON. Este protocolo trabaja en base a un compromiso de identificación de recursos a través de HTTP.

oData provee una serie de recursos y escenarios donde puede ser utilizado, teniendo disponible un SDK el cual permitirá extender la usabilidad de este protocolo y el consumo del mismo desde distintas tecnologías de desarollo como PHP, Objective-C, Javascript, Java, .NET entre otros.

Pronto comenzaré el desarrollo de una pequeña aplicación web (en 2 versiones, una .NET y PHP) para probar este protocolo y acompañar este desarrollo de varios posts para desglozar el tema. Mientras pueden ir obteniendo mayor información al respecto en odata.org

Espero comunicarles pronto referente a esto.

Saludos,

Categorías:.NET, Desarrollo / Programación, Interop, PHP, Web Etiquetas: , ,

How To: Construir un servidor web con IIS7.5 Server Core (III)

08/03/2010 Deja un comentario

Habilitando funciones de cache en el servidor web y para PHP

IIS7.5 cuenta con distintas versiones para el manejo de cache de la información que circula en el servidor web, algunos orientados a docuemtos, a extensiones, documentos estáticos y dinámicos, entre otros.

Elemento <caching>

Este elemento permite manejar cache para el contenido de salida de las páginas, pudiendose manejar en un modo usuario, modo kernel o mixto y límites para configurar el cache. Éste puede ser configurado en ApplicationHost.config o en niveles inferiores como sitios web. Este elemento consta de varios atributos a configurar:

enabled: Es opcional. Valor True/False. Valida si el chaching está activo o no. El valor por defecto es True
enableKernelCache: Es opcional. Valor True/False. Especifica si el modo kernel cache está activo o no. El valor por defecto es True
maxCacheSize: Es opcional. Valor entero. Especifica la capacidad máxima para el cache de salida. Debe configurarse en ApplicationHost.config. El valor por defecto es 0
maxResponseSize: Es opcional. Valor entero. Especifica el tamaño máximo de respuesta que será guardado en cache. Debe configurarse en ApplicationHost.config. El valor por defecto es 262144

Para configurarlo, podemos hacerlo de la siguiente manera:

1. En la consola nos movemos al directorio C:WindowsSystem32inetsrv
2. Tecleamos el siguiente comando (este ejemplo se hace con las paginas de asp.net):

appcmd.exe set config -section:system.webServer/caching /+"profiles.[extension='aspx',policy='CacheUntilChange',kernelCachePolicy='CacheUntilChange']" /commit:apphost

Cache para PHP, WinCache

Para manejo de cache en PHP podemos utilizar una extensión desarrollada en conjunto Microsoft/PHP Team que va a permitir manejar de forma nativa el manejo del cache e inclusive el monitoreo de comportamiento. Esta extensión para PHP pueden descargarla de PECL PHP – WinCache o de IIS Expand – WinCache . Para configurarlo realizamos los siguientes pasos:

1.Descargamos Windows Cache Extension, donde conseguiremos en su estructura de archivos una DLL llamada php_wincache.dll . Este archivo lo copiaremos a la carpeta ext del directorio de PHP y en php.ini registraremos esta extension. Para editar el php.ini desde la consola pueden ejecutar el siguiente comando

notepad C:phpphp.ini

2. Una vez ejecutado el paso anterior, podemos probar el funcionamiento de este cache usando un archivo llamado wincache.php dentro de la estructura descagada de winCache . Este archivo lo podemos copiar en nuestro sitio web de IIS. Antes de ejecutarlo debemos cambiar usuario y clave dentro del script y luego lo podemos consultar por el explorador web. Para conocer más de WinCache pueden consultar PHP: WinCache – Manual

Leer más…

Categorías:Infraestructura, Interop, PHP, Web Etiquetas: , , ,

Presentación Webcast: Configurando Servidores web interoperables

04/03/2010 Deja un comentario

Ayer Miércoles 3 de Marzo tuve la oportunidad de dar un webcasts referente a “Configurando Servidores web interoperables con Windows Server 2008 R2 Server Core”, donde toque temas de administración, configuración de IIS en server core así como las tecnologías de desarrollo y scripting a utilizar en el mismo. Abajo les dejo la presentación utilizada.

Pueden descargar la grabación del webcast en http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032440261&Culture=es-AR

How To: Configurar Framework KumbiaPHP en IIS 7.x

01/03/2010 2 comentarios

 KumbiaPHP es un ligero pero potente framework para aplicaciones PHP el cual se caracteriza por su sencillez al momento de configurarse. Por defecto, al descargar este framework cuenta con las plantillas .htaccess correspondiente a la configuración de reescrituras de URL en Apache, sin embargo en IIS este documento de configuración no es interpretado.

Para configurar KumbiaPHP en IIS 7.x podemos seguir los siguientes pasos:

1. Descargar la extensión para IIS7 llamada URL Rewrite Module . Puedes instalarla también con el Web Platform Installer

2. Luego de instalada, creamos un sitio web en la consola de administración de IIS donde colocaremos a KumbiaPHP

3. Para que kumbiaPHP sea interpretado de forma correcta, debemos activar algunas reglas de reescritura y redirección, especificamente en 4 casos:

Definido estos casos, crearemos estas 4 reglas en un archivo web.config en la raiz del sitio web. Estas reglas deben ser creadas en el siguiente orden segun los casos arriba mencionados:

  • home_rewrite
  • redirect_to_home
  • redirect_to_param
  • param_rewrite

La estructura de nuestro archivo web.config quedaría de la siguiente manera:

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <system.webServer>
         <rewrite>
             <rules>
                 <rule name="home_rewrite" stopProcessing="true">
                     <match url="$" />
                     <conditions>
                         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" />
                     </conditions>
                     <action type="Rewrite" url="public/index.php" />
                 </rule>
                 <rule name="redirect_to_home" stopProcessing="true">
                     <match url="^public/index.php" />
                     <conditions>
                         <add input="{REQUEST_FILENAME}" matchType="IsFile" />
                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                     </conditions>
                     <action type="Redirect" url="/" redirectType="Permanent" />
                 </rule>
                 <rule name="redirect_to_param" stopProcessing="true">
                     <match url="^public/index.php$" />
                     <conditions>
                         <add input="{REQUEST_METHOD}" negate="true" pattern="^POST$" />
                         <add input="{QUERY_STRING}" pattern="^url=([^=&amp;]+)$" />
                     </conditions>
                     <action type="Redirect" url="{C:1}" appendQueryString="false" redirectType="Permanent" />
                 </rule>
                 <rule name="param_rewrite" stopProcessing="true">
                     <match url="^([^/]+)/?$" />
                     <conditions>
                         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                     </conditions>
                     <action type="Rewrite" url="public/index.php?url={R:1}" />
                 </rule>
             </rules>
         </rewrite>
     </system.webServer>
 </configuration>

De esta forma podemos comenzar a trabajar con KumbiaPHP en IIS 7.x . Sigo realizando pruebas para validar todos los casos de reescritura a medida que creo mi primera aplicación de prueba. Cualquier duda, comentario, problemas conseguidos con las reglas no dudes en comentarme para seguir iterando en el tema :)

Saludos,

How To: Construir un servidor web con IIS7.5 Server Core (II)

23/02/2010 Deja un comentario

Habilitando ASP.NET y PHP en el servidor web

Una vez que tenemos habilitado los servicios de IIS en Windows Server 2008 R2 Server Core (puedes verlo en el post anterior How To: Construir un servidor web con IIS7.5 Server Core (I)), comenzamos a habilitar las tecnologías de desarroll0 y scripting que queremos que soporte nuestro servidor web. Para esta entrega, veremos cómo configurar ASP.NET y PHP.

Antes de comenzar, debemos descargar los paquetes correspondientes a PHP y colocarlos en un directorio en el equipo o máquina virtual donde estamos configurando el servidor.

Configurando ASP.NET

Para habilitar ASP.NET primero debemos configurar algunos componentes asociados como el .NET Framework, filtros y extensiones ISAPI. La ejecución de comandos quedaría de la siguiente forma:

dism /online /enable-feature /featurename:NetFx2-ServerCore
dism /online /enable-feature /featurename:NetFx3-ServerCore
dism /online /enable-feature /featurename:IIS-ISAPIFilter
dism /online /enable-feature /featurename:IIS-ISAPIExtensions
dism /online /enable-feature /featurename:IIS-NetFxExtensibility
dism /online /enable-feature /featurename:IIS-ASPNET

Configurando PHP

Para habilitar PHP debemos validar primero que esté habilitado el component IIS-CGI . Descargamos PHP (al momento de escribir este artículo hice la prueba con la versión 5.2.12) y lo copiamos en el servidor que estamos trabajando, luego ejecutamos 2 comandos donde el primero registra PHP en el ambiente de ejecución de FastCGI y el segundo configura la extension. Navegamos hasta el directorio C:WindowsSystem32inetsrv y ejecutamos lo siguiente:

appcmd set config /section:system.webServer/fastCGI /+[fullPath='C:phpphp-cgi.exe']
appcmd set config /section:system.webServer/handlers /+[name='PHP-FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='C:phpphp-cgi.exe',resourceType='Either']

Podemos probar el funcionamiento de PHP creando un script sencillo y colocandolo en c:inetpubwwwroot . Podemos utilizar el siguiente script para el test:
<?php
phpinfo();
?>

Otras entregas relacionadas:

Entrega I: Habilitando los servicios de Internet Information Services (IIS)

Entrega III: Habilitando funciones de cache en el servidor web y para PHP

Saludos,

Seguir

Get every new post delivered to your Inbox.

Únete a otros 704 seguidores