Pico CMS not working with NC on UCS

Hi,

we have NC 16.0.4 running on a univention corporate server with Pico CMS 1.0.1.

Unfortunately Pico CMS is not running as expected:

After installing the app and trying to setup a site in the user settings, the app complains that the storage would not be a local storage (Das Verzeichnis, in dem die Webseite gespeichert werden soll, liegt auf einem nicht-lokalen Speicher). This is partly true as NC4UCS is running in a docker container and the nc-data are mounted into docker.

This is the log entry of it.

[cms_pico] Warning: OCA\CMSPico\Exceptions\WebsiteInvalidDataException: Das Verzeichnis, in dem die Webseite gespeichert werden soll, liegt auf einem nicht-lokalen Speicher. at <<closure>>

0. /var/www/html/apps/cms_pico/lib/Service/WebsitesService.php line 131
   OCA\CMSPico\Model\Website->assertValidPath()
1. /var/www/html/apps/cms_pico/lib/Controller/SettingsController.php line 146
   OCA\CMSPico\Service\WebsitesService->createWebsite(OCA\CMSPico\Model\Website {})
2. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 166
   OCA\CMSPico\Controller\SettingsController->createPersonalWebsite({name: "testsite ... "})
3. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 99
   OC\AppFramework\Http\Dispatcher->executeController(OCA\CMSPico\Cont ... {}, "createPersonalWebsite")
4. /var/www/html/lib/private/AppFramework/App.php line 126
   OC\AppFramework\Http\Dispatcher->dispatch(OCA\CMSPico\Cont ... {}, "createPersonalWebsite")
5. /var/www/html/lib/private/AppFramework/Routing/RouteActionHandler.php line 47
   OC\AppFramework\App::main("OCA\\CMSPico\\C ... r", "createPersonalWebsite", OC\AppFramework\ ... {}, {_route: "cms_pi ... "})
6. <<closure>>
   OC\AppFramework\Routing\RouteActionHandler->__invoke({_route: "cms_pi ... "})
7. /var/www/html/lib/private/Route/Router.php line 297
   undefinedundefinedcall_user_func(OC\AppFramework\ ... {}, {_route: "cms_pi ... "})
8. /var/www/html/lib/base.php line 975
   OC\Route\Router->match("/apps/cms_pico/personal/websites")
9. /var/www/html/index.php line 42
   OC::handleRequest()

POST /apps/cms_pico/personal/websites
from 46.232.251.168 by Administrator at 2019-12-05T11:48:33+00:100:

Feels like an unwanted behaviour.

Andy

You must move your website’s source folder to an unencrypted local storage. If you’re using server-side encryption, you must create a “Local (unencrypted)” external storage and move your website’s source folders to this directory.

What do you mean with “local” external storage? External storage app is not providing the option to mount local storage.

Upgrade to Pico CMS for Nextcloud v1.0.2. It will show up if you’ve enabled server-side encryption. If you don’t use server-side encryption, don’t try to store your website’s source files on a external storage.

The upgrade throws the following error and pico cms is no longer available in the settings

[cms_pico] Warning: OCA\CMSPico\Exceptions\WebsiteInvalidDataException: Das Verzeichnis, in dem die Webseite gespeichert werden soll, liegt auf einem nicht-lokalen Speicher. at <<closure>>

0. /var/www/html/apps/cms_pico/lib/Service/WebsitesService.php line 131
   OCA\CMSPico\Model\Website->assertValidPath()
1. /var/www/html/apps/cms_pico/lib/Controller/SettingsController.php line 146
   OCA\CMSPico\Service\WebsitesService->createWebsite(OCA\CMSPico\Model\Website {})
2. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 166
   OCA\CMSPico\Controller\SettingsController->createPersonalWebsite({name: "testsite ... "})
3. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 99
   OC\AppFramework\Http\Dispatcher->executeController(OCA\CMSPico\Cont ... {}, "createPersonalWebsite")
4. /var/www/html/lib/private/AppFramework/App.php line 126
   OC\AppFramework\Http\Dispatcher->dispatch(OCA\CMSPico\Cont ... {}, "createPersonalWebsite")
