Fresh installation with data carried over from prior installation fails

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can. :heart:

Summary

I had a working installation under Debian 12 (bookworm). I saved the installation and data, and installed new Debian 13 (trixie). I set up Apache and PHP following the old installation as much as possible. I copied in the data and config.php file from the old installation.

The new installation does not work, except that I can run some occ commands (see below). I can also run the cron task. So I conjecture the problem is something missing such as a php module.

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • nextcloud-32.0.0.tar.bz2, 'version' => '32.0.0.13'
  • Operating system and version (e.g., Ubuntu 24.04):
    • Debian 13 (trixie)
  • Web server and version (e.g, Apache 2.4.25):
    • apache2 2.4.65-2
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • n/a
  • PHP version (e.g, 8.3):
    • 8.4
  • Is this the first time you’ve seen this error? (Yes / No):
    • Probably. Since I have no idea what the error actually is, I cannot say.
  • When did this problem seem to first start?
    • I had a working installation under Debian 12 (bookworm). I upgraded to trixie, and have had this and other problems since.
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • tarball
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • no.

Summary of the issue you are facing:

I get the following error message in the browser:

Internal Server Error

The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.

I conjecture that some PHP module or other is missing. Which one? I have done:

apt -y install certbot python3-certbot-apache php-curl php-gd php-xml php-imagick php-redis redis-server php-zip php-mbstring

What am I missing?

Steps to replicate it (hint: details matter!):

  1. Go to any URL in the nextcloud tree.

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

{"reqId":"KfBe37rVIwJcvFJyhov6","level":3,"time":"2025-10-15T09:28:29-06:00","remoteAddr":"192.168.10.1","user":"charles","app":"core","method":"GET","url":"/index.php/apps/dashboard/","message":"Exception thrown: OCP\\Files\\GenericFileException","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36","version":"32.0.0.13","exception":{"Exception":"OCP\\Files\\GenericFileException","Message":"","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/Files/SimpleFS/SimpleFile.php","line":60,"function":"getContent","class":"OC\\Files\\Node\\File","type":"->"},{"file":"/var/www/nextcloud/lib/private/Template/JSCombiner.php","line":98,"function":"getContent","class":"OC\\Files\\SimpleFS\\SimpleFile","type":"->"},{"file":"/var/www/nextcloud/lib/private/Template/JSCombiner.php","line":73,"function":"isCached","class":"OC\\Template\\JSCombiner","type":"->"},{"file":"/var/www/nextcloud/lib/private/Template/JSResourceLocator.php","line":112,"function":"process","class":"OC\\Template\\JSCombiner","type":"->"},{"file":"/var/www/nextcloud/lib/private/Template/JSResourceLocator.php","line":71,"function":"cacheAndAppendCombineJsonIfExist","class":"OC\\Template\\JSResourceLocator","type":"->"},{"file":"/var/www/nextcloud/lib/private/Template/ResourceLocator.php","line":51,"function":"doFind","class":"OC\\Template\\JSResourceLocator","type":"->"},{"file":"/var/www/nextcloud/lib/private/TemplateLayout.php","line":392,"function":"find","class":"OC\\Template\\ResourceLocator","type":"->"},{"file":"/var/www/nextcloud/lib/private/TemplateLayout.php","line":215,"function":"findJavascriptFiles","class":"OC\\TemplateLayout","type":"::"},{"file":"/var/www/nextcloud/lib/private/Template/Template.php","line":115,"function":"getPageTemplate","class":"OC\\TemplateLayout","type":"->"},{"file":"/var/www/nextcloud/lib/public/AppFramework/Http/TemplateResponse.php","line":195,"function":"fetchPage","class":"OC\\Template\\Template","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":163,"function":"render","class":"OCP\\AppFramework\\Http\\TemplateResponse","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":153,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":321,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/nextcloud/lib/base.php","line":1061,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/nextcloud/index.php","line":25,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/nextcloud/lib/private/Files/Node/File.php","Line":35,"message":"","exception":{},"CustomMessage":"Exception thrown: OCP\\Files\\GenericFileException"}}
{"reqId":"KfBe37rVIwJcvFJyhov6","level":3,"time":"2025-10-15T09:28:29-06:00","remoteAddr":"192.168.10.1","user":"charles","app":"core","method":"GET","url":"/index.php/apps/dashboard/","message":"Exception thrown: OCP\\Files\\GenericFileException","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36","version":"32.0.0.13","exception":{"Exception":"OCP\\Files\\GenericFileException","Message":"","Code":0,"Trace":[{"file":"/var/www/nextcloud/lib/private/Files/SimpleFS/SimpleFile.php","line":60,"function":"getContent","class":"OC\\Files\\Node\\File","type":"->"},{"file":"/var/www/nextcloud/lib/private/Template/JSCombiner.php","line":98,"function":"getContent","class":"OC\\Files\\SimpleFS\\SimpleFile","type":"->"},{"file":"/var/www/nextcloud/lib/private/Template/JSCombiner.php","line":73,"function":"isCached","class":"OC\\Template\\JSCombiner","type":"->"},{"file":"/var/www/nextcloud/lib/private/Template/JSResourceLocator.php","line":112,"function":"process","class":"OC\\Template\\JSCombiner","type":"->"},{"file":"/var/www/nextcloud/lib/private/Template/JSResourceLocator.php","line":71,"function":"cacheAndAppendCombineJsonIfExist","class":"OC\\Template\\JSResourceLocator","type":"->"},{"file":"/var/www/nextcloud/lib/private/Template/ResourceLocator.php","line":51,"function":"doFind","class":"OC\\Template\\JSResourceLocator","type":"->"},{"file":"/var/www/nextcloud/lib/private/TemplateLayout.php","line":392,"function":"find","class":"OC\\Template\\ResourceLocator","type":"->"},{"file":"/var/www/nextcloud/lib/private/TemplateLayout.php","line":215,"function":"findJavascriptFiles","class":"OC\\TemplateLayout","type":"::"},{"file":"/var/www/nextcloud/lib/private/Template/Template.php","line":115,"function":"getPageTemplate","class":"OC\\TemplateLayout","type":"->"},{"file":"/var/www/nextcloud/lib/private/Template/Base.php","line":103,"function":"fetchPage","class":"OC\\Template\\Template","type":"->"},{"file":"/var/www/nextcloud/lib/private/Template/TemplateManager.php","line":129,"function":"printPage","class":"OC\\Template\\Base","type":"->"},{"file":"/var/www/nextcloud/index.php","line":90,"function":"printExceptionErrorPage","class":"OC\\Template\\TemplateManager","type":"->"}],"File":"/var/www/nextcloud/lib/private/Files/Node/File.php","Line":35,"message":"","exception":{},"CustomMessage":"Exception thrown: OCP\\Files\\GenericFileException"}}

