How to migrate a website from a VPS to a Dedicated Server or a Public Cloud instance

Ver como Markdown

Find out how to migrate your website from a VPS to a Dedicated Server or a Public Cloud instance

Objective

As your website grows, the resources of a VPS can quickly become insufficient to meet your growing needs in terms of performance, traffic management, or processing complex tasks. By migrating to a dedicated server or Public Cloud instance, you benefit from a more powerful and customizable infrastructure, adapted to more demanding workloads. This guide focuses on the essential steps for carrying out this migration efficiently, while ensuring service continuity.

Find out how to migrate your website from a VPS to a dedicated server or a Public Cloud instance.

Requirements

  • Administrative access to the source VPS (via SSH).
  • A dedicated server or Public Cloud instance in your OVHcloud account.
  • Administrator access to the destination server (via SSH).
  • Knowledge of server management basics (Apache/Nginx, databases, etc.).

Instructions

Información sobre la administración de los servicios de OVHcloud y cómo encontrar la asistencia adecuada

Al utilizar las guías de OVHcloud, tenga en cuenta las siguientes condiciones:

  • Las instrucciones pretenden ofrecer el mayor detalle posible, pero no pueden cubrir todos los casos de uso individuales. Es posible que deba adaptar las acciones descritas a sus necesidades.
  • El ecosistema de OVHcloud está diseñado para ofrecer flexibilidad y libertad de elección. Por lo tanto, los clientes son responsables de la configuración correcta y segura de sus servicios. Para evitar la pérdida de datos, recomendamos encarecidamente aplicar estrategias de copia de seguridad a todos sus datos importantes.
  • Nuestras guías y tutoriales pueden hacer referencia a software o servicios de terceros en combinación con las soluciones de OVHcloud. El soporte técnico de OVHcloud no incluye la configuración de sistemas o productos fuera de nuestra responsabilidad. Esto incluye, entre otros:
    • Sistemas operativos e interfaces de usuario (Windows, Debian, Plesk, etc.).
    • Cualquier otro software de terceros (clientes FTP, software de correo electrónico, etc.).
    • Servicios ofrecidos por otros proveedores (DNS, API, interfaces de usuario, etc.).

Para recibir la asistencia adecuada ante cualquier problema, siga estas recomendaciones:

  • ¿Busca asesoramiento personalizado o desea tratar un tema que no se aborda en detalle en nuestra documentación?
    Únase a la comunidad de OVHcloud para buscar su tema y contactar con otros usuarios.
  • ¿Necesita informar de un incidente relacionado con su servicio de OVHcloud o tiene dificultades en el área de cliente de OVHcloud?
    Cree una solicitud de soporte en nuestro centro de ayuda.
  • ¿Necesita asistencia profesional para su proyecto o ayuda con tareas fuera de nuestro ámbito de soporte?
    Visite nuestro portal de partners para encontrar expertos familiarizados con las soluciones de OVHcloud.
  • ¿Busca información más detallada sobre nuestros niveles de soporte y Professional Services?
    Visite nuestras páginas web sobre los niveles de soporte de OVHcloud y los OVHcloud Professional Services.

Puede participar en la mejora de nuestra documentación:

  • ¿Desea enviar comentarios para mejorar una guía o informar de información insuficiente en una página concreta?
    Utilice los botones «¿Le ha resultado útil esta página?» al final de la página para hacérnoslo saber.
  • ¿Desea proponer una actualización concreta de la documentación?
    Utilice la función «Editar esta página», disponible al final de la página y en la barra lateral.

Content overview

Step 1 - Back up your website files and database

The first step is to back up all of your website’s files.

Step 1.1 - Back up files

Log in to your VPS via SSH, and save your website files:

ssh <user>@<vps_ip>
cd /var/www/html
tar -czf site_backup.tar.gz *

Replace:

  • <user>: by the user you use to connect to the VPS.
  • <vps_ip>: by the IP address of your VPS.

Step 1.2 - Back up the database

If your website uses a database, save it using the command lines provided by your DataBase Management System (DBMS).

MySQL and MariaDB
PostgreSQL
MongoDB
Open-source Redis®
mysqldump -u `<db_user>` -p `<db_name>` > database_backup.sql

Replace:

  • <db_user>: by the database user name.
  • <db_name>: by the database name.

If you are using another DBMS, refer to its official documentation to find the commands for backing up the database.

Step 2 - Prepare the destination Dedicated Server or Public Cloud Instance

Before you migrate your website’s files and databases, prepare your destination server.

Step 2.1 - Create and configure the Public Cloud instance

If you are unfamiliar with Public Cloud, please refer to our guide on "Getting started with Public Cloud".

To create and configure a Public Cloud instance, follow the steps in our guide on "Creating and connecting to a Public Cloud instance".

