Nextcloud PicoCMS App
Getting the Nextcloud PicoCMS app app running correctly is not that straight forward, and takes a bit of fiddling around. To get it running, first install the app as described on the app's wiki pages.
Loading the media
However, you might still have problems loading media — such as fonts, images and stylesheets — held on remote sites.
Load the page, and then use the browsers
Developer Tools > Console. If you are getting errors like the following:
Refused to load the stylesheet 'https://fonts.googleapis.com/css?family=Open+Sans:400,700' because it violates the following Content Security Policy directive: "style-src 'self' 'unsafe-inline'". Note that 'style-src-elem' was not explicitly set, so 'style-src' is used as a fallback.
you will need to edit the Apache configuration to allow the stylesheet to load.
<VirtualHost *:443> DocumentRoot "/path/to/nextcloud" ServerName cloud.domain.name <IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload" Header always set Content-Security-Policy "default-src 'none';base-uri 'none';manifest-src 'self';script-src 'unsafe-eval' 'unsafe-inline' 'self';style-src 'self' 'unsafe-inline' https://fonts.googleapis.com/;img-src 'self' data: blob: *;font-src 'self' https://fonts.gstatic.com;connect-src 'self';media-src 'self';frame-src www.youtube.com prezi.com player.vimeo.com vine.co 'self';child-src 'self';" Header set Referrer-Policy "no-referrer" </IfModule>
Note: Some of these directives should already be configured.
unsafe-inline are needed by Nextcloud for the time being.
Installing a new theme
The documentation says:
The Admin of a cloud have the possibility to provide to his user plugins, templates and themes. The installation is done by uploading the files on the filesystem of the server:
- For new templates, create a new folder in your_nextcloud_root/apps/cms_pico/Pico/templates/
- For a new theme, create a new folder in your_nextcloud_root/apps/cms_pico/Pico/themes/
- Plugins have to be uploaded into your_nextcloud_root/apps/cms_pico/Pico/plugins/
However, the Nextcloud admin page for the app says:
To add a custom theme, you will need to create a new folder in the 'themes' directory: /path/to/nextcloud/data/appdata_xxxxxxxxxxx/cms_pico/themes/
To add a custom template, you will need to create a new folder in the 'templates' directory: /path/to/nextcloud/data/appdata_xxxxxxxxxxx/cms_pico/templates/
/path/to/nextcloud/data/appdata_xxxxxxxxxxx/ is the path to the Nextcloud app data in the data directory.
Putting the theme in one or the other of these directories fails. What is needed a theme directory in both locations.
appdata directory, the theme directory needs to contain