Múltiples Versiones PHP

¡Hola!

Hoy me toca hacer un post super divertido en el cual tengo que instalar distintas versiones de PHP en los servidores.

Por defecto, dependiendo de la versión del sistema operativo, tenemos una versión de PHP establecida en los repositorios oficiales. Lo que vamos hacer es instalar otros que nos permitan tener hasta la 7.3 si es necesaria.

Otra cosa más a tener en cuenta es como queremos ejecutar esa versión de PHP si es por el SITE o en todo el sistema operativo (por defecto). Intentaremos cubrir todas las necesidades posibles.

Especificaciones/Requeriments

  • OS
    • Ubuntu 16.04 LTS (Versión de PHP paquetizada 7.0.x)
    • Ubuntu 18.04 LTS (Versión de PHP paquetizada 7.1.x)
  • Recordad los módulos de PHP instalados (dpkg -l | grep php)

Siempre hay que tener en cuenta lo que tenemos montado en el servidor. No podemos hacer estos cambios a lo loco ya que puede romper más de alguna web/cosa y por lo tanto dar muchos dolores de cabeza/trabajo.

Leer más

Consumo de memoria – Script PHP

Un día me andaba preguntando, ¿Cómo es que hacen los Framework/CMS para medir la cantidad de memoria consumida en un script php? Pues bien para ello tenemos una función integrada dentro del propio PHP (así que no hay que hacer malabares) se llama memory_get_usage(). La cual desde PHP 4 estaba activa. Su uso es muy sencillo, tan solo como ponerlo al inicio y al final del script:
<?php echo "Memoria Inicial --> " . memory_get_usage();
Script PHP
.
.
.
echo "Memoria final --> " .  memory_get_usage(); ?>
Con esto conseguiremos la información en Bytes. Con esto hemos aprendido de una manera sencilla cuando tenemos un script que consume más de la cuenta, el porqué lo tendrán que buscar los programadores (jejeje).

Securizando PHP a nivel servidor

Introducción

Hoy en día los administradores de sistemas nos solemos centrar mucho en el tema de seguridad. Como es evidente tratamos de cerrar los posibles caminos que puedan venir los ataques para curarnos ante el cliente. Como muchas veces no podemos controlar los scripts/programaciones de cada cliente tenemos que buscar ciertas formas que nos ayuden.

Recordamos que la mayor parte de las intrusiones o defacement en las webs suelen venir por CMS desactualizados. Así que siempre recomendamos que se actualice siempre que se pueda porque suelen tener correcciones de seguridad.

En nuestro caso vamos a trabajar con un poco de seguridad sobre nuestro php a nivel de servidor.

Las normas que vamos a seguir son:

1) Otorgar la menor información posible al atacante.

2) Deshabilitar funciones en PHP que permitan la ejecución de comandos o procesos en el servidor.

Actualizaciones:

27/04/2017: Añadido open_basedir, Securizar Sesiones, Nuevas funciones a deshabilitar.

Leer más

Suexec – Cambiar el directorio por defecto en CentOS

Introducción

El problema que nos encontramos es que hay proveedores que cambian el directorio por defecto donde se encuentra el Suexec. Por ejemplo al parecer en las CentOS suele ser /home y en el caso de que cambiemos el directorio de nuestras webs esto no funcionaría.

En versiones de Debian lo tenemos un poco más fácil ya que han establecido algo llamado «suexec-custom» el cual nos permite cambiar el directorio suexec de una manera más fácil.

Para CentOS, por desgracia, no se puede hacer de la misma manera y las soluciones que tenemos son:

  1. Mover y configurar todo el contenido en /home
  2. Cambiar el directorio por defecto donde está configurado el suexec.

En nuestro caso elegiremos la opción 2 la cual nos llevará a compilar.

Leer más

Módulos de php personalizados en Plesk

plesk-panel

Introducción

A menudo existen clientes que solicitan la instalación de módulos de php personalizados en plesk que no vienen por defecto configurado. Para ello tenemos que buscar la manera de hacerlo a través de plesk.

Con la actualización de su panel a la versión 12.5.x han añadido numerosas ventajas incluyendo la elección entre versiones de PHP.

Como no viene de manera standard la forma más cómodo o recomendada por plesk es la de instalar los módulos a través de pecl.

En este manual vamos a enseñar como activar los módulos de memcache y memcached.

Leer más