Migrating from ownCloud to Nextcloud

Apart from the fact that I donā€™t yet see a sustainable transition path from ownCloud to Nextcloud I also still couldnā€™t find a compelling reason to do so (within the context of my use case for ownCloud). Honestly, I fail to understand what Nextcloud is about.

Improving development, and making a product that works in a more transparent and open-source friendly manner, if I had to summarise (note: I donā€™t work for Nextcloud).

The codebases started the same, so yes, you wonā€™t see huge differences yet, but expect these to grow over time.

Most of the info on migrating here relates to oc9.0.2 to nc9.0.50. Is this the only path supported or could you go from oc9.0.4 to nc9.0.53 ( the current versions )? Can I keep my calendar and contacts folders from the oc installation or do I need to reinstall them after? If reinstall, do I get them from apps.owncloud.org or just enable them from within nextcloud?

Yes, the migration from oc9.0.4 to nc9.0.53 will be exactly the same. You should be able to install apps from the web-interface as you were used to it on ownCloud (currently, it will get the apps from apps.owncloud.com). Your calendar should be fully compatible. However, it is always recommended to make a full backup.

2 Likes

Hey everyone,

The support was a little vague on the Nextcloud site.

Here are some more specific directions:

:smile:

  1. First you want to make a copy/backup of your Owncloud folder.

sudo cp -r /var/www/owncloud /var/www/owncloud.old

  1. Then remove everything inside your owncloud folder.

sudo rm -rf /var/www/owncloud/*
sudo rm -rf /var/www/owncloud/.*

  1. The reason we made a backup of the Owncloud folder was to make sure we still
    have the config and data, so cp that in to the owncloud folder again

sudo cp -r /var/www/owncloud.old/config /var/www/owncloud/
sudo cp -r /var/www/owncloud.old/data /var/www/owncloud/
sudo cp /var/www/owncloud.old/.htaccess /var/www/owncloud/
sudo cp /var/www/owncloud.old/.user.ini /var/www/owncloud/

  1. Install Nextcloud

We are going to download nextcloud, make sure you get the latest release

cd /temp
wget https://download.nextcloud.com/server/releases/nextcloud-9.0.50.tar.bz2

  1. Extract the tar ball and move it to Apacheā€™s web root.

tar -vxjf nextcloud-9.0.50.tar.bz2
cd nextcloud
mv * /var/www/owncloud/

  1. Change the permissions while in the owncloud directory(it now has newcloud files inside of it):

wwwrun:www * -R or chown www-data

  1. The last thing we will need to do is the upgrade to Nextcloud.

cd /var/www/owncloud
sudo -u www-data php occ upgrade

And that should be it! open up your browser and enter your IP/FQDN to confirm it works!

I did copy most of this information from:
https://techknight.eu/2016/06/15/migrate-owncloud-nextcloud-linux/

and

They were good posts, but missing some commands. Hopefully this helps!

Cheers,

Mack

Can I as which commands are missing in the post from techknight ? (author here)
I have done it that way without any issue :wink:

1 Like

Yes, unless I am mistaken, you have to change the permissions for the nextcloud files after
they are copied to the owncloud folder. Anyways, your work was the best I found, it helped my migration immensly. Thank you so much.

:slight_smile:

Thanks for the reply and you are one hundred procent right :smiley:
the article have been edited by now

1 Like

I got error from migrating, says ā€œDirectory is unavailableā€¦ā€.
Is it because that Iā€™m migrating from ownCloud 9.1.x to Nextcloud 9.0.53?
Iā€™m running nextcloud on CentOS 7.

2 Likes

Ok, so I did try migrate from ownCloud 8.2.7 -> Nextcloud 9.0.53

I still got the same issue which is directory is not showing.

I get many errors similar to this: fopen(/var/www/html/nextcloud/data/admin/thumbnails/27/150-150.png): failed to open stream: No such file or directory at /var/www/html/nextcloud/lib/private/files/storage/local.php#261

Both files 150-150.png, and local.php exist in those directory.
How do I fix this?

Is this also possible with updating to Nextcloud 10 (from owncloud 9)? And is there this mentioned automatic process available?

The updater app is not ready yet. I would go OC 9.0->NC 9.0.53 ā†’ NC 10. OC 9.0->NC 10 could be possible, if not, it should show you an error that you cannot skip major versions.

Am I good to use this method to upgrade from OC 9.1.0-1.1 to NC 10?

1 Like

Can we also have some function to mirror an account on an owncloud system? I have a hosted owncloud and I donā€™t have access to the raw data, just the user credentials. It seems like a big job to get that data into nextcloud and I even have over 20 accounts.

No you canā€™t just mirror or migrate an account. On the new system, you can use the federated cloud sharing to include the owncloud folder into your nextcloud account. The files stay in the owncloud account, but you can then copy the files to your local Nextcloud folder (either via webinterface or via webdav).

Thank you for the detailed upgrade instructions. Unfortunately I managed to destroy my server by running the set-nextcloud-permissions.sh script.

I set the ocpath and ocdata variables matching my system, but somehow the ā€œfindā€ commands still changed the permissions of all files and directories in my system. When the script was done running I had an unusable system and I could not log back into the server. Sad. Iā€™m now restoring the backup from 4 days ago.

The script at this page?
https://docs.nextcloud.com/server/9/admin_manual/installation/installation_wizard.html

The script that was shared above by mvance, which is based on the one you linked. I donā€™t know how it happened, as the script looks ok. Unfortunately since I lost access to the server I canā€™t see the content of the script. But the symptoms were those: I did not have permission to ā€˜lsā€™, nor to stop or start apache, and when I tried logging out and in again, my access was refused. I log in as non-root with my public key.

Anyway, I just lost an hour and maybe a few e-mails, no much harm caused.

The script from @mvance works but it is dangerous. One typo at the variables ā€¦ and the system is broken.
The script at the doc.nextcloud.com is wrong regarding the missing ā€œ/ā€ behind the variable

find ${ncpath}/ -type f -print0 | xargs -0 chmod 0640