Web Browser

If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.

dashboard/:1  Failed to load resource: the server responded with a status of 500 (Internal Server Error)

Web server / Reverse Proxy

The output of your Apache/nginx/system log in /var/log/____:

PASTE HERE

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

root@hawk:/var/www# su - www-data -c 'cd nextcloud && /usr/bin/php occ config:list system'
directory '/var/www/bin' does not exist
directory '/var/www/.local/bin' does not exist

Today is Pungenday, the 69th of Bureaucracy, 3191. Lies and slander, sire! 
{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "nextcloud",
            "nextcloud.localdomain",
            "localhost",
            "hawk",
            "hawk.localdomain",
            "nextcloud.curleynet.mywire.org:17800"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "sqlite3",
        "version": "32.0.0.13",
        "overwrite.cli.url": "http:\/\/localhost",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "maintenance": false,
        "default_phone_region": "US",
        "theme": "",
        "loglevel": 2,
        "logtimezone": "America\/Denver",
        "logfile": "\/var\/log\/nextcloud\/nextcloud.log",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_smtpauth": 1,
        "mail_smtpauthtype": "LOGIN",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "app_install_overwrite": [
            "calendar"
        ],
        "trashbin_retention_obligation": "auto, 90",
        "maintenance_window_start": 19,
        "filelocking.enabled": true,
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "timeout": 0
        },
        "versions_retention_obligation": "auto, 90"
    }
}
root@hawk:/var/www# 

Apps

The output of occ app:list (if possible).

root@hawk:/var/www# su - www-data -c 'cd nextcloud && /usr/bin/php occ app:list'
directory '/var/www/bin' does not exist
directory '/var/www/.local/bin' does not exist

