Este artículo te ayudará a hacer una copia de seguridad de los datos y bases de datos de tu página web localmente tu equipo antes de instalar un nuevo sistema operativo en tu servidor VPS de IONOS y luego importarlos de nuevo. Como todos los datos del servidor se borran al reinstalar el sistema operativo, este proceso es absolutamente esencial.

En este artículo, te explicamos los pasos para las siguientes acciones: 

  • Identificar los datos de la página web y los archivos de configuración necesarios para Apache y Nginx.
  • Exportar la base de datos MySQL utilizada y realizar una copia de seguridad local de la misma.
  • Guardar los archivos de la página web y la base de datos MySQL exportada localmente en tu equipo.
  • Instalar las aplicaciones Apache, Nginx, PHP y MySQL después de reinstalar el sistema operativo.
  • Importar de nuevo los datos de la copia de seguridad y la base de datos del equipo local al VPS.

Advertencia

Como vas a reinstalar el sistema operativo en tu VPS actual, todos los datos que se encuentran en el servidor se perderán de forma irreversible. Antes de iniciar la instalación del nuevo sistema operativo en el Cloud Panel de de IONOS, asegúrate de haber completado correctamente todos los pasos de la copia de seguridad, incluyendo la exportación de la base de datos y la descarga de los archivos.

 

Notas

  • Este proceso requiere una planificación y ejecución cuidadosas.

  • Comprueba qué ajustes y configuraciones de seguridad se deben realizar después de instalar el nuevo sistema operativo. Esto se aplica tanto al sistema operativo instalado como a las aplicaciones instaladas.

  • Asegúrate de probar cuidadosamente la funcionalidad de tus páginas web, aplicaciones y scripts. Tómate el tiempo necesario para las pruebas y la resolución de problemas.

  • Si es necesario, informa a las personas usuarias de los tiempos de inactividad previstos.

  • La copia de seguridad y la migración de datos son tu responsabilidad; no forman parte del soporte IONOS.

Identificar los archivos de la página web

Antes de eliminar el sistema, debes determinar los archivos necesarios de la página web.

Apache
  • Establece una conexión SSH con tu VPS e inicia sesión como persona administradora. Consulta las instrucciones en el siguiente artículo: acceder al servidor Linux mediante SSH
  • Para buscar texto que contenga el nombre de tu dominio en todos los archivos del directorio /etc/apache2/sites-enabled y tus subdirectorios, sustituye el marcador de posición en el siguiente comando. A continuación, pulsa Intro

    [root@localhost ~]# grep -Ril "NOMBRE_DE_DOMINIO" /etc/apache2/sites-enabled

    Por ejemplo:

    [root@localhost ~]# grep -Ril "ejemplo.com" /etc/apache2/sites-enabled

    A continuación, se muestra la ruta del archivo de configuración de tu página web. Por ejemplo:

    /etc/apache2/sites-enabled/ejemplo.com.conf

  • Abre el archivo con el editor vi. Para ello, adapta el comando que aparece a continuación y pulsa Intro:

    [root@localhost ~]# vi /etc/RUTA/NOMBRE_DE_ARCHIVO.conf

    Por ejemplo:

    [root@localhost ~]# vi /etc/apache2/sites-enabled/ejemplo.com.conf

  • Observa la ruta a los archivos de la página web que aparecen en la línea DocumentRoot. En el ejemplo siguiente, se trata del directorio /var/www/html.

    [root@localhost ~]# vi /etc/apache2/sites-enabled/ejemplo.com.conf

    <VirtualHost *:80> … ServerAdmin webmaster@localhost DocumentRoot /var/www/html … ErrorLog ${APACHE LOG DIR}/error.log CustomLog ${APACHE LOG DIR}/access.log combined

  • Pulsa la tecla [ESC].
  • Para salir de vi y guardar el archivo, introduce el comando :wq y pulsa Intro.

 

