How to Transfer Joomla to Another Server (Joomla 4, 5 & 6)
- Published
- Updated
- Reading time
- 6 min read

On this page 7 sections
Short answer: To transfer Joomla to another server, either (1) back up the site with Akeeba Backup and restore it on the new server with Akeeba Kickstart, which is the easiest and safest way, or (2) move it manually: copy all files, export and import the database, then update configuration.php with the new database details and paths. Test the site before you switch DNS. The steps below work for Joomla 4, 5 and 6.
Before you start: pre-move checklist
- Check that the new server meets your Joomla version's requirements (PHP version and extensions, MySQL/MariaDB version). Joomla 6 needs PHP 8.3 or later. See Joomla PHP settings.
- Note the old server's PHP version and key settings (memory_limit, upload_max_filesize, max_input_vars).
- Create an empty database and a database user on the new server.
- Lower your DNS TTL (for example to 300 seconds) 24 hours before the switch.
- Tell editors to pause content changes during the final copy.
Method 1: Akeeba Backup and Kickstart (recommended)
- On the old site, install Akeeba Backup and run Backup Now with a full-site profile. Our Joomla backup guide covers the settings.
- Download the
.jpaarchive and kickstart.php (from Akeeba's site). - Upload both files to the empty web root on the new server.
- Open
https://your-new-server/kickstart.phpand extract the archive. - The restoration wizard (ANGIE) starts. Enter the new database host, name, user and password, and check the site paths.
- Finish the wizard, then delete the installation folder and kickstart.php when prompted.
- Log in to the administrator area and test (see the checklist below).
Method 2: Manual transfer (files + database)
Step 1: Copy the files
Download the whole Joomla folder (including hidden files such as .htaccess) by SFTP, or compress it on the old server and download one archive. Upload it to the new web root and extract it there.
# On the old server (SSH)
tar -czf site.tar.gz -C /path/to/joomla .
# On the new server
tar -xzf site.tar.gz -C /path/to/new/webroot
Step 2: Export and import the database
Use phpMyAdmin (Export → SQL, then Import on the new server) or the command line for larger sites:
mysqldump -u olduser -p olddb > joomla.sql
mysql -u newuser -p newdb < joomla.sql
Step 3: Update configuration.php
Edit configuration.php in the Joomla root and change these values to match the new server:
public $host = 'localhost';
public $user = 'newuser';
public $password = 'newpassword';
public $db = 'newdb';
public $dbprefix = 'abc_'; // only if the prefix changed
public $log_path = '/path/to/new/webroot/administrator/logs';
public $tmp_path = '/path/to/new/webroot/tmp';
public $live_site = ''; // normally empty
Step 4: Fix permissions and .htaccess
Typical permissions are 755 for folders and 644 for files (configuration.php can be 444 once it works). If you use SEF URL rewriting, make sure the new server allows .htaccess overrides (Apache/LiteSpeed) or has the equivalent nginx rules. See our Joomla .htaccess guide.
Switch DNS and go live
- Test the new server before DNS changes by adding the domain to your computer's hosts file.
- Install the SSL certificate on the new server (or let your host issue one after DNS points there).
- Run a final backup/restore or database sync if content changed.
- Update the DNS A/AAAA records to the new server IP.
- Keep the old server running for a few days in case of rollback.
Post-move checklist
| Check | How |
|---|---|
| Front end and admin load over HTTPS | Visit as a guest and log in to /administrator |
| System Information shows the right paths and PHP version | System → System Information |
| Folder permissions are writable where needed | System Information → Folder Permissions |
| Emails send | System → Global Configuration → Server → Send Test Mail |
| Caches cleared | System → Clear Cache (plus any server/CDN cache) |
| SEF URLs, redirects and robots.txt work | Open a few deep links; check Search Console |
| Scheduled tasks/cron jobs recreated | Recreate backups and any CLI/cron jobs on the new host |
Common problems after a Joomla server move
| Problem | Fix |
|---|---|
| "Error displaying the error page" / database connection error | Check the $host, $user, $password, $db and $dbprefix values |
| Blank page or HTTP 500 | Check the PHP version and extensions, then the server error log; temporarily set Error Reporting to Maximum |
| "Unable to write to log/tmp" | Fix $log_path and $tmp_path, and the folder permissions |
| 404 on every page except home | Enable .htaccess (or nginx rules) for URL rewriting, or switch URL Rewriting off temporarily |
| Mixed-content warnings | Search and replace the old http:// URLs in content; set Force HTTPS in Global Configuration |
Prefer to have it done for you? Our Joomla support team can handle the move, including staging, the DNS switch and post-move checks.
Frequently asked questions
Filed under Joomla