Today is Pungenday, the 69th of Bureaucracy, 3191. You are what you see. 
Enabled:
  - activity: 5.0.0-dev.0
  - app_api: 32.0.0
  - bruteforcesettings: 5.0.0-dev.0
  - circles: 32.0.0
  - cloud_federation_api: 1.16.0
  - comments: 1.22.0
  - contactsinteraction: 1.13.1
  - dashboard: 7.12.0
  - dav: 1.34.2
  - federatedfilesharing: 1.22.0
  - federation: 1.22.0
  - files: 2.4.0
  - files_downloadlimit: 5.0.0-dev.0
  - files_external: 1.24.0
  - files_pdfviewer: 5.0.0-dev.0
  - files_reminders: 1.5.0
  - files_sharing: 1.24.0
  - files_trashbin: 1.22.0
  - files_versions: 1.25.0
  - firstrunwizard: 5.0.0-dev.0
  - logreader: 5.0.0-dev.0
  - lookup_server_connector: 1.20.0
  - nextcloud_announcements: 4.0.0-dev.0
  - notifications: 5.0.0-dev.0
  - oauth2: 1.20.0
  - password_policy: 4.0.0-dev.0
  - privacy: 4.0.0-dev.0
  - profile: 1.1.0
  - provisioning_api: 1.22.0
  - recommendations: 5.0.0-dev.0
  - related_resources: 3.0.0-dev.0
  - serverinfo: 4.0.0-dev.0
  - settings: 1.15.1
  - sharebymail: 1.22.0
  - support: 4.0.0-dev.0
  - systemtags: 1.22.0
  - text: 6.0.0-dev.0
  - theming: 2.7.0
  - twofactor_backupcodes: 1.21.0
  - updatenotification: 1.22.0
  - user_status: 1.12.0
  - viewer: 5.0.0-dev.0
  - webhook_listeners: 1.3.0
  - workflowengine: 2.14.0
Disabled:
  - admin_audit: 1.22.0
  - encryption: 2.20.0
  - photos: 5.0.0-dev.1 (installed 2.0.1)
  - survey_client: 4.0.0-dev.0 (installed 2.0.0)
  - suspicious_login: 10.0.0-dev.0
  - twofactor_nextcloud_notification: 6.0.0-dev.0
  - twofactor_totp: 14.0.0
  - user_ldap: 1.23.0
  - weather_status: 1.12.0 (installed 1.2.0)
root@hawk:/var/www# 

Tips for increasing the likelihood of a response

  • Use the preformatted text formatting option in the editor for all log entries and configuration output.
  • If screenshots are useful, feel free to include them.
    • If possible, also include key error output in text form so it can be searched for.
  • Try to edit log output only minimally (if at all) so that it can be ran through analyzers / formatters by those trying to help you.

If you still have the old installation I would recommend to perform the migration in proper way as described in Migrating to a different server — Nextcloud latest Administration Manual latest documentation

see 101: backup what and why (not how) to learn which data is important.

please review Preparing PHP — Nextcloud latest Administration Manual latest documentation

1 Like

Thank you. I was not aware of that. I will be away for several days, and will try it when I get back.

I am familiar with that one. It is incomplete. I added several PHP packages to the apt install command I showed above.

You’re right. I missed adding a bunch of the required modules to the the quick reference table. Technically, they’re all there on the page somewhere, but definitely an oversight.

Fixed (probably will take a day or two to go live):

Problem solved. I ran several commands,

su - www-data -c 'cd nextcloud && /usr/bin/php occ status'
su - www-data -c 'cd nextcloud && /usr/bin/php occ maintenance:data-fingerprint'
su - www-data -c 'cd nextcloud && /usr/bin/php occ maintenance:repair'

The last one produced a lot of output that looked like it actually did something. Once that finished, I was able to use the web interface.

However, three of my apps were missing: Calendar, Contacts, and Notes. I went to Featured Apps. Those three showed versions of 0. So I disabled and re-enabled all three. They are back, and all the data is intact.

Thank you. Much better. Can you sort those by module name?

Not surprised. Those aren’t shipped apps. You’d have to carry them over from your old environment (or re-install them anew).

When migrating you have to identify all the non-default apps in your apps/ folder and make sure they get moved over.

Same goes for some manual updating and recovery processes.

Most of the packaged distribution/deploy methods (e.g. Community Docker, AIO, etc.) for Nextcloud separate the shipped apps from the other apps to make this even easier/clearer - e.g. https://docs.nextcloud.com/server/latest/admin_manual/apps_management.html#using-custom-app-directories