Nginx
  • Establece una conexión SSH con tu servidor utilizado anteriormente e inicia sesión como persona administradora. Consulta las instrucciones en el siguiente artículo: acceder al servidor Linux mediante SSH
  • Abre el directorio de configuración de Nginx.

    [root@localhost ~]# cd /etc/nginx

  • Abre el archivo principal de configuración de Nginx con el editor vi. Este suele ser el archivo nginx.conf. Para ello, adapta el comando de abajo y pulsa Intro:

    [root@localhost ~]# vi /etc/nginx/nginx.conf

  • Busca en el archivo de configuración principal las líneas que contengan «include». A continuación, comprueba qué otros archivos o directorios de configuración se cargan (por ejemplo, sites-enabled/*).
  • Anota los archivos o directorios de configuración necesarios y sus rutas.
  • Para encontrar la directiva raíz que especifica la ruta a los archivos de la página web, introduce el siguiente comando:

    [root@localhost ~]# grep -R 'root' /etc/nginx/

    Este comando busca la cadena de caracteres root en todos los archivos situados por debajo de /etc/nginx. La salida muestra los archivos y las líneas correspondientes en los que se ha establecido la directiva root. La salida de grep puede contener varias líneas si Nginx aloja varias páginas web (bloques de servidores), por ejemplo. Cada línea muestra la ruta del archivo de configuración y la línea en la que se establece la directiva raíz. 

    Por ejemplo:  etc/nginx/sites-available/ejemplo.com: root /var/www/ejemplo.com/html

     

    En este ejemplo, la ruta /var/www/ejemplo.com/html se utiliza como directorio raíz de la página web ejemplo.com.

  • Anota la ruta del directorio raíz.
  • Comprueba el contenido del directorio raíz. Para ver el contenido, introduce el siguiente comando:

    [root@localhost ~]# ls -l /RUTA

    Por ejemplo:

    [root@localhost ~]# ls -l /var/www/ejemplo.com/html

Hacer una copia de seguridad de la base de datos MySQL

Para hacer una copia de seguridad de la base de datos MySQL de tu página web, necesitas saber los datos de acceso a la base de datos MySQL. También necesitarás la siguiente información: 

  • Puerto (Port)
  • Host
  • Nombre de la base de datos

Si ya conoces los datos de acceso de la base de datos MySQL, puedes omitir esta sección.

 
Identificar los datos de acceso

La siguiente sección explica dónde puedes encontrar los datos de acceso a MySQL:

WordPress

En WordPress, puedes encontrar los datos de acceso a MySQL en el archivo wp-config.php. Este se encuentra en el directorio raíz de tu instalación de WordPress.

Las rutas típicas son las siguientes:

/var/www/html/wp-config.php

o

/var/www/example.com/wp-config.php /** The name of the database for WordPress */ define('DB_NAME', 'db123456789');

/** MySQL database username */ define('DB_USER', 'dbo123456789');

/** MySQL database password */ define('DB_PASSWORD', 'Secret_Password');

/** MySQL hostname */ define('DB_HOST', 'db123456789.hosting-data.io');

/** WordPress Database Table prefix. */$table_prefix = 'abcd_';

Páginas web sin CMS

Para webs que acceden directamente a una base de datos y no utilizan un CMS, el almacenamiento de los datos de acceso depende de la configuración individual. Los datos de acceso suelen almacenarse en archivos de configuración que son utilizados por los scripts respectivos. Para encontrar los datos de acceso en este caso, debes buscar los parámetros de conexión a la base de datos en los archivos PHP, Python, Java u otros archivos backend.

Exportar base de datos MySQL

Para hacer una copia de seguridad de una base de datos MySQL, utiliza la herramienta mysqldump, que se suministra con la mayoría de las instalaciones de MySQL. Sustituye los marcadores de posición en el comando siguiente y, a continuación, introduce el comando.

[root@localhost ~]# mysqldump --no-tablespaces --port PORTNUMBER --host=HOSTNAME --user=USERNAME --password=PASSWORD DATABASE_NAME | gzip > /root/dbdump.sql.gz

Advertencia

Si introduces la contraseña directamente en el comando después de --password=, se guardará en texto plano en el historial de comandos (bash history) de tu servidor. Para evitar esto, puedes especificar el parámetro --password sin un valor. En este caso, se te pedirá que introduzcas una contraseña segura después de enviar el comando, durante el cual tu entrada permanecerá invisible.

Por ejemplo: 

mysqldump --user=USERNAME --password DATABASE_NAME > /root/dbdump.sql

Tras introducir el comando, la base de datos se exporta al directorio raíz. El nombre del archivo es dbdump.sql.gz.

Nota

Si tus nombres de archivo, contraseñas o nombres de usuario contienen caracteres especiales, asegúrate de incluirlos entre comillas simples (') en el comando mysqldump o mysql.

Por ejemplo: mysqldump [...] --password='%gCjmnrmLk!xnSefw'

Guardar localmente los archivos de la página web y la base de datos MySQL exportada

Guarda la copia de los archivos de la página web y la base de datos MySQL exportada en tu equipo local. Este es el paso crucial antes de empezar a reinstalar el sistema operativo. Para ello, puedes utilizar el programa FileZilla, que está disponible para equipos con sistemas operativos Windows, macOS y Linux.

Puedes descargar el archivo de instalación más reciente para tu sistema operativo desde la siguiente página: https://filezilla-project.org/download.php?type=client

Para establecer una conexión a tu servidor con FileZilla y descargar la copia de los archivos de la página web y la base de datos MySQL exportada a un equipo local, sigue estos pasos:

  • Inicia FileZilla en tu equipo local.
  • Introduce la dirección IP del servidor en el campo correspondiente.
  • Introduce el nombre de usuario root en el campo correspondiente.
  • Introduce la contraseña establecida en el campo correspondiente.
  • Introduce el puerto 22 en el campo correspondiente.
  • Selecciona la opción para conectar y se establecerá la conexión con el servidor. Los directorios de tu cliente se muestran en el área de la izquierda. Los directorios de tu servidor aparecen en la parte derecha.
  • Crea un directorio en tu equipo local.
  • Abre el directorio raíz de tu servidor web.
  • Selecciona el directorio raíz de tu servidor y, a continuación, cópialo en el directorio deseado de tu equipo local mediante la función de arrastrar y soltar.
  • Copia también los archivos o directorios de configuración necesarios en el directorio deseado de tu equipo local mediante la función de arrastrar y soltar.
  • Abre el directorio raíz.
  • Selecciona la base de datos exportada. El nombre del archivo es dbdump.sql.gz. A continuación, copia el archivo en el directorio deseado de tu equipo local mediante la función de arrastrar y soltar.

Reinstalar el sistema operativo

Puedes reinstalar el sistema operativo desde el Cloud Panel de IONOS.

Advertencia

Con esta acción, todos los datos del servidor VPS serán borrados.

Consulta cómo instalar una nueva imagen en el siguiente artículo: reinstalar imagen (VPS)

Instalar aplicaciones en el nuevo servidor

Una vez instalado el nuevo sistema operativo, debes reconstruir el entorno. Para ello, instala las aplicaciones necesarias en tu nuevo servidor.

Advertencia

Comprueba los requisitos necesarios del sistema antes de la instalación. También puedes informarte sobre posibles problemas de compatibilidad en la página web del fabricante del software.

Instalar Apache, MySQL/MariaDB y PHP

Las instrucciones sobre cómo instalar Apache, MySQL/MariaDB y PHP se pueden encontrar en los siguientes artículos:

Asegurar el sistema operativo y la aplicación

Tras la instalación del nuevo sistema operativo, adapta todos los ajustes y configuraciones de seguridad necesarios del servidor. Esto se aplica tanto al nuevo sistema operativo como a las aplicaciones instaladas.

En el siguiente artículo encontrarás información sobre algunas medidas de seguridad fundamentales: información sobre la seguridad de tu servidor Linux (parte 2 de 2)

Importar archivos de la página web

Apache
  • Establece una conexión SSH con tu nuevo servidor e inicia sesión como persona administradora.
  • Abre también FileZilla.
  • Copia los datos y archivos de configuración de los que se ha hecho copia de seguridad con FileZilla mediante la función de arrastrar y soltar en los directorios correspondientes de tu nuevo servidor.
  • Comprueba los archivos de configuración, así como las rutas y los ajustes específicos del entorno del servidor antiguo y ajústalos si es necesario.
  • Para reiniciar Apache, cambia al programa con el que se ha establecido la conexión SSH e introduce el siguiente comando:
     

    AlmaLinux y Rocky Linux

    [root@localhost ~]# ssudo systemctl restart httpd

    Debian y Ubuntu

    [root@localhost ~]# sudo systemctl restart apache2

  • Comprueba los scripts que estás utilizando y ajústalos si es necesario.
  • Prueba la página web y la configuración.
 
 
Nginx
  • Establece una conexión SSH con tu nuevo servidor e inicia sesión como persona administradora.

  • Abre también FileZilla.

  • Copia los datos y los archivos de configuración de los que se ha hecho copia de seguridad con FileZilla mediante la función de arrastrar y soltar en los directorios correspondientes de tu nuevo servidor.

  • Comprueba los archivos de configuración, así como las rutas y los ajustes que estaban alineados con el entorno del antiguo servidor y ajústalos si es necesario.

  • Para reiniciar Nginx, cambia al programa con el que has establecido la conexión SSH e introduce el siguiente comando:

    [root@localhost ~]# sudo systemctl restart nginx

  • Comprueba los scripts que estás utilizando y ajústalos si es necesario.

  • Prueba la página web y la configuración.

 
Importar la base de datos MySQL
  • Abre FileZilla.
  • Copia la base de datos exportada al directorio correspondiente de tu nuevo servidor mediante la función de arrastrar y soltar.
  • Cambia al programa que has utilizado para establecer la conexión SSH.
  • Abre el directorio en el que se encuentra la base de datos exportada.
  • Para restaurar tus datos, ejecuta el comando mysql según el esquema siguiente. Sustituye los marcadores de posición escritos en mayúsculas por los datos de acceso de la base de datos en la que deseas restaurar los datos.

    [root@localhost ~]# gunzip -c FILENAME | mysql --user=USERNAME --password=PASSWORD DATABASE

  • Comprueba la configuración de seguridad de tu base de datos MySQL.

Trasladar el blog de WordPress

Consulta cómo importar la copia de seguridad de tu blog de WordPress en la siguiente página:

Migrar WordPress: cambiar de servidor

Finalización y comprobación

  • Configuración DNS: como la dirección IP de tu VPS no suele cambiar durante una nueva instalación, no necesitas modificar nada en el DNS.

  • Prueba de funcionamiento: comprueba que la página web no contenga errores de script ni conexiones a bases de datos.

  • Seguridad: ajusta inmediatamente las reglas de firewall y la configuración de seguridad de tu nuevo sistema operativo.