5. /var/www/html/lib/private/AppFramework/Routing/RouteActionHandler.php line 47
   OC\AppFramework\App::main("OCA\\CMSPico\\C ... r", "createPersonalWebsite", OC\AppFramework\ ... {}, {_route: "cms_pi ... "})
6. <<closure>>
   OC\AppFramework\Routing\RouteActionHandler->__invoke({_route: "cms_pi ... "})
7. /var/www/html/lib/private/Route/Router.php line 297
   undefinedundefinedcall_user_func(OC\AppFramework\ ... {}, {_route: "cms_pi ... "})
8. /var/www/html/lib/base.php line 975
   OC\Route\Router->match("/apps/cms_pico/personal/websites")
9. /var/www/html/index.php line 42
   OC::handleRequest()

POST /apps/cms_pico/personal/websites
from 46.232.251.168 by Administrator at 2019-12-05T11:48:33+00:100:

That’s the same error as before and likely not the issue you’re facing while upgrading. Try enabling the app again and check your error log.

This error came up while upgrading. that’s for sure.

removed the app; created an external local storage (overseen the option in the drop down list before), made sure that encryption is NOT activated; installed the app again . . . when trying to create a site into the unencrypted local folder I get the same error message

[cms_pico] Warning: OCA\CMSPico\Exceptions\WebsiteInvalidDataException: Das Verzeichnis, in dem die Webseite gespeichert werden soll, liegt auf einem nicht-lokalen Speicher. at <<closure>>

0. /var/www/html/apps/cms_pico/lib/Service/WebsitesService.php line 131
   OCA\CMSPico\Model\Website->assertValidPath()
1. /var/www/html/apps/cms_pico/lib/Controller/WebsitesController.php line 112
   OCA\CMSPico\Service\WebsitesService->createWebsite(OCA\CMSPico\Model\Website {})
2. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 166
   OCA\CMSPico\Controller\WebsitesController->createPersonalWebsite({name: "ttt",sit ... "})
3. /var/www/html/lib/private/AppFramework/Http/Dispatcher.php line 99
   OC\AppFramework\Http\Dispatcher->executeController(OCA\CMSPico\Cont ... {}, "createPersonalWebsite")
4. /var/www/html/lib/private/AppFramework/App.php line 126
   OC\AppFramework\Http\Dispatcher->dispatch(OCA\CMSPico\Cont ... {}, "createPersonalWebsite")
5. /var/www/html/lib/private/AppFramework/Routing/RouteActionHandler.php line 47
   OC\AppFramework\App::main("OCA\\CMSPico\\C ... r", "createPersonalWebsite", OC\AppFramework\ ... {}, {_route: "cms_pi ... "})
6. <<closure>>
   OC\AppFramework\Routing\RouteActionHandler->__invoke({_route: "cms_pi ... "})
7. /var/www/html/lib/private/Route/Router.php line 297
   undefinedundefinedcall_user_func(OC\AppFramework\ ... {}, {_route: "cms_pi ... "})
8. /var/www/html/lib/base.php line 975
   OC\Route\Router->match("/apps/cms_pico/personal/websites")
9. /var/www/html/index.php line 42
   OC::handleRequest()

POST /apps/cms_pico/personal/websites
from 46.232.251.168 by Administrator at 2019-12-05T14:22:09+00:00

grafik

You must create and use a “Local (unencrypted)” (or “Lokal (unverschlüsselt)” in German), not a “Local” external storage.

So in other words there is no chance to get the app running if using server side file encryption?

No? As I just said: Create a “Local (unencrypted)” (= German: “Lokal (unverschlüsselt)”) external storage and move your website’s source folders to that external storage. Works just fine with server-side encryption. Naturally you can’t encrypt a public website’s source files, it’s a website, it’s purpose is to be public readable, thus you have to move it to a unencrypted storage.

It’s clear that it makes no sense to encrypt public websites . . .
So I created an unencrypted local storage with the external storage app. Try to setup a site at this location. And what I get is the above mentioned error as shown in the screenshots.

If this way is completely wrong it would be nice if you could the way more specific.