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

Instalar GitLab – Git Privado

¡Hola!

Estaba buscando una alternativa donde poder gestionar todo lo relacionado con GIT a través de una interfaz amigable (GUI) y me encontré con GITLAB en su versión Community.

Lo que vamos hacer será montar una instancia VPS para nuestro cometido y los primeros pasos de configuración + algo de seguridad según nos convenga.

Especificaciones/Requeriments

  • OS: Ubuntu 18.04 LTS
  • CPU: Mínimo 1 y admite hasta 100 usuarios.
  • Memoria: 2 GB es recomendado.

En el caso de no llegar a los 2 GB siempre se puede crear SWAP (ya que en VPS no suelen venir con dicha partición).

Requisitos Gitlab – Web Oficial

Leer más

¿Qué tipo de virtualización usa mi VPS?

¡Hola!

Buscando soluciones para uno de los clientes hemos intentado buscar la forma de encontrar un patrón de cómo nos pueden ver los demás … En este caso las cabeceras estaban siendo correctas y se nos ocurrió ver el tipo de virtualización.

El comando que vamos a usar para detectar esta información:

hostnamectl status

Para ello vamos a poner las salidas de los 3 proveedores que estábamos probando:

Proveedor#1

Static hostname: xxxcensuradoxxx
Icon name: computer-vm
Chassis: vm
Machine ID: 8ba9808bec076f6a12ec3ed45b199c83
Boot ID: 255de4d96da841eda3e96d5d29a90376
Virtualization: qemu
Operating System: Ubuntu 16.04.5 LTS
Kernel: Linux 4.4.0-138-generic
Architecture: x86-64

Proveedor#2

Static hostname: xxxcensuradoxxx
Icon name: computer-vm
Chassis: vm
Machine ID: beb217fbb4324b7d9959f78c279e6599
Boot ID: 5561a56373f84d8bb1f4e703830da4f5
Virtualization: qemu
Operating System: Ubuntu 16.04.5 LTS
Kernel: Linux 4.18.8-x86_64-linode117
Architecture: x86-64

Proveedor#3

Static hostname: xxxcensuradoxxx
Icon name: computer-vm
Chassis: vm
Machine ID: 0e8e38f3017e44ad7ce0f1585bd31d69
Boot ID: d8eb099e4ff248b496806e2e5f87ce1f
Virtualization: kvm
Operating System: Ubuntu 16.04.5 LTS
Kernel: Linux 4.4.0-138-generic
Architecture: x86-64

El proveedor que al final nos resultó útil y que por el momento aguanta (no es baneado en el destino) es el que usa la tecnología KVM.

Andaba pensando si el tipo de tecnología influye a la hora de llegar ante un Firewall, IDS o similar…

Por el momento parece que si ya que los otros servidores no aguantaban más de 2 horas.

Cambiar el editor de texto por defecto

Hoy debe ser un día especial ya que he actualizado 2 post de seguido, así que a ver si lo hago más a menudo con nuevos manuales para todos.

Esta vez es un pequeño comando que a veces se nos olvida y es bueno tenerlo a mano.

Imaginad que habéis hecho una instalación y por no prestar atención os habéis quedado con nano en vez del vim (yo uso la parte de vim-nox). Ahora cada vez que editamos un fichero siempre nos sale el mismo editor de texto y lo queremos cambiar.

Pues bien en Ubuntu (cualquier sistema Debian valdrá) lo tenemos muy fácil, tan solo tenemos que ejecutar el siguiente comando:

update-alternatives --config editor
There are 5 choices for the alternative editor (providing /usr/bin/editor).

Selection Path Priority Status
0            /bin/nano            40        auto mode
1            /bin/ed             -100       manual mode
2            /bin/nano            40        manual mode
3            /usr/bin/vim.basic   30        manual mode
4            /usr/bin/vim.nox     40        manual mode
5            /usr/bin/vim.tiny    10        manual mode
Press  to keep the current choice[*], or type selection number:

Una vez elegida la opción (en mi caso la 4) ya se quedará configurado.

Ahora bien si eso no funciona podemos usar el siguiente comando:

select-editor

Con este comando nos cambiará el editor de los cron por ejemplo el cual para mi gusto es más cómodo el vim.

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).

