Unable to run occ on OpenBSD


#1

Hi,
I upgraded my OpenBSD installation from 6.1 to 6.2.
In the upgrade process I also upgraded ownCloud to 10.0.3.
Now when I browse to the ownCloud page, it wants to upgrade.
The upgrade fails with this message:

    Repair warning: You have incompatible or missing apps enabled that could not be found or updated via the marketplace.
    Repair warning: Please install or update the following apps manually or disable them with: occ app:disable documents
    Repair warning: For manually updating, see https://doc.owncloud.org/server/10.0/go.php?to=admin-marketplace-apps

So I figured that I will do as it says and run the occ command.
But the command fails, and I don't understand why.

su -l -s /bin/sh www

$ cd /var/www/owncloud/
$ ./occ
PHP Warning: Module 'curl' already loaded in Unknown on line 0
PHP Warning: Module 'gd' already loaded in Unknown on line 0
PHP Warning: Module 'intl' already loaded in Unknown on line 0
PHP Warning: Module 'zip' already loaded in Unknown on line 0
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
ownCloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Cannot create "data" directory
This can usually be fixed by giving the webserver write access to the root directory.

{"reqId":"uds8VWpXGYWCkIjzmcjW","level":3,"time":"2017-10-14T22:40:06+00:00","remoteAddr":"","user":"--","app":"PHP","method":"--","url":"--","message":"Module 'zip' already loaded at Unknown#0"}
An unhandled exception has been thrown:
exception 'Exception' with message 'Environment not properly prepared.' in /var/www/owncloud/lib/private/Console/Application.php:134
Stack trace:

0 /var/www/owncloud/console.php(105): OC\Console\Application->loadCommands(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

1 /var/www/owncloud/occ(11): require_once('/var/www/ownclo...')

2 {main}$

$ ls -l
total 316
-rw-r--r-- 1 root bin 8859 Sep 15 16:43 AUTHORS
-rw-r--r-- 1 root bin 25213 Sep 15 16:43 CHANGELOG.md
-rw-r--r-- 1 root bin 34520 Sep 15 16:43 COPYING
drwxr-xr-x 37 www www 1024 Oct 14 21:40 apps
drwxr-x--- 2 www www 512 Oct 14 21:37 config
-rw-r--r-- 1 root bin 4345 Sep 15 16:42 console.php
drwxr-xr-x 17 root daemon 1024 Oct 14 21:37 core
-rw-r--r-- 1 root bin 4969 Sep 15 16:42 cron.php
drwxr-x--- 6 www www 512 Nov 30 2016 data
-rw-r--r-- 1 root bin 30898 Sep 15 16:42 db_structure.xml
-rw-r--r-- 1 root bin 179 Sep 15 16:42 index.html
-rw-r--r-- 1 root bin 3898 Sep 15 16:42 index.php
drwxr-xr-x 3 root daemon 512 Oct 14 21:37 l10n
drwxr-xr-x 6 root daemon 512 Oct 14 21:37 lib
-rwxr-xr-x 1 root bin 289 Oct 2 20:10 occ
drwxr-xr-x 2 root daemon 512 Oct 14 21:37 ocs
drwxr-xr-x 2 root daemon 512 Oct 14 21:37 ocs-provider
-rw-r--r-- 1 root bin 3197 Sep 15 16:42 public.php
-rw-r--r-- 1 root bin 5481 Sep 15 16:42 remote.php
drwxr-xr-x 4 root daemon 512 Apr 25 09:42 resources
drwxr-xr-x 12 root daemon 512 Oct 14 21:37 settings
-rw-r--r-- 1 root bin 1757 Sep 15 16:42 status.php
drwxr-xr-x 6 root daemon 512 Oct 14 21:37 updater
-rw-r--r-- 1 root bin 278 Oct 2 20:10 version.php
$

Any ideas?


#2

Have you tried running the command as 'sudo www' and not 'su www'? Also, you're not providing the path to PHP.

See this:

https://doc.owncloud.org/server/latest/admin_manual/configuration/server/occ_command.html?highlight=occ#run-occ-as-your-http-user


#3

I realized that the easiest way to solve the problem is to disable the app directly in the database.
I did this:
owncloud=> update oc_appconfig set configvalue = 'no' where appid = 'documents' and configkey = 'enabled';