Nextcloud PicoCMS App
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>
…
</VirtualHost>
Note: Some of these directives should already be configured. unsafe-eval
and 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/
where the /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.
In the appdata
directory, the theme directory needs to contain