ReinerNippes / nextcloud

Ansible playbook to install nextcloud, php, nginx or apache, mariadb or postgres, redis-server, onlyoffice or collabora office
MIT License
413 stars 140 forks source link

NextCloud-reloaded - Collabora set allow domain failed #111

Open LinuksGuru opened 3 years ago

LinuksGuru commented 3 years ago

Hi,

One of the last tasks of "reloaded" branch fail with this message.

TASK [collabora : set allow domain cloud1.mydomain.com] ****************************************************************************
Tuesday 02 March 2021  10:11:25 +0200 (0:11:27.379)       0:14:40.013 ********* 
fatal: [localhost]: FAILED! => changed=false 
  msg: 'missing parameter(s) required by ''attribute'': value'
LinuksGuru commented 3 years ago

I commented out problematic lines, playbook runs into cycle, consumed over 8GB of RAM, and aborted with error. "php occ config:system:set maintenance --value=false --type=boolean" probably executed in a loop (I'm not a specialist in Ansible, may be wrong here). Options: clean Debian 10, DB was changed from pgsql to mariadb, self signed certificate, collabora.

changed: [localhost] => (item=loglevel --value=1 --type=integer)
failed: [localhost] (item=maintenance --value=false --type=boolean) => changed=true 
  ansible_loop_var: item
  cmd: php occ config:system:set maintenance --value=false --type=boolean
  delta: '0:18:24.257821'
  end: '2021-03-02 12:14:16.126959'
  item: maintenance --value=false --type=boolean
  msg: non-zero return code
  rc: 137
  start: '2021-03-02 11:55:51.869138'
  stderr: Killed
  stderr_lines: <omitted>
  stdout: ''
  stdout_lines: <omitted>
failed: [localhost] (item=theme --value='') => changed=true 
  ansible_loop_var: item
  cmd: php occ config:system:set theme --value=''
  delta: '0:17:31.035254'
  end: '2021-03-02 12:31:51.910531'
  item: theme --value=''
  msg: non-zero return code
  rc: 137
  start: '2021-03-02 12:14:20.875277'
  stderr: ''
  stderr_lines: <omitted>
  stdout: ''
  stdout_lines: <omitted>
ReinerNippes commented 3 years ago

It seems that the playbook is currently broken. Right now my advice would be to downgrade Ansible to version 2.9 and try to install Nextcloud 20.0.8.

I'll try to fix the playbook, but that may take a while.

drgif commented 3 years ago

I have the same problem also without Collabora at step: nextcloud : set nextcloud domain config.php values

I wasn't entirely sure what you meant with your advise to downgrade ansible to 2.9. I have now done the following: Using the master branch I changed the following in the install_pip() section prepare_system.sh, section:

curl https://bootstrap.pypa.io/2.7/get-pip.py | $SUDO $PYTHON_BIN
...
$SUDO pip install ansible==2.9.0 -U

This worked on my target setup (Debian 10.8.0 VM on Proxmox). I also tried out Ubuntu Server 20.04.2 (on Virtualbox) and I get the following error in the prep_nginx: install needed packages section of the playbook: msg: No package matching 'python-pip' is available.

I am happy to have it run on Debian, but maybe this observation helps someone. Thank you for all your great work!

EDIT: Nope, I was wrong. Not working on Debian either. Playbook runs through to the end and tells me that the server is up and running, but when I try to connect via Browser, I get Error 500. I will post the corresponding nextcloud log tomorrow, but it looks related to #110

EDIT2: Possible related problem with solution: https://help.nextcloud.com/t/internal-server-error-right-after-admin-and-db-config/109507

drgif commented 3 years ago

This is the corresponding log entry to my 500 error:

{
  "reqId": "GFo4Q8ztgtnTdQMvbGW1",
  "level": 3,
  "time": "2021-03-05T22:17:19+00:00",
  "remoteAddr": "",
  "user": "admin",
  "app": "no app in context",
  "method": "",
  "url": "--",
  "message": {
    "Exception": "OCP\\AppFramework\\QueryException",
    "Message": "Could not resolve OCA\\Files_Versions\\Versions\\IVersionManager! Class can not be instantiated",
    "Code": 0,
    "Trace": [
      {
        "file": "/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php",
        "line": 126,
        "function": "resolve",
        "class": "OC\\AppFramework\\Utility\\SimpleContainer",
        "type": "->",
        "args": [
          "OCA\\Files_Versions\\Versions\\IVersionManager"
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php",
        "line": 455,
        "function": "query",
        "class": "OC\\AppFramework\\Utility\\SimpleContainer",
        "type": "->",
        "args": [
          "OCA\\Files_Versions\\Versions\\IVersionManager"
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php",
        "line": 427,
        "function": "queryNoFallback",
        "class": "OC\\AppFramework\\DependencyInjection\\DIContainer",
        "type": "->",
        "args": [
          "OCA\\Files_Versions\\Versions\\IVersionManager"
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php",
        "line": 56,
        "function": "query",
        "class": "OC\\AppFramework\\DependencyInjection\\DIContainer",
        "type": "->",
        "args": [
          "OCA\\Files_Versions\\Versions\\IVersionManager"
        ]
      },
      {
        "file": "/var/www/nextcloud/apps/files_versions/lib/AppInfo/Application.php",
        "line": 119,
        "function": "get",
        "class": "OC\\AppFramework\\Utility\\SimpleContainer",
        "type": "->",
        "args": [
          "OCA\\Files_Versions\\Versions\\IVersionManager"
        ]
      },
      {
        "file": "/var/www/nextcloud/apps/files_versions/lib/AppInfo/Application.php",
        "line": 106,
        "function": "loadBackend",
        "class": "OCA\\Files_Versions\\AppInfo\\Application",
        "type": "->",
        "args": [
          {
            "@attributes": {
              "for": "OCP\\Files\\Storage\\IStorage"
            },
            "@value": "OCA\\Files_Versions\\Versions\\LegacyVersionsBackend"
          },
          {
            "__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
          },
          {
            "__class__": "OC\\AppFramework\\Logger"
          }
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/AppFramework/Bootstrap/FunctionInjector.php",
        "line": 68,
        "function": "registerVersionBackends",
        "class": "OCA\\Files_Versions\\AppInfo\\Application",
        "type": "->",
        "args": [
          {
            "__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
          },
          {
            "__class__": "OC\\App\\AppManager"
          },
          {
            "__class__": "OC\\AppFramework\\Logger"
          }
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/AppFramework/Bootstrap/BootContext.php",
        "line": 52,
        "function": "injectFn",
        "class": "OC\\AppFramework\\Bootstrap\\FunctionInjector",
        "type": "->",
        "args": [
          {
            "__class__": "Closure"
          }
        ]
      },
      {
        "file": "/var/www/nextcloud/apps/files_versions/lib/AppInfo/Application.php",
        "line": 91,
        "function": "injectFn",
        "class": "OC\\AppFramework\\Bootstrap\\BootContext",
        "type": "->",
        "args": [
          {
            "__class__": "Closure"
          }
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/AppFramework/Bootstrap/Coordinator.php",
        "line": 168,
        "function": "boot",
        "class": "OCA\\Files_Versions\\AppInfo\\Application",
        "type": "->",
        "args": [
          {
            "__class__": "OC\\AppFramework\\Bootstrap\\BootContext"
          }
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/legacy/OC_App.php",
        "line": 191,
        "function": "bootApp",
        "class": "OC\\AppFramework\\Bootstrap\\Coordinator",
        "type": "->",
        "args": [
          "files_versions"
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/legacy/OC_App.php",
        "line": 131,
        "function": "loadApp",
        "class": "OC_App",
        "type": "::",
        "args": [
          "files_versions"
        ]
      },
      {
        "file": "/var/www/nextcloud/apps/dav/lib/AppInfo/Application.php",
        "line": 113,
        "function": "loadApps",
        "class": "OC_App",
        "type": "::",
        "args": [
          [
            "dav"
          ]
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/AppFramework/Bootstrap/Coordinator.php",
        "line": 168,
        "function": "boot",
        "class": "OCA\\DAV\\AppInfo\\Application",
        "type": "->",
        "args": [
          {
            "__class__": "OC\\AppFramework\\Bootstrap\\BootContext"
          }
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/legacy/OC_App.php",
        "line": 191,
        "function": "bootApp",
        "class": "OC\\AppFramework\\Bootstrap\\Coordinator",
        "type": "->",
        "args": [
          "dav"
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/legacy/OC_App.php",
        "line": 131,
        "function": "loadApp",
        "class": "OC_App",
        "type": "::",
        "args": [
          "dav"
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/legacy/OC_Util.php",
        "line": 201,
        "function": "loadApps",
        "class": "OC_App",
        "type": "::",
        "args": [
          [
            "filesystem"
          ]
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/User/Session.php",
        "line": 554,
        "function": "setupFS",
        "class": "OC_Util",
        "type": "::",
        "args": [
          "*** sensitive parameter replaced ***"
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/User/Session.php",
        "line": 415,
        "function": "prepareUserLogin",
        "class": "OC\\User\\Session",
        "type": "->",
        "args": [
          true,
          "*** sensitive parameter replaced ***"
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/User/Session.php",
        "line": 624,
        "function": "completeLogin",
        "class": "OC\\User\\Session",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/User/Session.php",
        "line": 367,
        "function": "loginWithPassword",
        "class": "OC\\User\\Session",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/Setup.php",
        "line": 436,
        "function": "login",
        "class": "OC\\User\\Session",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/nextcloud/core/Command/Maintenance/Install.php",
        "line": 106,
        "function": "install",
        "class": "OC\\Setup",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/var/www/nextcloud/3rdparty/symfony/console/Command/Command.php",
        "line": 255,
        "function": "execute",
        "class": "OC\\Core\\Command\\Maintenance\\Install",
        "type": "->",
        "args": [
          {
            "__class__": "Symfony\\Component\\Console\\Input\\ArgvInput"
          },
          {
            "__class__": "Symfony\\Component\\Console\\Output\\ConsoleOutput"
          }
        ]
      },
      {
        "file": "/var/www/nextcloud/3rdparty/symfony/console/Application.php",
        "line": 1000,
        "function": "run",
        "class": "Symfony\\Component\\Console\\Command\\Command",
        "type": "->",
        "args": [
          {
            "__class__": "Symfony\\Component\\Console\\Input\\ArgvInput"
          },
          {
            "__class__": "Symfony\\Component\\Console\\Output\\ConsoleOutput"
          }
        ]
      },
      {
        "file": "/var/www/nextcloud/3rdparty/symfony/console/Application.php",
        "line": 271,
        "function": "doRunCommand",
        "class": "Symfony\\Component\\Console\\Application",
        "type": "->",
        "args": [
          {
            "__class__": "OC\\Core\\Command\\Maintenance\\Install"
          },
          {
            "__class__": "Symfony\\Component\\Console\\Input\\ArgvInput"
          },
          {
            "__class__": "Symfony\\Component\\Console\\Output\\ConsoleOutput"
          }
        ]
      },
      {
        "file": "/var/www/nextcloud/3rdparty/symfony/console/Application.php",
        "line": 147,
        "function": "doRun",
        "class": "Symfony\\Component\\Console\\Application",
        "type": "->",
        "args": [
          {
            "__class__": "Symfony\\Component\\Console\\Input\\ArgvInput"
          },
          {
            "__class__": "Symfony\\Component\\Console\\Output\\ConsoleOutput"
          }
        ]
      },
      {
        "file": "/var/www/nextcloud/lib/private/Console/Application.php",
        "line": 215,
        "function": "run",
        "class": "Symfony\\Component\\Console\\Application",
        "type": "->",
        "args": [
          {
            "__class__": "Symfony\\Component\\Console\\Input\\ArgvInput"
          },
          {
            "__class__": "Symfony\\Component\\Console\\Output\\ConsoleOutput"
          }
        ]
      },
      {
        "file": "/var/www/nextcloud/console.php",
        "line": 100,
        "function": "run",
        "class": "OC\\Console\\Application",
        "type": "->",
        "args": []
      },
      {
        "file": "/var/www/nextcloud/occ",
        "line": 11,
        "args": [
          "/var/www/nextcloud/console.php"
        ],
        "function": "require_once"
      }
    ],
    "File": "/var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php",
    "Line": 111,
    "CustomMessage": "Could not boot files_versionsCould not resolve OCA\\Files_Versions\\Versions\\IVersionManager! Class can not be instantiated"
  },
  "userAgent": "--",
  "version": "20.0.8.1"
}
ReinerNippes commented 3 years ago

$SUDO pip install ansible==2.9.0 -U

I think it's right now version 2.9.18. I'm not sure if there is version 2.9.0.

librecloudhost commented 3 years ago

I managed to fix this by setting the inventory file to use PHP8 and using fixes 18569a4634a3e79ea341fa95a2aa1ed7735e287f and 2fcb3f953045d47a72ddbcf5999f145ac3b5b1d6.

Redis was actually the underlying issue because it is now using PHP8 and Nextcloud was using PHP7.

ReinerNippes commented 3 years ago

I fixed the nextcloud-reloaded branch.

default php version is now 8.0 default ansible version is now 2.9.18

I tested it on ubuntu 20.04 with nextcloud 21 and collabora.

drgif commented 3 years ago

I can confirm this is working on Debian 10.8 (VM on Proxmox). "Vanilla" install of the playbook, only changed the FQDN. Thank you so much!

EDIT: It was a VM on Proxmox, not an LXC container