Blog

  • Bitácora – 14/08/26 Cuando la IA te da la mano… y te borra doce años de web

    Banner oficial de la categoría Bitácora en Conquistando Lugares con mapa náutico, compás de navegación, libro antiguo y distintivo

    Hay días en los que la tecnología parece magia pura y otros en los que, casi sin darte cuenta, te pega un bofetón de realidad que te deja sentado. Ayer viví exactamente esa segunda experiencia. Fue una de esas jornadas intensas, de aprendizaje a base de golpes, de las que te hacen replantearte muchas cosas sobre cómo trabajamos, cómo delegamos en la inteligencia artificial y hasta qué punto cuidamos lo que construimos en internet. Es la crónica exacta de lo que ocurre cuando la IA borra tu web tras más de una década de historia online.

    Llevaba ya bastantes horas metido de lleno en el servidor, trasteando con la inteligencia artificial como copiloto técnico. Estábamos haciendo ajustes, configurando cosillas y resolviendo dudas en el entorno. Cuando estás en esa racha donde cada comando que te sugiere la IA parece funcionar a la primera, entras en una especie de confianza ciega. Sientes que todo marcha sobre ruedas, que el asistente lo tiene todo bajo control y que nada malo puede pasar. Pero la realidad de los sistemas no perdona: basta un solo paso en falso para que una web con más de una década de historia simplemente se esfume del mapa.


    1. La chispa que encendió el problema: CentOS 7 y el espejismo del plugin

    Todo empezó porque el servidor pedía una puesta al día a gritos. La máquina corría sobre una versión de CentOS 7 que ya estaba bastante desfasada y acumulaba configuraciones antiguas, restos de herramientas que ya ni usaba —como una instancia de Plex sin licencia activa— y plugins olvidados en la trastienda de WordPress. La IA me iba marcando los puntos débiles del entorno, sugiriendo actualizar paquetes y limpiar dependencias. Y tenía toda la razón del mundo en el diagnóstico técnico: tocaba renovar el sistema operativo y sanear la infraestructura.

    Antes de meterme en tareas mayores, tocaba cumplir con la regla de oro: hacer una copia de seguridad de la web. Aquí vino mi primer gran error de la jornada. En lugar de acceder por SSH como se ha hecho toda la vida, tirar un comando para volcar la base de datos limpia y empaquetar los directorios a mano —que habría sido lo más seguro y formativo—, decidí tirar por el camino fácil y delegarlo en un plugin de WordPress.

    «El plugin hizo su proceso, me generó un archivo descargable y lo guardé en local: pesaba apenas 7 megabytes. Mi instinto me avisó a gritos de que aquello no cuadraba, pero la inercia me hizo continuar.»

    En ese instante exacto se me encendió una pequeña bombilla en la cabeza: «¿Solo siete megas para una página que lleva viva desde 2014?». Mi instinto me estaba diciendo que ahí faltaba información por todos lados. Pero entre las prisas, el cansancio y la confianza de ver que la consola seguía respondiendo en verde, lo dejé pasar. Pensé que al haber pocos artículos quizá tenía sentido. Craso error.

    Administrador de sistemas frustrado agarrándose la cabeza frente a un rack de servidores con humo, señal de peligro y monitor con pantalla en blanco
    El momento del colapso: servicios caídos, advertencias de error crítico y el abismo de la pantalla en blanco.

    2. El abismo de la pantalla en blanco

    Seguimos avanzando con la actualización del servidor. La IA me daba comandos, yo los ejecutaba, los repositorios cambiaban y todo parecía avanzar. Hasta que llegó el punto crítico del reinicio y la reconfiguración de servicios. Al intentar cargar el dominio de nuevo en el navegador, no había nada. La página web simplemente había dejado de existir.

    Empezó entonces la típica fase de pánico controlado donde intentas arreglar el estropicio con la misma herramienta que te ayudó a causarlo. Le pasaba a la IA los mensajes de error, los registros del sistema y las rutas rotas. Me ofreció decenas de alternativas, comandos de rescate y configuraciones distintas, pero ninguna encajaba con el desastre que teníamos montado. Cuando fui a recurrir a mi flamante archivo de copia de seguridad para restaurarlo todo desde cero, se confirmó la sospecha: el archivo de 7 megas era una cáscara vacía, corrupta o incompleta. No había nada dentro que sirviera para levantar el sitio.


    3. Mirar hacia atrás: Arqueología digital y lo que realmente había ahí

    Pasado el sofoco inicial y asumiendo que el servidor estaba completamente limpio, me senté a pensar qué era lo que realmente había perdido. Y la verdad es que, si soy completamente honesto conmigo mismo, el drama emocional era mucho mayor que el valor real del contenido que había online.

    No tenía una biblioteca inmensa de artículos brillantes ni posts súper elaborados. De hecho, justo antes del desastre había estado revisando las entradas:

    • Gestión de proyectos: Tres publicaciones con apuntes del último curso.
    • Analítica: Un par de entradas sencillas sobre análisis de datos.
    • Marketing: Algún texto suelto sobre cursos de SEO y creación de contenidos.
    • Ocio & Subtítulos: Un post donde había subido los subtítulos del primer episodio de Mobland (Gangs of London).

    Rebuscando en la caché de los buscadores pude comprobar que el primer artículo publicado databa de 2014. Me acordé perfectamente del momento en que lo escribí: estaba tumbado en una cama durante un viaje por Marruecos, redactando desde el móvil con muchísima ilusión. En estos doce años la web había pasado por varios proveedores y servidores distintos; la había mudado tantas veces que en algún rincón debería quedar un respaldo viejo, pero ayer fui incapaz de localizarlo. Diez años de dominio reducidos a la nada en cuestión de minutos.

    Escritorio nórdico con portátil mostrando esquema de sitemap y libreta con lista de 16 entradas para la reconstrucción del blog
    El mapa de ruta: organizando el sitemap y las 16 entradas recuperadas a través del rastro indexado.

    4. Las lecciones aprendidas de este tropiezo

    Ayer fue un recordatorio brutal de cómo debemos interactuar con la tecnología. Analizándolo en frío, saco tres aprendizajes clave que se me van a quedar grabados a fuego:

    1. Nunca te fíes a ciegas de la IA: La inteligencia artificial es un apoyo increíble para acelerar tareas, pero no razona con contexto real ni asume las consecuencias de un comando destructivo. Si no entiendes al cien por cien lo que estás ejecutando en una terminal, no lo ejecutes.
    2. Haz caso a tu instinto y haz doble verificación: Si algo te parece sospechoso —como una copia de seguridad que ocupa 7 megas—, párate en seco. No sigas adelante sin descomprimir el archivo, comprobar las tablas de la base de datos y verificar que los archivos esenciales están ahí.
    3. Mantén tus contenidos en local y en formatos simples: Nos complicamos la vida instalando decenas de plugins de respaldo y montando estructuras complejas cuando la solución más robusta es tener una copia de tus textos en local, en un documento de texto plano, Markdown o Google Docs. Si tienes el contenido en tu disco duro, la web se vuelve a montar en una tarde.

    5. Empezar de cero con mejor base

    Al final del día, decidí no flagelarme más. Más que un problema insalvable, he preferido tomármelo como una oportunidad para hacer borrón y cuenta nueva. Tenía una captura de pantalla reciente del mapa del sitio donde se leen los títulos de los artículos principales, así que tengo un punto de partida perfecto para reconstruir lo que realmente merezca la pena.

    A veces necesitas que se caiga todo el tinglado para darte cuenta de que tenías una web cargada de plugins innecesarios, código obsoleto y artículos que ya no te representaban. Toca ponerse el mono de trabajo, configurar un servidor limpio y empezar a construir de nuevo, pero esta vez con cabeza, mejores hábitos y copias de seguridad de verdad.

  • Error «Web no segura» (Certificado SSL)

    1. El problema: Error «Web no segura» (Certificado SSL)

    🚨 El susto y la trampa del acceso SSH

    Al entrar hoy a mi web (conquistandolugares.es)… ¡PANTALLAZO ROJO AL CANTO! 🛑 El navegador me recibió advirtiendo que la web no era segura.

    Esto ocurre porque el certificado SSL de la página había caducado. Cuando el certificado vence, la conexión deja de ser cifrada (https://) y el navegador bloquea el paso automáticamente mostrando esta alerta para evitar que los usuarios naveguen por un sitio no protegido.

    La solución rápida era conectar por SSH desde la terminal de mi ordenador para renovar el SSL en 2 minutos, pero el servidor me soltó un portazo en la cara.


    💡 Conceptos clave en 1 minuto

    • Certificado SSL: Cifra la conexión entre el navegador y el servidor (https:// y el icono del candado). Si caduca, salta la pantalla roja de «Sitio no seguro» 🛑.
    • Conexión SSH: Es el acceso remoto seguro por línea de comandos para controlar tu servidor desde la terminal de tu propio ordenador (PowerShell en Windows o Terminal en Mac) 💻.

    🔍 La prueba para saber si tienes exactamente este problema

    Abre tu terminal y prueba a conectarte escribiendo:

    ssh root@conquistandolugares.es

    *(Nota: recuerda cambiar conquistandolugares.es por la IP pública o el dominio de tu propio servidor)*.

    Si el sistema te rechaza y te devuelve este mensaje de error, ¡bingo! Tienes el acceso bloqueado y debes seguir leyendo este tutorial:

    Connection closed by 212.227.229.115 port 22

    💡 Nota rápida: Si a ti te funciona la conexión SSH y consigues entrar a la primera, ¡te puedes saltar este capítulo! Ve directo a la sección donde renovamos el certificado SSL.


    🤯 La pesadilla de la consola web

    Al no tener acceso por SSH, no me quedó otra que recurrir a la consola web KVM del panel de Piensa Solutions.

    Aquí te dejo cómo acceder a la consola el servidor desde la web de Piensa Solutions 🎬👇:

    Vídeo explicativo: Solucionando el acceso SSH y la consola web en Piensa Solutions.

    Y ahí empezó la fiesta:

    • Sin portapapeles: No permitía copiar ni pegar nada. ¡Había que teclear todo a mano!
    • 👻 Teclado desconfigurado: La consola forzó la distribución en inglés (US), cambiando de sitio comillas ("), barras (/) y puntos y comas (;).

    2. ¿Cómo soluciono esto?

    🛠️ Paso 1: Recuperar el acceso SSH desde la consola web

    Para no seguir sufriendo con la consola web de Piensa Solutions (sin portapapeles y peleando con el teclado desconfigurado), el objetivo es forzar al servidor a aceptar nuestra conexión SSH directa con contraseña desde la terminal de nuestro ordenador.

    Para evitar errores de sintaxis con el teclado en inglés, escribimos estas órdenes en la consola web de una en una y sin comillas dobles:

    1. Permitir el acceso al usuario root:
      echo PermitRootLogin yes >> /etc/ssh/sshd_config
    2. Habilitar la autenticación por contraseña:
      echo PasswordAuthentication yes >> /etc/ssh/sshd_config
    3. Reiniciar el servicio SSH para aplicar los cambios:
      systemctl restart sshd

    💻 Paso 2: Probar la conexión SSH en paralelo desde tu terminal

    ⚠️ Consejo importante: No cierres la consola web de Piensa Solutions todavía. Mantén la ventana abierta a un lado y abre en paralelo la PowerShell de tu ordenador (o la Terminal en Mac).

    Prueba a conectarte introduciendo tus datos:

    ssh root@conquistandolugares.es

    *(Nota: Recuerda cambiar conquistandolugares.es por la IP pública o el dominio de tu servidor).*

    Escribe tu contraseña de root. En cuanto el servidor te devuelva el mensaje de bienvenida, sabrás que estás dentro y con capacidad nativa de copiar y pegar con el clic derecho 🥳:

    Last login: Thu Aug 13 09:07:56 2026
    This server is powered by Plesk.
    [root@server-wp-conquistando-lugares ~]#

    🔄 Paso 3: La batalla para renovar el SSL (Plesk vs Certbot)

    Una vez conectados cómodamente desde nuestra propia terminal, este fue el recorrido real para renovar el certificado:

    1. El intento por Plesk CLI (y el fallo de licencia)

    Intentamos emitir el certificado usando la extensión propia de Plesk:

    plesk bin extension --exec letsencrypt cli.php -d conquistandolugares.es -d www.conquistandolugares.es -m tu-email@gmail.com

    El problema: Plesk devolvió un error indicando que la licencia estaba caducada (The license key is invalid). Como no queríamos pagar los 5 €/mes de Plesk, pasamos a instalar Certbot (la herramienta oficial y gratuita).

    2. El fallo de repositorios YUM de CentOS 7

    Al intentar instalar Certbot con yum install -y certbot python2-certbot-apache, la descarga falló por un repositorio antiguo y desactualizado de TuxCare (centos7-els).

    Desactivamos el repositorio rebelde y limpiamos la caché:

    yum-config-manager --disable centos7-els

    Lanzamos de nuevo la instalación… ¡y completó con éxito! (Complete!) 🎉

    3. Emisión del certificado por Webroot

    Cuando intentamos generar el certificado automáticamente con el plugin de Apache (certbot --apache), el sistema nos dio este fallo:

    Unable to find a virtual host listening on port 80 which is currently needed for Certbot to prove to the CA that you control your domain.

    ¿Por qué ocurrió este fallo de Apache? Plesk gestiona los servidores web de forma personalizada. En lugar de guardar las configuraciones de los dominios en las rutas estándar de Apache, utiliza su propia estructura de archivos y un reverse proxy con Nginx por delante. Como Certbot no encuentra el archivo habitual de la web en la carpeta estándar de Apache, el plugin --apache se desorienta y falla.

    💡 La solución: Validación por Webroot Para solucionar esto sin tocar la configuración de Apache, utilizamos la modalidad --webroot. Este método coloca un archivo temporal en la carpeta pública de la web (httpdocs) para que Let’s Encrypt compruebe que el dominio es tuyo.

    Ejecutamos el comando especificando la ruta pública real de la web en Plesk:

    certbot certonly --webroot -w /var/www/vhosts/conquistandolugares.es/httpdocs -d conquistandolugares.es -d www.conquistandolugares.es --non-interactive --agree-tos -m tu-email@gmail.com

    ⚠️ Nota muy importante: Recuerda cambiar conquistandolugares.es por tu propio dominio, y sustituir tu-email@gmail.com por tu correo electrónico real (donde te llegarán las notificaciones de renovación de Let’s Encrypt).

    ¡Certbot validó el dominio al instante y emitió las claves con éxito! 📜🎉

    4. Importar y activar el certificado en Plesk

    Para que el servidor web reconozca el nuevo certificado generado por Certbot, realizamos dos pasos desde la consola:

    1. Importar las claves a la base de datos de Plesk:
      plesk bin certificate -c "Certificado_Certbot" -domain conquistandolugares.es -key-file /etc/letsencrypt/live/conquistandolugares.es/privkey.pem -cert-file /etc/letsencrypt/live/conquistandolugares.es/cert.pem -cacert-file /etc/letsencrypt/live/conquistandolugares.es/chain.pem
    2. Asignar el certificado a la página web:
      plesk bin site -u conquistandolugares.es -certificate-name "Certificado_Certbot" -ssl true

    El servidor nos devolvió la confirmación definitiva:
    SUCCESS: Update of domain 'conquistandolugares.es' completed.


    🎉 Paso 4: Comprobación final

    Ejecutamos el comando de verificación en el servidor:

    sudo certbot certificates

    Confirmamos que el certificado está activo y con 89 días de validez restante (VALID: 89 days). Entramos a https://conquistandolugares.es desde el navegador y comprobamos que el candado de conexión segura vuelve a estar activo y la web carga perfectamente sin alertas rojas.

    3. Ya está funcionando

    🎯 Resultado y comprobaciones finales

    ¡Misión cumplida! La web conquistandolugares.es vuelve a estar 100% online, segura y accesible para todo el mundo 🔒.

    • 🟢 Candado seguro en el navegador: La alerta roja ha desaparecido por completo y la conexión vuelve a ser cifrada con HTTPS.
    • 📜 Certificado renovado: Con sudo certbot certificates confirmamos que el certificado de Let’s Encrypt está activo y funcionando.
    • 💻 Acceso SSH restaurado: Conexión directa y fluida desde la terminal de nuestro ordenador, sin volver a tocar la consola web del hosting.

    💡 Reflexión final y recomendación

    gestionar un servidor VPS directamente por consola es totalmente viable apoyándote en una IA como Gemini 🤖.

    Recomiendo encarecidamente afrontar estos problemas con el apoyo de una IA: le puedes pegar directamente los mensajes de error reales que te devuelve la terminal y te da de vuelta el código o comando exacto que debes ejecutar. De esta forma, evitas cometer faltas ortográficas o errores de sintaxis en las órdenes.

    Seguramente a un administrador de sistemas con experiencia todo este proceso le hubiera tomado apenas 20 minutos. A mí, siendo la primera vez que me tocaba lidiar con este tipo de configuraciones y bloqueos, (sobretodo la parte de la consola web del servidor que no me dejaba copiar y pegar) me ha llevado unos 2 horas, ¡pero el aprendizaje ha merecido totalmente la pena!

    💬 ¡Déjame tu comentario!
    ¿Te ha servido esta guía para solucionar el acceso SSH o renovar tu certificado SSL? Si has intentado seguir los pasos, déjame en los comentarios si te ha funcionado o qué errores te han ido apareciendo para que podamos resolverlos juntos. 👇

    📊 Ficha técnica de la guía:
    📖 Tiempo de lectura estimado: ~7 minutos.
    ⏱️ Tiempo de resolución: ~2 horas (o ~20 min para un usuario experto).
    🤯 Nivel de dificultad: Bajo (apoyándote en Gemini).

  • ¡Hola, mundo!

    Te damos la bienvenida a WordPress. Esta es tu primera entrada. Edítala o bórrala, ¡luego empieza a escribir!