Dibujo relacionado con la instalación de wordpress

Tutorial de instalación de WordPress en Ubuntu 22.04

Partimos de una máquina (en nuestro caso un contenedor de Docker) con los paquete necesarios instalados y los servicios Apache2 y MariaDB correctamente configurados y levantados.

Este proceso de instalación de WordPress consta de las siguientes fases:

  • Descargar y descomprimir la aplicación WordPress en la carpeta del servidor web. Todos los contenidos deben tener como propietario y grupo el del servidor web además de unos permisos específicos.
  • Crear una base de datos donde WP creará todas las tablas y albergará muchos datos.
  • Crear un usuario y concederle los privilegios necesarios para que WP pueda acceder a la BD creada anteriormente.
  • Acceder al menú de instalación de WP desde el navegador.

Vamos paso a paso:

Descargamos la última versión de WordPress

apt install wget
wget https://es.wordpress.org/latest-es_ES.tar.gz

Lo descomprimimos en el directorio del servidor web

tar xf latest-es_ES.tar.gz -C /var/www/html/

Cambiamos el usuario y el grupo de la carpeta wordpress y todo su contenido para que el servidor web tenga privilegios suficientes sobre dicha carpeta.

chown -R www-data:www-data /var/www/html/wordpress/

Daremos permisos de escritura al grupo del directorio de WordPress. Esto es porque WordPress (a través del servidor web) necesita escribir archivos de configuración, instalar plugins, subir contenidos, actualizarse a sí mismo, etc.

sudo chmod -R g+w /var/www/html/wordpress/

Configurando la base de datos

Para ello usaremos el cliente de consola de MySQL accediendo con un usuario con permisos para crear bases de datos y otros usuarios (o el mismo root):

mysql -u root -p

Creamos la base de datos para WordPress:

CREATE DATABASE wordpress CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;

Creamos un usuario para wordpress. Aunque no es lo recomendable en un caso real, omo estamos haciendo una práctica lo llamaremos wordpress con contraseña wordpress para mayor comodidad.

CREATE USER 'wordpress'@'localhost' identified by 'wordpress';

Y concedemos permisos del usuario sobre la base de datos:

GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';

Ya podemos cerrar la conexión al servicio de bases de datos, no sin antes refrescar la tabla de permisos

FLUSH PRIVILEGES;
EXIT

Reiniciamos los servicios antes de continuar con el proceso de instalación de WordPress:

service apache2 restart
service mariadb restart

Accedemos a wordpress desde nuestro navegador web: http://ip-del-server/worpdress

Para conocer la IP del server podemos usar el comando:

ip a

Introducimos los datos de acceso que configuramos en la base de datos wordpress y voila!

Captura de pantalla de la ventana de configuración de actualizaciones de Ubuntu 22.04

Actualizaciones automáticas, ¿sí o no?

Después de comentar en clase con mis estudiantes la importancia de las actualizaciones para mantener la seguridad de un sistema surgió del debate de si deberíamos programar las actualizaciones automáticamente o no y, como en la mayoría de casos, hay que matizar algunas cuestiones. Aquí tenéis mi opinión al respecto

Cualquier software es susceptible de recibir actualizaciones: sistemas operativos, SGBD, navegadores, máquinas virtuales, servicios, librerías, plugins, aplicaciones web, etc. Actualizar nuestros sistemas y aplicaciones es de suma importancia para resolver las vulnerabilidades que se van encontrando y que pueden ser explotadas por ciberdelincuentes. Se trata de una medida que se ha de tomar cuanto antes. 

Para estar al día de las actualizaciones que nos puedan afectar debemos suscribirnos a boletines o servicios de notificación de los fabricantes o de organizaciones como Hispasec que dispone de un servicio llamado Una Al Día en el que informa de las últimas vulnerabilidades, filtraciones y otros problemas de seguridad que hayan sido publicados.

La importancia de las actualizaciones es incuestionable y probablemente para usuarios finales configurar las actualizaciones automáticas o actualizar inmediatamente nada conocer la existencia de un parche o actualización disponible sea una buen idea. 

Data Processing Technician 2nd Class Holt monitors a telecommunications console in response to a user trouble call in the Navy Regional Data Automatic Center.

Dicho esto habría que matizar esta decisión para un/a administrador/a de sistemas de una organización.  En el caso de software de una organización del que dependa la lógica de negocio en el que una contingencia tuviera un impacto medio o alto deberíamos plantearnos cuándo actualizar. Existe software complejo con muchas dependencias que podría afectar a otras aplicaciones y cuya actualización podría suponer una parada y pérdida de disponibilidad y en el peor de los casos pérdida de integridad de la información. Se conocen casos de sistemas que no se han levantado tras una actualización y han causado grandes pérdidas a la organización. Una simple actualización de un fichero de configuración al que se han dedicado horas de trabajo podría suponer un quebradero de cabeza para un/a administrador/a de sistemas y podrían pasar días hasta encontrar el fallo y conseguir levantar los sistemas.

🃏En estos casos mi recomendación sería:

  1. En primer lugar, informarnos sobre dicha actualización, consultar en foros o a otros/as administradores/as de sistemas si han tenido algún problema con la actualización.
  2. Hacer una backup para poder restaurar en caso de pérdida de integridad.
  3. Probar la actualización en un entorno de pruebas como una máquina virtual si es posible.
  4. Buscar la mejor ventana de tiempo para realizar la actualización por si hubiera que reiniciar máquinas o si ocurriera alguna contingencia.