Instalar mod_pagespeed en un servidor CentOS

El módulo mod_pagespeed es un módulo de Apache desarrollado por Google que mejora enormemente el rendimiento de una web estándar, al incluir, entre una gran cantidad de opciones, optimizaciones como compresión de las webs, imágenes, definición de cachés, etc.

La instalación de este módulo es muy sencilla y procedo a explicarla:

Primeramente, procederemos a instalar el repositorio oficial de Google para el módulo, para ello, editaremos un fichero de repositorio:

 

Dentro del cual incluiremos el siguiente texto:

 

Realizaremos seguidamente la instalación del módulo:

 

Y por último, reiniciaremos apache.

Con esto, el módulo estará activo e instalado. No obstante, es muy recomendable revisar el fichero de configuración del mismo a fin de definir exactamente los parámetros que nos hagan falta, desde el fichero de configuración de pagespeed:

 

Se recomienda revisar la página oficial de google: https://modpagespeed.com/doc/configuration

Por último, en caso de querer desinstalar el módulo, simplemente realizaremos:

 

rm /etc/yum.repos.d/googlemodepagespeed.repo

Y con esto, será como si nunca hubiese estado instalado.

 

Como recuperar la contraseña de root

En ocasiones, nos hemos encontrado con algún servidor que requiere de alguna acción (ya sea un fallo en el arranque, mantenimiento, etc) y necesitamos la contraseña de root, la cual desconocemos. Afortunadamente, existe una forma sencilla de recuperar esta contraseña y el procedimiento es el siguiente

  • Primeramente, procedemos a reiniciar el servidor con CTRL+ALT+DEL o bien pulsando el botón de reinicio
  • Cuando el S.O. comience a arrancar, pulsamos ESC varias veces para entrar en el prompt de GRUB.
  • Una vez en la ventana de selección de S.O/Kernel en el grub, nos ubicamos sobre la primera opción y pulsaremos la tecla ‘e’ para editar el arranque
  • En la siguiente ventana observaremos los argumentos de inicio del sistema, debemos ubicarnos en la línea del kernel (empieza por “linux16”) y pulsaremos la tecla ‘e’ para editar la línea.
  • Seguidamente, buscaremos la línea “ro” y cambiaremos la misma por “rw init=/sysroot/bin/sh.”
  • Pulsaremos CTRL+X o F10 para arrancar en single user.
  • Accedemos al sistema con chroot /sysroot
  • Lanzamos passwd para cambiar la contraseña de root
  • Reiniciaremos el sistema.

Con esto, entraremos en modo de superusuario y podremos cambiar la contraseña de root con el comando ‘passwd root’. Una vez cambiada la contraseña, simplemente reiniciaremos el servidor y ya podremos validarnos correctamente.

 

Actualizar MySQL a versión 5.6/5.7

En esta entrada, se va a proceder a explicar como actualizar MySQL a la versión 5.6 o 5.7.

Para ello, lo primero de todo es realizar un backup/dump de todas las bases de datos. Podemos realizar un backup de todas las bbdd en un único fichero:

 

O bien generar un pequeño script que nos la separe por ficheros, editando el usuario y contraseña, por supuesto.:

 

Una vez tengamos el backup, procedemos parar MySQL a hacer un backup del datadir de MySQL

 

 

Después, instalamos el repositorio community de MySQL (Importante, si tenemos activo el repositorio de ATOMIC, será necesario deshabilitarlo):

 

Ahora, editamos el repositorio y habilitamos la versión que nos interese, por ejemplo, a continuación se activa la versión 5.6 pero desactivamos la 5.7

 

 

Una vez hecho esto, simplemente instalamos MySQL:

 

Después, editaremos el fichero /etc/my.cnf y añadiremos la opción skip-grant-tables, de lo contrario no podremos entrar en MySQL. Una vez hecho esto, lanzaremos el siguiente comando que procederá con el upgrade de las bbdd a 5.6:

 

(Insertar el usuario y contraseña en cuestión)

Y por último, comentamos la línea skip-grant-tables añadida anteriormente y reiniciamos mysqld.

Ya está, hemos actualizado MySQL a 5.6.

Revertir una instalación/update con yum

En una ocasión, un servidor con un panel Plesk actualizó automáticamente los paquetes del sistema (debido a una configuración errónea del Panel Plesk), actualizando también la versión de MySQL de 5.1 a 5.6, sin previo aviso. Esto, como es obvio, desembocó en fallos en la BBDD, y una pérdida de servicio.

Afortunadamente, existe una forma de revertir una actualización/instalación realizada con yum.

Primeramente, observaremos el histórico de yum:

 

Lo cual nos devolverá un listado similar a este:

 

Ahora, simplemente debemos revertir la actualización que deseemos, insertando su ID:

 

Con esto, revertiremos la update nº 37 realizada el 22/06

 

Cambiar motor de tabla en MySQL

No todos los programadores, a la hora de crear una base de datos, definen el motor de la misma, y, en versiones de MySQL más antiguas, el motor por defecto de MySQL es MyISAM. MyISAM es potente para bases de datos de “solo lectura” pero tiene el gran inconveniente de que provoca bloqueos, algo muy problemático en bases de datos de lectura/escritura continua y alterna.

Por ello, en ocasiones nos encontraremos con tablas de bases de datos que se encuentran en MyISAM y tienen esta problemática. La solución consiste simple y llanamente en modificar el motor de la tabla a InnoDB, y existen dos formas de realizar el cambio, una rápida y sencilla, y una más tediosa pero segura, y que recomiendo en casos en los que las tablas tengan muchos datos.

IMPORTANTE: Realizad siempre un backup de la BBDD/Tabla antes de realizar cualquier cambio en la misma

Para el primer caso, la solución es tan simple como realizar un alter table:

 

Con esto, el motor se cambiará a InnoDB, y no debería existir problemas, pero en ocasiones se producen inconsistencias, por lo que se recomienda el segundo procedimiento:

Para ello, entramos a MySQL y accedemos a la base de datos en la que se encuentra la tabla a modificar.

 

 

Una vez dentro, debemos realizar un show create table de la tabla a modificar, para que nos devuelva la sintaxis de creación de la tabla.

 

El show create table nos devolverá lo siguiente, en nuestro caso:

 

Lo que debemos hacer es editar el nombre de la tabla a un nombre temporal, y el motor a InnoDB:

 

Una vez  realizado esto, tendremos dos tablas, una “nombre_de_tabla” en myisam, y con contenido, y una “nombre_de_tabla_temporal” en innodb y vacía, por lo que el siguiente paso es volcar la información a la tabla temporal:

 

Por último, solo nos queda renombrar ambas tablas:

 

 

Y con esto, habríamos modificado la tabla a InnoDB de forma segura.