Get the Best WordPress Backup
& Migration Plugin Today
Get Duplicator Now

Duplicator Documentation

Documentation, Reference Materials, and Tutorials for Duplicator

How to get started with the install process?

Install Options

Setup AInstall Modes
How to install/import a package to a new location?

After successfully creating the package files (installer.php & archive.zip/daf) you would like to redeploy them to a new location. The following options can be used tore-install/redeploy your archived site.

Import Install

This Duplicator Pro only feature is the easiest way to install a packaged Duplicator archive. Users can either Drag-n-Drop or Link an archive file for rapid installs.This feature will import both Duplicator Lite & Pro archive files. For step-by-step instructions seeFile & Link Imports section of the the Quick Start guide.

Overwrite Install

This process is very similar to the “Classic Install” except that it depends on an existing WordPress site content to be present vs and empty directory. This option can be used with both Duplicator Lite &Duplicator Pro. This process requires that you upload both the installer and archive files to the destination server with WordPress already installed. For full step-by-step instructions seeOverwrite Install section of the the Quick Start guide.

Classic Install

This feature differs from the Import Install since it does not require WordPress to be installed. This option can be used with both Duplicator Lite & Pro.The “Classic Install” process requires that both the installer and archive files are uploaded to the destination host in an empty directory. For step-by-step instructions see theClassic Install section of the the Quick Start guide.

Database Only Install

Running the installer in “Database Only Mode” is useful when you only have database changes or a large site where all the fileswere moved manually.The full details of the Database Only Install can be found in the quick start guide.


Setup BPackage File Placement
How to place the archive.zip & installer.php files for either “Classic” or “Overwrite” install modes.

Solution 1Self Discovery: You can easily find the domain to server path location by simply following these easy steps:

  1. Create a file called test.txt on your local computer with the text “Hello World” and save it.
  2. FTP the test.txt file to your server and observe the path you place it in.
  3. Open a web browser and browse to http://www.yoursite.com/test.txt you will get one of two results:
    • A message that says something like 404 file not found
    • The results of the text file with show “Hello World”, meaning you found the correct path.
  4. Keep moving the file around in the various directories on your server until you can locate the test.txt file
  5. Additional details for control panels that use the cPanel software can be found here.

Solution 2Contact Host: This is by far the fastest way to locate the proper path. The physical path on a web server will map to a domain name and inside of your hosts control panel will be variousways to manage this process. Since there are so many hosts that do mappings differently and use different software its best to contact your host and ask them where “http://www.yoursite.com”maps to the physical folder structure on the server such as /public_html/yoursite/. Simply send the question below to your host:

Dear YOUR_HOST,

I would like to install a WordPress site on my domain “http://YOUR_DOMAIN_NAME_HERE.com”, however I’m not 100% sure where this domain name maps to on the servers file structure.Could you please point me to the full path for where this domain name points to on the server?

Thanks

Once you have received the path from the host, place the installer and archive in the path they have provided. Next open up a web browser and browse out to the installerfile such as http://your_domain_name.com/installer.php

Migration Workflows

Workflow AConfiguration Files
How does Duplicator manage configuration files (wp-config.php, .htaccess, web.config)?

.htaccess.htaccess Workflow
The Apache .htaccess file is very robust and can provide a multitude of settings for the web server, PHP, WordPress and more. In order to properly install/migrate yoursite this file needs to be reset to a very basic state in order to prevent install issues.

