---
title: "Two-Part Install - For large sites"
url: https://phatdev.net/en/docs/sl-migrations/two-part-install
lang: en
updated: 2026-10-20
alternate:
  vi: https://phatdev.net/docs/sl-migrations/two-part-install
markdown: https://phatdev.net/en/docs/sl-migrations/two-part-install.md
---

# Two-Part Install - For large sites

Part of the doc set: [SL Migrations](https://phatdev.net/en/docs/sl-migrations.md)

> Split extraction and database import into two separate phases to handle large sites.

## Two-Part Install

Use this for **large** sites (>5GB) or when the server has a short timeout (common on shared hosting). It splits the workflow into two phases: extract the archive yourself on the destination server, then run the installer in the browser in **Manual Archive Extraction** mode.

> Note: this method uses a **ZIP** archive (built with the ZipArchive or Shell Exec engine, see [Zip engines](https://phatdev.net/en/docs/sl-migrations/how-to-work-with-the-different-zip-engines)) and the server's own `unzip` command. The current SL Migrations build ships no command-line extraction tool for `.daf` files, so a DupArchive archive can only be extracted through `installer.php`.

## Phase 1: Extract manually

On the destination server (you need SSH access), place `installer.php` and the `.zip` archive in the web root, then extract right in that folder:

```
unzip archive.zip
```

All contents of the package must be in the same folder as `installer.php`.

Benefit: extracting from the command line is not bound by the web server's `max_execution_time` or `memory_limit`.

## Phase 2: Run the installer

After the files have been extracted, open:

```
https://example.com/installer.php
```

The installer finds the file `dup-manual-extract__[HASH]` (included in the package, inside the `slm-installer` folder), so it shows the notice "Manual extraction detected" and **skips the extraction step** by default. To extract again, switch to Advanced mode, under Options > Extraction Mode.

The rest is the same as Classic Install.

## When to use it

- Archive **>2GB** (PHP ZipArchive has limits in older builds)
- Shared hosting with a timeout under 60 seconds
- Destination server with low RAM (extracting through PHP on the web would run out of memory)
- You want to watch extraction progress in a terminal

## Common errors

- **Extraction stops midway**: not enough `disk_free_space`. Check the free disk space.
- **Permission denied when extracting**: see [Fixing permissions](https://phatdev.net/en/docs/sl-migrations/how-to-fix-file-permissions-issues).
- **The installer extracts everything again**: check that the file `dup-manual-extract__[HASH]` exists in the `slm-installer` folder, or choose "Manual Archive Extraction" under Advanced > Options.

## See also

- [The DAF file format](https://phatdev.net/en/docs/sl-migrations/how-to-work-with-daf-files-and-the-duparchive-extraction-tool)
- [Classic Install](https://phatdev.net/en/docs/sl-migrations/classic-install)
