Owncloud disk crashed, data is safe, how to set up a new server

This depends what is on that disks that are not dead. If this includes all data directories and, most importantly, the Mysql/Postgresql database, you should have not lost anything except the time to setup a new instance and get stuff working again.

If this doesn't include the database, you are in a bad situation, as you have lost all management information and things like application data (e.g. addressbooks and calender entries). You are still not totally screwed, as at least the actual data files should be present if Owncloud indeed stored that on the still alive disks. There will be directories for every user and group containing the last state of every file, and you can use those to reimport everything into a new instance.


Please note: These steps are only partially tested.

If you had enabled file encryption, I have bad news for you: As the config.php contains a secret key, the files cannot be restored.

If not, I would suggest following steps:

  • Backup what you currently have.

  • Download and extract a fresh copy of OwnCloud

  • Recreate the config as good as you can:

    • Set the database type and path (as you have database file I would guess the database type is sqlite)
    • Set dbtableprefix to your prefix (default is oc_). In doubt, look into your database.
    • Set datadirectory to your data directory
    • Set installed to true.
  • Restore the data directory. It must have the same path as the old one, or OwnCloud won't find the files.

As you have lost the password salt, you have to set new passwords for all users.

Use the occ command to reset the passwords:

$ sudo -u www-data php /var/www/owncloud/occ user:resetpassword admin
Enter a new password:
Confirm the new password:
Successfully reset password for admin

After you login, you should have file access again. If you cannot download the files and get 404 errors, the data directory is probably not at the same location as it was previously.


In the future you should regularly create a database dump and copy it to a backup server together with the content of the data directly and the config.php file. And consider moving to Nextcloud because it is more secure, faster, fully open source and has more features. Migration from owncloud to nextcloud is fully supported and easy. Good look with your issue

Tags:

Linux

Owncloud