Cloudfare + APNIC = Nuevas DNS

¡Hola a todos!

Hace mucho que no escribo pero de vez en cuando viene bien que se comenten las cosas. Esta vez vamos a probar unas nuevas DNS el cual nos permitirá las siguientes ventajas:

  • No depender de las de google y el análisis de tráfico que suelen realizar.
  • Las de los proveedores generalmente no es que estén muy optimizados.
  • Todos conocemos la buena fama que tiene cloudfare en servicios de seguridad.
  • Los logs en sus servidores serán borrados después de 24 horas.
  • Prometen que sean unas DNS ágiles.
  • Podemos evitar el bloquedo de Webs de ciertos proveedores.

Las nuevas DNS que podemos probar son:

1.1.1.1

1.0.0.1

¿Serán estos la nueva competencia de Google? estoy seguro que sí y sobre todo para aquellos que nos gusta tener un grado más de seguridad.

Está claro que si lo que queremos es evitar ser trackeados la mejor posibilidad para ello es el servicio de VPN que no registre logs.

Un saludo

Habilitando HTTP2

He estado leyendo aquí y allá sobre las diferencias entre el protocolo acutal HTTP/1.1 y HTTP2 y me decidí lanzarme a la aventura para ponerlo en producción.

Actualmente, según he leído, lo tenían en pruebas aunque ya lleva bastante tiempo y la gente lo está pidiendo. Es decir, que lo están poniendo en servicios en producción.

La principal razón de ello es por la velocidad de carga en las webs, lo cual para el SEO viene estupendamente.

Nosotros lo vamos a implantar en un entorno Ubuntu 16.04 + Webmin.

Leer más

Palabras que jamás debemos usar

Este artículo será un poco fuera de lo normal ya que no hablaremos directamente ni de un problema, ni de un software determinado.

En este caso vamos hablar de las palabras que jamás debemos usar a la hora de instalar scripts generalmente del tipo CMS.

Este análisis lo hemos hecho usando la herramienta LogWatch, la cual nos envía un resumen cada semana.

PALABRAS QUE NO DEBEMOS USAR (Variaciones de mayúsculas y minúsculas)

  • mysql
  • manager
  • pma
  • sql
  • phpmyadmin
  • admin
  • administrator
  • database
  • db
  • dbadmin
  • msd
  • myadmin
  • mysql-admin
  • mysql

Debemos recordar que esto es una lista genérica de lo que suelen buscar para intentar explotar algún tipo de vulnerabilidad. Pero lo que si hemos aprendido con ello es:

  • Si podemos evitar el nombre de la aplicación que queremos usar (pongamos de ejemplo phpmyadmin) debemos evitarlo. Ya que suelen buscar variaciones que suelan usar las personas.
  • En el caso de no poder lo ideal es siempre tener algún tipo de protección con contraseña.

Se tiene que pensar en el tema de la seguridad en nuestras aplicaciones para no tener más de un dolor de cabeza.

Un saludo

Cambiar directorio donde guarda los correos PLESK

Hola!

Un cliente nos comentó la posibilidad de poder cambiar el directorio donde guarda los correos PLESK a un nuevo volumen que no le estaba dando uso. Así podría liberar espacio en donde se encontraban las páginas web y sobre todo que se libraría de la escritura en disco.

Para ello hemos tenido que ir a buscar el KB de plesk y lo hemos ejecutado.

El único problema con ello que nos hemos encontrado es que parece ser que a PLESK no le gustan las mayúsculas en los puntos de montaje ya que los detecta siempre en su configuración en minúscula. Por lo tanto debemos tener cuidado con ello si nuestra ruta contiene alguna mayúscula ya que nos podrá dar errores de tipo que no encuentra la ruta o que en panel no os funcione la configuración de los correos.

Un saludo

 

Crear backups con webmin

Introducción

En este manual vamos a trabajar con el panel de control gratuito webmin, el cual tiene una herramienta que nos permite crear backups con webmin. Dicha herramienta nos permite realizar numerosas configuraciones pero yo me centraré en especial en el hecho de borrar los ficheros cada x tiempo.

Para ello el único requisito que debemos tener en cuenta es que debemos crear los directorios con un formato de YYYY-MM-DD y marcar una de las opciones.

Leer más