# Upgrade from V21 to V32

**URL:** <https://help.nextcloud.com/t/upgrade-from-v21-to-v32/237313>\
**Category:** ℹ️ Support\
**Tags:** update\_problems\
**Created:** [December 13, 2025, 2:37pm UTC](https://help.nextcloud.com/t/upgrade-from-v21-to-v32/237313 "2025-12-13T14:37:14Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![fdr](https://help.nextcloud.com/letter_avatar/fdr/32/5_5575768a8748004e209b776fc1b2916d.png) [@fdr](https://help.nextcloud.com/u/fdr)\
**Post date:** [December 13, 2025, 2:37pm UTC](https://help.nextcloud.com/t/upgrade-from-v21-to-v32/237313/1 "2025-12-13T14:37:14Z")

</div>

> **Support intro**
>
> ## Sorry to hear you’re facing problems. 🙁
> 
> _The community help forum ([help.nextcloud.com](http://help.nextcloud.com)) is for home and non-enterprise users. Support is provided by other community members on a best effort / “as available” basis. All of those responding are **volunteering their time to help you.** _
> 
> **If you’re using Nextcloud in a business/critical setting, paid and SLA-based support services can be accessed via [portal.nextcloud.com](http://portal.nextcloud.com) where Nextcloud engineers can help ensure your business keeps running smoothly.**
> 
> ## Getting help
> 
> In order to help you as efficiently (and quickly!) as possible, please fill in as much of the below requested information as you can.
> 
> **Before clicking submit** : Please check if your query is already addressed via the following resources:
> 
> - [Official documentation](https://docs.nextcloud.com) (searchable and regularly updated)
> - [How to topics and FAQs](https://help.nextcloud.com/c/how-to-faqs/9)
> - [Forum search](https://help.nextcloud.com/search)
> 
> (Utilizing these existing resources is typically faster. It also helps reduce the load on our generous volunteers while elevating the signal to noise ratio of the forums otherwise arising from the same queries being posted repeatedly).

I need to migrate a V21 instance (files, user info, etc.) of nextcloud to the lastest version (V32, i guess). I cannot upgrade the V2 instance step by step (ie. V21→V22, then V22–\>V3, etc.).

The source instance is old (debian 9) and the target instance would be on a new machine (recent OS, recent PHP, recent MariagDb, etc.)

What could be the best process to achieve this migration ?

Thank you for your answsers,

F.

## The Basics

- Nextcloud Server version _(e.g., 29.x.x)_:

- Operating system and version _(e.g., Ubuntu 24.04)_:

- Web server and version _(e.g, Apache 2.4.25)_:

- Reverse proxy and version \_(e.g. nginx 1.27.2)

- PHP version _(e.g, 8.3)_:

-

---

<div class="post-metadata">

**Author:** ![ernolf](https://help.nextcloud.com/user_avatar/help.nextcloud.com/ernolf/32/77874_2.png) [@ernolf](https://help.nextcloud.com/u/ernolf)\
**Post date:** [December 13, 2025, 2:45pm UTC](https://help.nextcloud.com/t/upgrade-from-v21-to-v32/237313/2 "2025-12-13T14:45:25Z")

</div>

> [@fdr](#):
>
> I cannot upgrade the V2 instance step by step (ie. V21→V22, then V22–\>V3, etc.).

But you will have to go that way. There is no alternative, among other things, because the database migration steps must be processed successively.

Look [→ **here** ←](https://docs.nextcloud.com/server/latest/admin_manual/maintenance/upgrade.html) for explanation. Quote:

> Nextcloud must be upgraded step by step:
> 
> - Before you can upgrade to the next major release, you need to upgrade to the latest point release of your current major version.
> - Then run the upgrade again to upgrade to the next major release’s latest point release.
> - **You cannot skip major releases.** Please re-run the upgrade until you have reached the highest available (or applicable) release.
> - Example: 18.0.5 → 18.0.11 → 19.0.5 → 20.0.2
> 
> **Wait for background migrations to finish after major upgrades**. After upgrading to a new major version, some migrations are scheduled to run as a background job. If you plan to upgrade directly to another major version (e.g. 24 → 25 → 26) you need to make sure these migrations were executed before starting the next upgrade. To do so you should run the `cron.php` file 2-3 times, for example:
> 
> ```auto
> $ sudo -E -u www-data php -f /var/www/nextcloud/cron.php
> 
> ```

* * *

> [@fdr](#):
>
> The source instance is old (debian 9) and the target instance would be on a new machine (recent OS, recent PHP, recent MariagDb, etc.)

You will need an “intermediate” debian (at least 11, bullseye, since 9, stretch, is obsolete since three years and 5 months already!)  
In that intermediate debian, you can switch the php versions successively as supported by the different nextcloud versions.

> **[Releases and PHP versions](https://github.com/nextcloud/server/wiki/Releases-and-PHP-versions)**
>
> ☁️ Nextcloud server, a safe home for all your data - nextcloud/server

You can do the php version switches with the [→ **php-updater** ← script](https://help.nextcloud.com/t/php-updater-a-script-to-upgrade-php-in-a-safe-way/180215).

But you can start directly with debian 13 (trixie), the current stable and install php8.0 (a piece of cake with the php-updater script). Then you can simply do the complete migrations steps on the future actual system.

* * *

h.t.h.

* * *

ernolf

---

<div class="post-metadata">

**Author:** ![Mornsgrans](https://help.nextcloud.com/user_avatar/help.nextcloud.com/mornsgrans/32/40386_2.png) [@Mornsgrans](https://help.nextcloud.com/u/Mornsgrans)\
**Post date:** [December 13, 2025, 2:59pm UTC](https://help.nextcloud.com/t/upgrade-from-v21-to-v32/237313/3 "2025-12-13T14:59:49Z")

</div>

Please keep an eye on the needed PHP versions:

> **[Releases and PHP versions](https://github.com/nextcloud/server/wiki/Releases-and-PHP-versions)**
>
> ☁️ Nextcloud server, a safe home for all your data - nextcloud/server

Upgrade to PHP 8.0 first, then you can keep this PHP version up to Nextcloud V29.  
If Nextcloud V29 has been installed, you may upgrade to PHP 8.3.

After upgrading PHP you will need to remove the older PHP version and install additional needed PHP modules.

---

<div class="post-metadata">

**Author:** ![adelaar](https://help.nextcloud.com/letter_avatar/adelaar/32/5_5575768a8748004e209b776fc1b2916d.png) [@adelaar](https://help.nextcloud.com/u/adelaar)\
**Post date:** [December 13, 2025, 3:25pm UTC](https://help.nextcloud.com/t/upgrade-from-v21-to-v32/237313/4 "2025-12-13T15:25:35Z")

</div>

> [@fdr](#):
>
> Operating system and version _(e.g., Ubuntu 24.04)_:
> 
> - `Debian 9 Stretch`

You can’t anymore update Debian 9, since also Debian 10 is [EOL](https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule) and the packages for Updates gone. You will need a fresh new install with Debian 13.  
Since your System was running some years without updates it must be considered compromised by unwanted software, installed by bad guys from Russia or North Korea.

---

<div class="post-metadata">

**Author:** ![fdr](https://help.nextcloud.com/letter_avatar/fdr/32/5_5575768a8748004e209b776fc1b2916d.png) [@fdr](https://help.nextcloud.com/u/fdr)\
**Post date:** [December 13, 2025, 6:51pm UTC](https://help.nextcloud.com/t/upgrade-from-v21-to-v32/237313/5 "2025-12-13T18:51:09Z")

</div>

Thank you for your answers. Il will try to do it from a debian 13 with “old php”, step by step.

F.

---

<div class="post-metadata">

**Author:** ![system](https://help.nextcloud.com/user_avatar/help.nextcloud.com/system/32/29333_2.png) [@system](https://help.nextcloud.com/u/system)\
**Post date:** [March 13, 2026, 6:51pm UTC](https://help.nextcloud.com/t/upgrade-from-v21-to-v32/237313/6 "2026-03-13T18:51:37Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
