Desarrollando Aplicaciones Web con PHP7.0 y Docker

Docker es un software de manejo de contenedores, mientras que PHP7.0 es la última versión de este lenguaje de programación que incluye mejoras que hacen que la velocidad de su funcionamiento sea 50% más veloz que su predecesor. En este tutorial crearemos un ambiente de desarrollo usando Docker con lo cual no tendremos que instalar ningún otro software ni librería para funcionar.

Origen: ctala/apache2_php7_awsebs – Docker Hub

Docker

Ya hace un tiempo que quería probar como funcionaba Docker para el desarrollo de aplicaciones para no tener que instalar todo nuevamente en mi máquina. Hace unos días ya llegó mi nueva laptop por lo que ya no tengo excusas para no trabajar y se me ocurrió la brillante idea de procastinar aprendiendo y creando imagenes de Docker en vez de iniciar directamente con lo que debía hacer. El resultado fue satisfactorio por lo que estoy muy contento, así que aprovecho de compartir no solo como desarrollar en PHP7.0 usando Docker, si no que además utilizaremos una imagen que creé para este cometido que incluye todo lo necesario para poder desarrollar sin problemas en PHP7.0, además de herramientas que hacen que el proceso sea más sencillo.

Prerequisitos :

  • Tener Docker ya instalado.
  • Los comandos que mostraré son en base a un HOST linux, lo que no quiere decir que la imagen que ocuparemos no funcione con otro HOST.

Leer más

¡ Twilio Al Rescate ! Solucionando problemas de comunicación

Este post es sobre como solucionamos la perdida de telefonía análoga para poder trabajar de manera normal en la empresa.

Me había rehusado a el cambio a la telefonía IP debido a que pensaba que la análoga era más estable. El resultado de este terrible error es que he tenido intermitencias del servicio telefónico pero no de internet en el último año.

La semana pasada nuestro proveedor de servicios telefónicos para la empresa, del cual no diré el nombre pero empieza con movi y termina star en Chile, tuvo un problema con una de sus centrales en nuestra zona  debido a problemas eléctricos que fueron ocasionados por el temporal. El resultado es que no se pueden recibir ni hacer llamados telefónicos hace una semana ( ¡ Gracias empresa que no puedo mencionar !, me haces la vida mucho más entretenida ).

Creo que está de más decir que para una empresa cuyo foco es darle servicios a otras empresas, en donde el trato es uno a uno y todos los negocios se cierran vía telefónica o en persona NO puede tener problemas telefónicos. Para aprovechar de pasar el dato nuestra empresa es de branding corporativo, regalos corporativos y merchandising, pueden encontrarla en el siguiente link : EmpresasCTM .

Leer más

Calcular la máxima cantidad de clientes en Apache2 /prefork

En general la forma de calcular cuanta gente puede acceder de manera concurrente a mi servidor web ( MaxClients ) es sencilla pero bastante manual. Encontré un script en la web de referencia que me puede ayudar a hacerlo de manera más práctica así que lo comparto.

Hace algunos años desarrollando un sistema de regalos corporativos fue la primera vez que me encontré con este problema, si está mal definida la cantidad máxima de usuarios que pueden acceder al apache este consume mucha memoria y en el caso de que tengas el servidor MySQL en el mismo lugar este puede caerse sin ningún aviso.

La idea es que podamos definir bien la cantidad de usuario que puede manejar apache.

Leer más

Redireccionar HTTP a HTTPS con ModRewrite y .htaccess

En general cuando manejas wordpress y cambias la dirección del sitio por defecto a HTTPS, se manejan internamente las redirecciones para poder usar las nuevas direcciones.

El problema a veces es simplemente la página de inicio, que no se redirecciona por defecto. Hay plugins que te pueden hacer la vida más sencilla en esto, pero obviamente soy de las personas que no les gusta el camino fácil.

Si tu servidor tiene el mod_rewrite de apache2 activado, lo más sencillo es decirle que «reescriba» las direcciones dependiendo del contenido, y simplemente haga una redirección ( 301 ).

A continuación veremos como redireccionar las url para la que corresponda. Este es el mismo proceso que se usa para cuando cambias tu web de dirección.

Leer más

¿ Cómo saber el usuario que ejecuta apache desde PHP ?

Cuando estamos ejecutando nuestra web puede que nos encontremos en más de una ocasión con problemas de permisos para ejecutar los archivos o simplemente acceder a ello. En muchos de estos casos la solución es bastante sencilla, y es que el usuario que ejecuta el servicio web ( en mi caso apache ) no tiene privilegios de ejecución, lectura o escritura del archivo con problemas.

Para solucionarlo existen varias formas, solo comentaremos 3 de ellas.

La primera y más sencilla, es crear un archivo php e incluir la función de phpinfo() para ver las variables de entorno y revisar cual es el usuario que las ejecuta.

echo phpinfo();

En la página resultante revisamos las variables de entorno y buscamos el usuario y su grupo que ejecutan el servicio.

Enviroment Variables PHP
Enviroment Variables PHP

En este caso, tanto el usuario como el grupo es www-data, que es lo normal si apache se ejecuta en modo seguro.

También existe una forma de acceder directamente a las variables de entorno del servidor, por lo que podemos ejecutarlas de manera directa.

$user = getenv('APACHE_RUN_USER');
$group = getenv('APACHE_RUN_GROUP');
echo $user.":";
echo $group."
";

El código anterior nos da como resultado el usuario «dos puntos » y el grupo. En mi caso «www-data:www-data».

Por último, y solo disponible para linux, es preguntarle directamente al sistema operativo quién lo está ejecutando. Igual lo haremos dentro de un archivo php.

echo exec('whoami');

Lo cual nos retorna el usuario que lo ejecuta, en mi caso también «www-data».

Bueno, y esas son 3 formas de saber cual es el usuario que está ejecutando el servicio web.

¡Mantengamos el contacto!

Me encantaría que te mantuvieras al día con el contenido que estoy generando. Recuerda que no es solo el blog, son las redes sociales, libros, y distintos pódcast 😎.

Hago todo lo posible para no hacer Spam,

¡MANTENGÁMONOS EN CONTACTO!

Me encantaría que te mantuvieras al día con el contenido que estoy generando. Recuerda que no es solo el blog, son las redes sociales, libros, y distintos pódcast 😎.

Hago todo lo posible para no hacer Spam,

Share to...