Step 2.2 - Install and configure the dedicated server

To prepare your dedicated server, please read our guide on "Getting started with a dedicated server".

This guide will help you in:

  • Installation of an operating system.
  • Your server configuration to allow access via SSH.
  • The initial connection to prepare the deployment of your website files.

Step 3 - Transfer the files and database to the destination server

After preparing your dedicated server or Public Cloud instance, transfer the backed-up files and database from your VPS.

Step 3.1 - Transfer files

Use the rsync tool to transfer archived files to the destination server. This method is fast, secure, and allows file permissions to be retained.

1. Log in from your VPS and launch the transfer via SSH:

rsync -avz /var/www/html/site_backup.tar.gz <user>@<destination_ip>:/var/www/html/

Replace:

  • <user>: by the destination server's user.
  • <destination_ip>: by the IP address of the dedicated server or Public Cloud instance.

For more details on using rsync, please refer to our guide "How to copy data from one server to another using rsync".

2. Once the files are transferred, connect to the destination server and extract the archive:

ssh `<user>`@`<destination_ip>`
cd /var/www/html
tar -xzf site_backup.tar.gz

Step 3.2 - Import the database

Warning

If your database is already hosted on a Web Cloud Databases service, you do not need to migrate it to the destination server. Keep the database on the Web Cloud Databases service, and configure your server to connect to this database (step 4.2).

1. Create a new database

Connect via SSH to a dedicated server or a Public Cloud instance. Create a new database based on your DBMS:

MySQL and MariaDB
PostgreSQL
MongoDB
Open-source Redis®

To create a new database, please refer to MySQL official documentation

2. Import the database

Use the command line below to import the database you backed up in step 1.2.

In the example below, we use MySQL. Use the official DBMS documentation that you installed in the previous step to use the appropriate command line to import the database to your server.

mysql -u user_name -p db_name < root/to/database_backup.sql

Replace:

  • user_name: by your MySQL username.
  • db_name: by the database name.
  • root/to/database_backup.sql: by the path of the backed-up SQL file.

Step 4 - Configure the website on the destination server

After transferring the files and importing the database, configure your destination server to support your website.

Step 4.1 - Configure the web server

To associate your website with its domain or subdomain, configure a virtual host:

1. Apache

Step 1
Step 2
Step 3
Step 4

Create a configuration file for your website (replace your_website with a name that is meaningful for your project):

sudo nano /etc/apache2/sites-available/your_website.conf

2. Nginx

Step 1
Step 2
Step 3
Step 4

Create a configuration file for your website (replace your_website with a name that is meaningful for your project):

sudo nano /etc/nginx/sites-available/your_website

Step 4.2 - Configure your website’s configuration files

Once you have configured your web server, it is important to update your website’s configuration files to ensure that it will work properly. The main variables to adjust are often the database connection information, as well as folder paths. Here are the specific configurations to update for the main CMSs.

WordPress
PrestaShop
Joomla!
Drupal
Without CMS

Modify the following variables in the wp-config.php file:

  • DB_NAME: The database name.
  • DB_USER: The database user.
  • DB_PASSWORD : the user password.
  • DB_HOST : the database host (usually localhost).

For more details, see the WordPress official documentation.

To avoid security issues, refer to the official documentation on file permissions for WordPress

If you use a Web Cloud Databases database, make sure that your server is authorized to connect to it. To do this, add the server's IP address to the list of authorized IP addresses. This configuration secures access to the database and prevents connection problems. Please refer to the "Authorize an IP address" section of our guide "Getting started with the Web Cloud Databases service".

Step 5 - Update DNS records

Info

Before you modify your DNS zone records to point to the IP address of the destination server, we recommend reducing the Time To Live (TTL). This speeds up the propagation of changes, because DNS servers will update information more quickly. Follow the "Time to propagate" step in our guide on "Editing an OVHcloud DNS zone" to adjust the TTL to point the domain name to the destination server.

To point your website’s domain name to your dedicated server or Public Cloud instance, configure the domain name’s DNS records to direct traffic to your server’s public IP address. To guide you through this process, follow our guide on "Editing an OVHcloud DNS zone".

Step 6 - Check that your website is working properly

Once the migration is complete, test your website to make sure it works as expected. Check all essential features (forms, user connections, online payment, etc.) and ensure that all pages display correctly.

Step 7 - Secure your dedicated server or Public Cloud instance

Once you have migrated your website to a dedicated server or Public Cloud instance, it is vital to secure your server, to protect your data and ensure that your services work properly.

For a full list of security best practices, please refer to our guides "Securing a dedicated server" and "Best practices for securing and structuring OVHcloud Public Cloud projects".

Go further

For specialized services (SEO, development, etc.), contact the OVHcloud partners.

Join our community of users.

¿Le ha resultado útil esta página?