Cualquier migración de sitio web se considera una de las operaciones más difíciles. Afortunadamente, WordPress proporciona una gran cantidad de complementos de copia de seguridad para ayudar y automatizar todo el proceso de copia de seguridad y migración. Sin embargo, WordPress está construido de tal manera que la migración manual de WordPress no podría ser más sencilla.
En este tutorial, le mostraré cómo migrar un sitio de WordPress manualmente a un nuevo host o servidor. Esto es especialmente útil si el sitio está alojado en un servidor con recursos insuficientes para habilitar el complemento de copia de seguridad. Los complementos de copia de seguridad suelen exigir una cantidad mínima de recursos para ejecutar la copia de seguridad del sitio y la migración a otro servidor. He preparado una lista de complementos de copia de seguridad para WordPress. Por lo tanto, si su servidor está en buen estado y tiene suficientes recursos, le recomiendo que instale un complemento de copia de seguridad para la migración de WordPress.
Empecemos el proceso.
Prerrequisitos –
Tiempo estimado de lectura:8 minutos
- Acceso SSH a ambos servidores
Copia de seguridad de WordPress
Cada sitio de WordPress se compone de tres componentes principales:archivos principales de WordPress, archivos de usuario (es decir, el wp-content
directorio) y la base de datos de WordPress. A menos que se modifique la versión de WordPress, los archivos principales no cambian. wp-content
y la base de datos, por otro lado, cambia diariamente o incluso cada hora, dependiendo del tráfico del sitio web. Si crea contenido nuevo con regularidad, se cargan nuevas imágenes, videos y texto todos los días, lo que aumenta la cantidad de archivos en el servidor y el tamaño de la base de datos.
El primer paso es comprimir wp-content
para reducir su tamaño y transferirlo rápidamente al nuevo servidor. En segundo lugar, exporte la base de datos de WordPress, comprímala con los archivos de usuario y prepárela para la migración.
contenido de wp
wp-content
es un subdirectorio del directorio de WordPress. Almacena todos los datos que el usuario ha subido, como temas, complementos, archivos adjuntos, fotos, videos, etc. A menos que el administrador del sitio configure el CMS para hacerlo, la mayoría de los sitios de WordPress no cargan el contenido del usuario en ningún otro directorio. Si está utilizando un tema muy personalizado, haga una copia de seguridad de los directorios que contienen datos relevantes para la estructura de su sitio web personalizado.
Muchos complementos de respaldo guardan los archivos de respaldo en otro lugar que no sea wp-content
. Por lo tanto, si desea migrar los archivos de copia de seguridad almacenados al nuevo servidor, inclúyalos también en el archivo; alternativamente, descárguelos y guárdelos en un lugar seguro. Agregar archivos de copia de seguridad almacenados puede aumentar significativamente el tamaño de la copia de seguridad completa, así que descárguelos localmente si es posible.
.htaccess
El .htaccess
El archivo es un archivo de configuración que permite a los usuarios configurar ajustes distintos para cada directorio. WordPress aloja múltiples .htaccess
archivos, el principal de los cuales se encuentra en la raíz de WordPress.
Haz una copia de seguridad del .htaccess
porque contiene ajustes de configuración útiles establecidos por los complementos instalados, como el firewall y los complementos de caché.
wp-config.php
wp-config.php
es un archivo de configuración de WordPress que contiene la información más crítica para que WordPress funcione. El wp-config.php
El archivo proporciona información de conexión a la base de datos. El wp-config.php
El archivo también puede sobrescribir los límites de PHP establecidos por el servidor, entre otras cosas. Si está migrando su sitio a un nuevo host, asegúrese de copiar wp-config.php
junto con los demás archivos al nuevo servidor.
Base de datos de WordPress
Al crear un nuevo sitio o transferir uno antiguo, asegúrese de que la base de datos esté configurada correctamente con el sitio. Como se indicó anteriormente, el wp-config.php
El archivo contiene información de la base de datos, como el nombre de la base de datos, el usuario de la base de datos (con acceso completo a la base de datos) y la contraseña del usuario.
Para migrar WordPress de manera efectiva, debemos exportar toda la base de datos del servidor anterior y prepararla para transferirla al nuevo host.
Migrar WordPress manualmente a un nuevo host
A los efectos de esta demostración, supondré que la IP de nuestro antiguo servidor host es 192.168.29.5
y nuestra nueva IP del servidor host es 192.168.57.8
.
Primero, ingresemos a nuestro antiguo servidor:
ssh [email protected]
Si el puerto ssh de su servidor no es 22, use -p
opción seguida del número de puerto.
ssh -p port_number [email protected]
Exportar base de datos
El primer paso es exportar la base de datos. Si su sitio web recibe un gran volumen de tráfico, puede ponerlo en mantenimiento o desviar a los visitantes al servidor de respaldo. WordPress escribe constantemente datos en la base de datos y los sitios web más grandes pueden experimentar ralentizaciones mientras el proceso de exportación de la base de datos está en curso.
Una vez que esté listo, use el siguiente comando para volcar toda la base de datos localmente –
mkdir $HOME/site-backup
cd $HOME/site-backup
mysqldump -u root -p wordpress_database > wp_database.sql
Cambiar wordpress_database con el nombre de la base de datos de WordPress. Presiona enter e ingresa la contraseña de root de MySQL. Ahora siéntate y relájate. Según el tamaño de la base de datos, este proceso puede tardar algún tiempo. No presiones + C durante el proceso.
Una vez que se complete el proceso, tendrá wp_database.sql
archivo en el directorio de trabajo, es decir, copia de seguridad del sitio.
Copia de seguridad de wp-content, wp-config.php y .htaccess
Ahora es el momento de hacer una copia de seguridad de los archivos de usuario. Como se indicó anteriormente, asumo que su WordPress está usando temas estándar de WordPress en lugar de temas altamente personalizados o creados a medida. Si utiliza temas personalizados, incluya los directorios relevantes en el siguiente comando.
Ingrese al directorio raíz de WordPress y ejecute el siguiente comando –
$ tar -czf website-content.tar.gz /path-to-wordpress/wp-content/ path-to-wordpress/wp-config.php path-to-wordpress/.htaccess
Ahora siéntate y relájate. Vea lo fácil que es migrar un sitio web. ¡Puedes relajarte dos veces!
Después de que los archivos se hayan comprimido, mueva el archivo comprimido en el site-backup
mencionado anteriormente directorio.
mv website-content.tar.gz $HOME/site-backup/
Tenemos la base de datos comprimida del sitio, los datos de usuario de WordPress y las personalizaciones en nuestro $HOME/site-backup/
directorio. Ahora comprima todo el directorio de copia de seguridad del sitio para que pueda transferirse fácilmente al nuevo servidor.
tar -zcvf site-backup.tar.gz $HOME/site-backup/
Ahora tiene una copia de seguridad completa de su sitio de WordPress. Puede descargar esta copia de seguridad localmente y moverla al nuevo servidor, o puede usar rsync
para transferirlo directamente al nuevo servidor.
Descarguemos esta copia de seguridad directamente en el nuevo servidor.
SSH en el nuevo servidor –
ssh [email protected]192.168.57.8
Utilice rsync para descargar el archivo de copia de seguridad –
rsync [email protected]192.168.29.5:/home/site-backup.tar.gz .
El punto al final del comando anterior es el directorio de destino, es decir, el directorio de trabajo actual.
Ingrese la contraseña raíz y espere hasta que se complete la descarga.
Instalar WordPress en el nuevo host
Ahora que tenemos nuestros datos de respaldo en el nuevo servidor, podemos configurar un nuevo sitio de WordPress e importar todos nuestros datos en ese sitio.
Crear base de datos para nuevo sitio
Inicie sesión en la línea de comandos de mysql y use los siguientes comandos para crear una nueva base de datos, un nuevo usuario y otorgar al nuevo usuario todos los privilegios para la base de datos de WordPress.
sudo mysql
Crear nueva base de datos
create database wordpress;
Crear nuevo usuario de base de datos
create user 'username'@'localhost' identified by 'password';
Reemplace el nombre de usuario y la contraseña con sus valores preferidos. Otorgar acceso a la base de datos al nuevo usuario
grant all privileges on wordpress.* to 'username'@'localhost';
flush privileges;
Importar base de datos
Ahora que se ha creado nuestra base de datos, podemos exportar la base de datos descargada.
Descomprima o descomprima el archivo de copia de seguridad –
tar -xvf /home/site-backup.tar.gz
Exportará dos archivos más, wp_database.sql
y website-content.tar.gz
.
Importe la base de datos a wordpress con el siguiente comando –
mysql -u root -p wordpress < /home/site-backup/wp_database.sql
Ingrese la contraseña de root y relájese. De nuevo.
Instalar WordPress
Supongo que está utilizando el servidor web Apache. Entonces, la raíz web predeterminada para el servidor Apache es /var/www/html
. cd en el directorio raíz y elimine index.html.
$ cd /var/www/html
$ rm index.html
Descargar WordPress
wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
sudo tar -xvf /tmp/wordpress.tar.gz -C /tmp/
sudo mv /tmp/wordpress/* /var/www/html
Importar copia de seguridad de WordPress a un sitio nuevo
tar -xvf /home/site-backup/website-content.tar.gz
El comando anterior descomprimirá el wp-content
del sitio , wp-config.php
y .htaccess
. Podemos usar rsync para mover wp-content/
a la nueva instalación de WordPress.
$ rsync -avu /home/site-backup/wp-content/ /var/www/html/wp-content/
$ cp /home/site-backup/wp-config.php /home/site-backup/.htaccess /var/www/html/
Editar wp-config.php
Y uno de nuestros últimos pasos es conectar nuestro sitio con la base de datos recién creada. Recuerda que ya hemos importado la base de datos de nuestro sitio para que esté lista. No es necesario ejecutar la instalación de WordPress.
$ nano /var/www/html/wp-config.php
Ahora reemplace el nombre de la base de datos anterior, el nombre de usuario de la base de datos y la contraseña con la base de datos del servidor actual que creamos anteriormente, es decir, wordpress.
Reparar permisos de archivos de WordPress
Nunca olvide establecer los permisos de archivo correctos. Sin él, es posible que WordPress no funcione correctamente, y puede exponer sus datos si se configuran permisos incorrectos.
$ chown -R www-data:www-data /var/www/html/
$ find /var/www/html/ -type d -exec chmod 755 {} \;
$ find /var/www/html/ -type f -exec chmod 650 {} \;
Cambiar 'siteurl' y 'home' en la base de datos
Si está moviendo su sitio sin cambiar el nombre de dominio, puede omitir este paso. Si cambia el nombre de dominio, asegúrese de actualizar la base de datos con el nuevo nombre de dominio.
Necesitamos actualizar las columnas en la tabla wp_options. Si tiene phpMyAdmin, puede abrir phpMyAdmin> wordpress> wp_options> siteurl .
Cambiar columna 'siteurl ' valor a 'https://www.nuevodominio.com'. Además, cambie la columna 'inicio ' valor a 'https://www.nuevodominio.com'.
Actualizar url del sitio y casa usando la línea de comandos de mysql –
sudo mysql
use wordpress;
update wp_options set option_value='https://www.newdomain.com' where option_name='siteurl'
update wp_options set option_value='https://www.newdomain.com' where option_name='home'
Por último, apunte su nombre de dominio al nuevo servidor. Si su servidor web está configurado correctamente, debería ver su antiguo sitio web en el nuevo host.
Palabras finales
El procedimiento manual parece bastante complicado, pero confía en mí cuando te digo que una vez que te acostumbres, te ahorrará dinero en un complemento de copia de seguridad premium. Usando los pasos descritos anteriormente, incluso podemos crear un script y configurar un trabajo cron para hacer una copia de seguridad automática de nuestro sitio web. Todo esto sin el uso de un complemento.
Finalmente, si tuvo alguna dificultad o error al seguir esta publicación, infórmenos en la sección de comentarios a continuación. Alternativamente, puede unirse a nuestro servidor Discord para obtener respuestas más rápidas.
Lectura recomendadaSe corrigió el error de WordPress “Error al establecer la conexión de la base de datos”
Migrar el blog de WordPress a un nuevo alojamiento:formas fáciles
Alojar el sitio web en nuestro propio servidor
Reparar el error de WordPress No se especificó el archivo de entrada
Complementos de WordPress