When working across multiple hosts, PHP, MySQL, Apache and WordPress versions, the possible combinations of configuration settings is almost unlimited. With this many options Duplicatorhas chosen to keep the process simple and allow users to safely update their own configuration files vs trying to parse millions of different combinations. Below is a quick outline forhow .htaccess files are managed during the install process.

  1. Build Process: When an archive.zip/daf is created the .htaccess file is added in a hashed format .htaccess_[secure-hash]
    example: .htaccess_048063d-14160036.
  2. Installer Step 1: When archive file is extracted in Step 1 it will extract the file in this .htaccess_[secure-hash] format.
    • This is by design so that the .htaccess file from the old system is notexecuted by the server with parameters that do not correlate to the new environment.
    • Trying to run the .htaccess file from the original server can and does cause issues on the new server in many cases. So a .htaccess file is only made available till the install is completed in step 4.
    • The .htaccess_[original-hashed] will be temporarily available until step 4 is ran. This allows for the advanced options in step 1 to considered if needed.
  3. Installer Step 4: After step 3 is ran either the .htaccess_[original-hashed] will be used if you enabled the option in step 1 or a new basic one will be created.
    1. If the advanced option is chosen then the .htaccess_[original-hashed] file will be renamed to .htaccess at the end of Step 3 and start of Step 4
    2. If no option is chosen then the default mode of creating a new streamlined .htaccess file is performed and the .htaccess_[original-hashed] is removed.
  4. Existing .htaccess: If you have a .htaccess file in the directory with the archive.zip/daf file before step 1 is ran then that file will be backed up and look something like: .htaccess-200314160148-5e6cffec5ff52-duplicator.bak

wp-config.php.wp-config.php Workflow

  1. Build Process: When an archive.zip/daf is created the wp-config.php file is renamed and placed in a special directory in the archive\dup-installer\original_files_[secure-hash]\source_site_wpconfigexample: \dup-installer\original_files_048063d-14160036\source_site_wpconfig.
  2. Installer Step 1: When the installer extracts the archive.zip/daf file in Step 1 it will extract this directory with the renamed wp-config.php file.
  3. Installer Step 3: In step 3 on the options WP-Config file tab there are optional parameters to add to the wp-config.php file.
  4. Installer Step 4: This process will generate the wp-config.php based on the new environment settings and additional settings from step 3

Workflow BDatabase Data
How does Duplicator redeploy my database data?

WorkflowDatabase Workflow
Below is an overview of the database workflow that takes place when a database is created and then re-deployed to its new location. The below outline covers the installerwhen used in advanced mode which contains four steps vs the two steps found in basic mode.

  1. Build Process: When an archive.zip/daf is created it will build a complete copy of your database into one single file in a hashed format nameddup-database___[original-hashed].sqlexample: dup-database__4ae9c8c-14214644.sql. The .sql file can be built in two separate SQL modes “Mysqldump” and “PHP Code”.
    • Mysqldump: This format uses a program called mysqldump to generate your SQL File.
    • PHP Code: This format uses PHP code to generate SQL statements that contain your entire database.
  2. Installer Step 1: When the installer extracts the archive.zip/daf file in Step 1 it will lay-down the SQL file (dup-database___[original-hashed].sql) on disk.
  3. Installer Step 2: The process will execute the SQL data file and install an exact copy of how it was built into the specified database choose in the installer (step 1)
  4. Installer Step 3: This step is where the database data is updated to support its new environment. The update engine runs through every cell in the database looking forthe old URL of the source site (old site) replacing it with the destination site (new site).

EmailsWhen you migrate a site to a new domain, by default the emails associated with the source domain are not touched. For example if a.com migrates to b.com then a@a.com, b@a.com, etc.will remain on b.com. There is an option that lets you change this behavior, so the email domain is switched as well. To enable this option in advanced mode see step 3 of the installer.


Workflow COld Domain
How does Duplicator handle the old domain where I created the archive?

WorkflowWhen installing the archive to a new location, nothing should happen to the old domain where the archive was created. Duplicator is designed to be self-contained, meaningthat if you create a package on Site A then run the installer and package at a new location on Site B, it has no knowledge/dependencies/hooks on Site A.However there can be a few scenarios that play out that make users feel like the old domain was updated.

  1. If your on the same server and setting up the database for Site B you accidentally connected it to Site A database.
  2. A WordPress redirect plugin (if you have one installed) may have not properly gotten updated during the install and is pointing to the URL on Site A.
  3. A web server configuration file such as a .htaccess or .htconfig setting is causing conflicts on the server. This option is really rare but its always a good idea to double check the files.

This is an uncommon scenario but can happen if you’re moving sites on the same server and do not pay attention to the database or eventhe location where you’re installing the archive.zip file. Please be sure you know the exact name of the database and the exact location of were you place the archive and installerfiles

Forum Thread:
Below is a forum thread that lays out this issue with several different users, and should address most of these scenarios.

What is happening to the site on the old domain?

Was this article helpful?

Related Articles