Bring your shop here from files
What this page is for. Move a 6amMart shop that already runs somewhere else onto SixPanel by uploading its files — no SSH access to the old server needed. Your orders, customers, settings and images all come with it.
You need
- A project created here, with its address saved (Domains and HTTPS).
- Three things from the old server. The panel tells you which of them you actually need — often the first one already contains the rest:
- the 6amMart code as a zip,
- the shop's database as a
.sqlor.sql.gzexport, - the shop's uploaded images as a zip.
- A quiet half hour.
Two other ways to move a shop. If you have SSH access to the old server, Move an existing site here does all of this without you downloading anything. If both servers run SixPanel, Move a project between servers is better still. This page is for the case where you only have files.
Start here
Open Deploys and press Put 6amMart on this project.
The first screen asks one question: is this a brand-new shop, or one that already runs somewhere? Pick A shop that already runs somewhere.
If you pick the wrong one, nothing is lost. The panel reads your files before it installs anything and tells you which one it actually is — and if that disagrees with what you picked, it says so and asks again rather than installing over your data.
Starting a brand-new shop instead? Pick the other card. The same screens follow — upload the code, and the panel reads it and tells you which 6amMart release it is — but instead of asking for a database and images it asks for the admin email and password you want, and generates a password for you if you would rather not think of one. Leave both empty and the panel hands you 6amMart's own browser installer to finish instead. Either way is written up in Install your 6ammart code.
1. Upload the code
Choose Upload the CodeCanyon zip and pick your zip.
That zip can be either of these, and the panel works out which:
- the 6amMart download from CodeCanyon — including the big outer zip with everything in it, which the panel opens to find the admin panel inside;
- a zip of the 6amMart folder from your old server — which is usually the better choice here, because it already contains your settings file and your images.
While the upload runs, the panel reads what has arrived and reports back:
This is 6amMart 4.1. It is a shop that has already been running.
That version is read out of the code itself, not out of a settings file — a fresh 6amMart download ships a settings file left over from the previous release, so the code is the reliable one.
2. Give the panel whatever the zip did not contain
The next screen lists only the pieces that are missing. Anything the zip already carried is marked already in your upload — not needed and you are not asked for it.
The settings file (.env)
This is the file that holds your licence, your payment keys and the key that keeps everyone signed in. It has no extension and its name starts with a dot, so some file managers hide it.
- cPanel: File Manager → Settings → tick Show hidden files, then open the 6amMart folder and download
.env. - aaPanel: Files → the site's folder →
.env→ Download. - SFTP (FileZilla, WinSCP): Server → Force showing hidden files, then download
.envfrom the 6amMart folder.
The panel asks for this only when the zip carried the example settings file that ships with 6amMart — the one that points at http://localhost and has no licence in it. That file cannot run a live shop.
The database (.sql or .sql.gz)
- phpMyAdmin: pick your database in the left column → Export → Go. The default settings are fine.
- cPanel: Backup → Download a MySQL Database Backup → click your database.
- A terminal on the old server:
mysqldump -u <user> -p <database> > shop.sql
Gzipped or not, both work. The panel checks the file itself rather than trusting its name, so a .sql that is really gzipped is handled correctly.
The uploaded images
On the old server, open the 6amMart folder, then storage, then app, then public. Select everything inside public and zip it.
The panel asks for this only when your upload did not already include them. It can tell your images from the demo pictures that ship with 6amMart, so a fresh download does not count as "images included".
If you skip this, the shop still works — its product images are just missing, and you can upload them later under Advanced → Files.
3. Press the button
Press Set it up. The panel then does this, one named step at a time, and you can watch each one:
- pauses the background workers,
- checks the release is one it supports,
- puts your code in place,
- installs your settings file, then points only the server-specific values at this server — your licence, mail and payment keys are untouched,
- installs the PHP dependencies,
- checks this project's database is empty, and refuses to go further if it is not,
- imports your database, and checks the tables actually arrived,
- puts your images in place,
- brings the database up to date with the code if the export was from an older release, saying how far behind it was,
- rebuilds the caches, adds the measured database indexes, and starts the shop.
At the end it prints the address your shop is now live on, and where to log in. Your old admin password still works — the panel never creates an admin account on this path, because your own is already in the database it just imported.
What is kept, and what is not
Kept
- Every order, customer, store, rider and setting — the whole database.
- Your
.env: licence,APP_KEY, mail settings, every payment gateway credential. - Your uploaded images, if you provided them.
Changed, on purpose
- The database, Redis and address values in
.envnow point at this server. They have to: the old server's database is not reachable from here. - The shop's web address becomes this project's address.
Not touched
- The old server. Nothing on it is read, changed or contacted — you did the downloading.
If something stops it
"refusing to import: database … already holds N tables" This project already has data in it. That is the guard working: an import replaces a whole database, so it will not run over something that is already there. Create a new project for this shop, or delete this one's data first (Projects → delete, leaving also delete the data ticked).
"this project already runs an installed shop" Same reason, one step earlier. Use a new project.
"this codebase is 6amMart 3.8, and SixPanel supports 4.0 and newer" Older releases are a different application underneath — a different Laravel, a different websocket package, a different set of database migrations. Update the shop on the old server with 6amtech's own update package first, then bring it here. Nothing on this server was changed.
"the import reported success but the database is still empty" The file you uploaded is not a 6amMart database export. Check you exported the right database, and that the export is not an empty file.
"there is not enough disk space to unpack this upload" The message names how much is needed and how much is free. Server → Resources has a prune button; the panel's own caches are usually what to clear first.
The shop is live but images are missing
The uploads were not included. Zip storage/app/public from the old server and upload them under Advanced → Files, into the same path.
Afterwards
- Backups — turn on daily backups now, before anything else happens to this shop.
- Domains and HTTPS — check the certificate, and set up the website address if this shop has a storefront.
- Live order updates — the websocket address, so orders announce themselves.
- Deploy and update your code — how to ship the next 6amMart release onto this shop.