From Cloudways to Vultr - WordPress Migration Complete Tutorial
|

From Cloudways to Vultr | WordPress Migration Complete Tutorial

Cloudways is a high-performance cloud server, so it’s worth sticking with if your budget allows.

Vultr offers more flexibility and is slightly cheaper than Cloudways, but many features require manual setup.

Before you start moving your website, it’s a smart move to turn off all your plugins to steer clear of any hiccups.

deactivate all plugins

Cloudways: download local backups

Head over to Cloudways, locate the Backup feature, enable Local Backups, then hit Back Up Now and wait for the process to finish.

Cloudways downloads local backups

Download the FileZilla tool and select the client to download.

The FTP information is at the bottom of the access details, if you don’t have one, create your own.

FTP information

Open filezilla, click on File, Site Manager, Add Site Manager, select SFTP for protocol, enter host IP, port 22, user and password are in the SFTP Details above, enter and click to connect.

connect filezilla

Successfully connect, find the local_backups, and download it to your local computer.

download local backups

4 ways to upload website backups to the server

1. FTP upload

If the website is quite large, the process will take a significant amount of time, so it’s not recommended.

Unzip the website package.

The private folder can be deleted if there are no files.

private folder

The important part is public_html

click on it to see if it is as complete as the following.

wp complete files

Log in to the vultr root directory in the same way. Then pull the public_html and database files directly into the root directory and wait for the upload to complete.

2. SCP upload

It’s quicker than using FTP, but it still takes some time.

Open a command prompt and enter the following command. The path, IP, and file name should be changed to your own.

scp D:/cw/filename.sql root@server-ip:/root/
SCP upload

3.SSH-Rsync

The process is lightning-fast, and you can fully sync to the target server in just a few seconds or minutes. You’ll need to reach out to Cloudways customer support to have rsync installed first.

The SSH button is turned on first.

turn on SSH

If not, add an SFTP USER.

add one if there is not.jpg

When you log in to SSH, ignore the warning . The account password is the SFTP user you just created.

login ssh

Once entered, you will log in as normal.

snapshot of ssh

Check whether the following Rsync is installed successfully. If success, it displays the version number.

rsync --version

Compress website backup files.

tar -czvf backup.tar.gz *

Start compressing like the picture below.

Start compressing in ssh

Compression is complete.

compression is completed

The target server should also use Rsync.

You should be able to use the PUTTY . Open it.,Enter the following command.。

sudo apt update
sudo apt install rsync

Create the directory and grants permissions in the Vultr server.

mkdir -p /var/www/html/

chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html

After the cloudways compression is completed, use the following transfer commands: path, ip, destination path, user name should be changed to your own.

rsync -avz -e "ssh" /path/to/backup.tar.gz user@TargetServer-IP:/path/

For example:
rsync -avzP -e "ssh -p 22" [email protected]:/home/1365960.cloudwaysapps.com/cvmeqkdgxu/public_html/backup.tar.gz /var/www/html/

If you don’t know the Cloudways file path, query with the following command

ls -l

Go to PUTTY and check whether the size of the compressed package is the same as that of the backup.

ls -lh /var/www/html/backup.tar.gz

After confirming the same, unzip the zip package.

sudo tar -xzvf /var/www/html/backup.tar.gz -C /var/www/html

Check if you have extracted to the destination folder, if it is correct, you will see the wp-config.php, wp-content folder, etc.

ls -la /var/www/html

Authorize the folder again.

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

Apache: proceeds with the following command. Edit the profile.

sudo nano /etc/apache2/sites-available/000-default.conf

Clear all the contents of the configuration file, copy and paste the following file into it, and remember to change the bold to your own information.

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html
    ServerName your-domain
    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Save & Exit:

Ctrl+X, enter y, press enter.

Check and edit the wp-config.php file (normally do not need to modify, check the following, if it is inconsistent with the database information above Cloudways, it should be changed to the same)

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

Modify the following files.

define('DB_NAME', 'your_database_name');     //database name   
define('DB_USER', 'your_database_user');     // database user
define('DB_PASSWORD', 'your_database_password'); // database password
define('DB_HOST', 'localhost');             

Resolve domain names

Modify the IP address

www+ip address
@+ip address

both of which are A records.

Enter the database

mysql -u wpuser -p

To import the database, change the path to your own file.

SOURCE /var/www/html/cvmeqkdgxu-20250118-0332.sql;

Database permissions.

Enter

mysql

in Putty, press enter to enter the database.

Press Exit and enter to exit.

GRANT ALL PRIVILEGES ON *.* TO 'database name'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Exit the database and check the file.

sudo nano /etc/my.cnf
sudo nano /etc/mysql/my.cnf
sudo nano ~/.my.cnf

If empty. Copy all of the following, save Ctrl+X, Y Enter to exit.

[mysqld]

bind-address = 0.0.0.0
port = 3306


datadir = /var/lib/mysql


log-error = /var/log/mysql/error.log
pid-file = /var/run/mysqld/mysqld.pid


symbolic-links = 0
max_connections = 150
sql_mode = STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

[mysqld_safe]
log-error = /var/log/mysql/mysqld_safe.log
socket = /var/run/mysqld/mysqld.sock

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/

Let go of the firewall port

sudo ufw allow 80
sudo ufw allow 443
sudo ufw reload

At this time, you can visit the website to see, generally domain/wp-admin, http without s.

Install SSL and force HTTPS.

sudo apt update
sudo apt upgrade -y
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com -d www.your-domain

SSL auto-renewal

sudo certbot renew --dry-run

4. Website Migration Plugin

The easiest, it is recommended that students who are not familiar with it move in the form of plug-ins.

All in one WP migration

Updraftplus

Leave a Reply

Your email address will not be published. Required fields are marked *