How to move a website to a new server over SSH
The usual way to move a website to a new server is to download everything, upload it again, and hope you remembered the database. Dashmox does it the other way round: you give it a login for the server you are leaving, and this server fetches the website itself.
Before you start
What you need in front of you.
- The old server’s name or address, and its SSH port if it is not 22.
- An account on it that can read the website’s files and its database, with either a password or a private key.
- Where the files are on that server, such as the document root of the site.
- The domain the website will answer for here.
Find the document root on the old server if you are not sure. On most panels it is one of these:
/home/olduser/public_html /var/www/example.com/htdocs /usr/share/nginx/html
The form
What each field takes, and what it refuses.
| Field | What it takes | Limits and refusals |
|---|---|---|
| The old server | Its name or address. | Required, and at most 253 characters. A private or loopback address is refused unless you tick the setting below: without that, a mistyped name could point this at something inside your own network. |
| Port | Its SSH port. | 1 to 65535. Left empty it is 22. |
| Username | The account on that machine. | With either a password or a private key, not both. |
| Password or private key | How it signs in. | Held in memory for the length of the job and written down nowhere. It is not stored, so a repeat migration asks again. |
| Host key | The fingerprint that machine should present, in the SHA256 form ssh prints. |
Required. Without it the request is refused and told what was actually seen, so you confirm the machine rather than the panel accepting whatever answered. |
| Document root | Where the website’s files are on that machine. | The folder itself, not its parent. |
| Domain | What the website will answer for here. | Required. |
| Allow a private address | Permits a server on a private address. | A real case when the two machines are in one rack, and an unusual one otherwise. |
Nothing on the old server is changed. The website keeps serving from it while the copy runs, and you point the domain here afterwards.
Step one
Give it the old server.
Under Migrations, choose to migrate from another server. Dashmox asks for The old server, its name or address with the SSH port beside it, and there is a setting for when that machine is on a private address rather than a public one.
Before the password is sent anywhere, Dashmox shows you the old server's SSH host key so you can check it is the machine you think it is. The login itself is held in memory for as long as the migration runs and is written down nowhere.
Step two
Say what to bring, and where it lands.
Sign in as takes the account that can read the website's files and its database. Where the website's files are there takes the path on the old server. The domain it will answer for here is the name this copy will serve, and Whose website this becomes is the customer it is created for, with their package's limits.
Step three
Look at what it found before anything is created.
This is the step worth not rushing. Dashmox reads the old server first and shows you what it found, the files, databases and domains, before it creates a single thing here. If the document root was wrong, or a database is missing, you find out now rather than after a half-made website exists.
The job also survives the page being closed. You can shut the tab and come back to it.
What comes across
And what does not, which matters more.
Comes across
Files and databases. WordPress and Joomla are pointed at their new database for you. Domains that shared the website's files arrive as additional names on it.
Does not
Email. Dashmox lists every address it found so you can create those mailboxes here, because the old passwords cannot be carried across and a mailbox nobody can open is worse than none.
One case is deliberately left alone. A domain on the old account that was served from its own files is a separate website, not another name for this one, so it is not folded in. It is named in the migration log instead, with what to do about it. Serving somebody's shop out of their blog would be a worse outcome than asking you to run a second migration.
Upload an archive instead. A full account backup in the most widely used hosting panel's format is read as it is, with its databases and domains, and so is a plain tar of a document root. Everything above about being shown what was found still applies.
Once the copy looks right, point the domain here. DNS zones and nameservers covers that, and migrating your websites is the shorter overview.
Your servers, with nothing on them counted.
The whole panel is free on one server, with no limit on websites, mailboxes, DNS zones or customer accounts. Pro carries five servers and Business as many as you run.