Entradas

Mostrando entradas de septiembre, 2016

HTTP/2 para los usuarios de Google Chrome

Imagen
Si eres un webmaster y has notado que los usuarios de Google Chrome que accedían anteriormente a través de HTTP 2 ahora lo hacen por HTTP 1, estas en el sitio correcto.

Esto es debido a un cambio de política en la más reciente actualización de Chrome , lanzada a finales de mayo, que elimina el soporte a NPN, un método para actualizar una conexión a HTTP 2.



La única manera que tienen estos usuarios de Chrome de acceder a tu sitio web por HTTP 2 es cambiando a un navegador diferente. Pero tú, como administrador, puedes restaurar el soporte a HTTP 2 actualizando OpenSSL a versiones superiores o iguales a la 1.0.2. Para saber mas detalles sobre este comportamiento puedes visitar el siguiente enlace en inglés.
Este post está destinado principalmente a CentOS 7 con instalaciones de Nginx desde el repositorio oficial. 
La instalación oficial de Nginx no está compilada con OpenSSL, con lo cual utiliza la instalación que tengas en tu CentOS, lo malo de esto es que a fecha de hoy no existen pa…

Drivers ODBC 13 y PHP de Microsoft para SQL Server en CentOS 7

Imagen
Microsoft es más Open Source que nunca, ¡y que lo digan! Han cambiado mucho los tiempos en que sólo se podían utilizar las herramientas de Microsoft en Windows, y han cambiado para bien. Una de las limitaciones existentes era utilizar su driver de conexión al SQL Server para PHP en entornos linux, felizmente esa limitación está llegando a su fin gracias a las versiones para linux del Microsoft ODBC Driver 13 (preview) y Microsoft Drivers para PHP (early technical preview).

También en la evolución de estas herramientas hay un cambio radical, de instalaciones totalmente artesanales al principio ya hemos llegado al punto en que el primero está disponible con yum y el segundo es compatible con repositorios existentes como los de remi.
Voy a comenzar asumiendo que ya tienes instalado PHP 7 (importante, la versión 7 es la única soportada) en tu servidor con CentOS 7, si no sabes cómo, lo puedes ver en el post donde instalo las últimas versiones de nginx y php.

Instalando Microsoft ODBC Driv…

CentOS 7 en Hyper-V segunda generación

Imagen
No es raro que cuando intentes instalar CentOS 7 en Hyper-V si has escogido la generación 2 te salga el siguiente mensaje de error: the image hash and certificate are not allowed. Lo primero que te da por pensar es que no está soportado, pero error, si lo está y aquí podéis consultar la lista completa de sistemas operativos soportados en la generación 2 de maquinas virtuales para Hyper-V.
Entonces, si está soportado ¿que pasa? La pista me la dio el siguiente post, pero como siempre ocurre, es un post antiguo y esta un poco obsoleto y mal. Lo que ocurre es que entre las ventajas de la segunda generación está el arranque seguro, y más que deshabilitarlo, como recomiendan en el post anterior, lo que tenemos que hacer es cambiar la plantilla que viene por defecto y debemos elegir Microsoft UEFI Certificate Authority.


Y con estos sencillos pasos ya tendremos instalado un CentOS 7, que podremos descargar la iso desde aquí, en nuestro Hyper-V con una máquina virtual de segunda generación.

Slim 3 en Apache como proxy de Nginx

Imagen
Supongo que si has llegado a este post es que conoces Slim, pero para los que no, voy a hacer una pequeña introducción. Slim es un micro framework PHP que te ayuda a escribir con rapidez aplicaciones web simples pero potentes y APIs. Aunque esa es su definición, Slim es realmente útil a la hora de crear servicios web. Ya va por la versión número 3 y aunque no tiene ni página en la Wikipedia, es bastante recomendable.


Bien, yendo al grano. Si bien en su página web de documentación vienen detalladas las configuraciones para nginx, apache y otros servidores, lo que no viene es la configuración si tenemos un Nginx como front que utiliza Apache como proxy para las peticiones de PHP. Para este caso concreto lo que debemos hacer es configurar Nginx para que envíe la petición tal y como la recibe a Apache y que apache se encargue de procesarla.
Imaginemos que el servicio web se encuentra en una subcarpeta de nuestra aplicación, /api, de manera que accedemos /api/public.

Esta es la configurac…

Migrar una web con PHP de Windows a Linux

Imagen
Si bien es cierto que el código PHP es el mismo para un servidor Windows como para uno Linux, a la hora de migrar hay que tener algunas cosas en consideración. Si bien la migración de un servidor Linux hacia uno con Windows es más transparente, la contraria lleva algunas tareas especiales.


Lo más importante son las rutas include, mientras Windows soporta tanto include_once 'clases/db.php'; como include_once 'clases\db.php', en Linux sólo se soporta la barra \. Este sería el cambio más importante a tener en cuenta. Luego tenemos que ver si nuestro código tiene extensiones específicas de Windows, si son críticas y no encontramos alternativas, impedirían la migración.
Un último punto a tener en cuenta son las llamadas a funciones de la línea de comandos con exec por ejemplo. Seguramente los comandos ejecutados no sean los mismos y las respuestas sean totalmente diferentes.