Cryptpad: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
Zeile 12: Zeile 12:


Für die Installation werden mit Hilfe von HSAdmin ein User (hier: 'xyz00-cryptpad') und eine Domain angelegt (hier: 'cryptpad.hs-example.de'). Die Entwickler empfehlen die Nutzung von zwei Domains für eine Cryptpad Installation. Wir nutzen hier eine 'leichtgewichtige' Subdomain 'api.cryptpad.hs-example.de', die bei Hostsharing ohne weitere Konfiguration nutzbar ist.  
Für die Installation werden mit Hilfe von HSAdmin ein User (hier: 'xyz00-cryptpad') und eine Domain angelegt (hier: 'cryptpad.hs-example.de'). Die Entwickler empfehlen die Nutzung von zwei Domains für eine Cryptpad Installation. Wir nutzen hier eine 'leichtgewichtige' Subdomain 'api.cryptpad.hs-example.de', die bei Hostsharing ohne weitere Konfiguration nutzbar ist.  
== Webserver Konfiguration ==


Nach dem Aufschalten der Domain 'cryptpad.hs-example.de' passen wird die generierte Verzeichnisstruktur der Domain wie folgt angepasst:
Nach dem Aufschalten der Domain 'cryptpad.hs-example.de' passen wird die generierte Verzeichnisstruktur der Domain wie folgt angepasst:
Zeile 59: Zeile 61:
  Header Set Cross-Origin-Embedder-Policy "require-corp"
  Header Set Cross-Origin-Embedder-Policy "require-corp"
  Header Set Content-Security-Policy "default-src 'none'; child-src https://cryptpad.hs-example.de; worker-src https://cryptpad.hs-example.de; media-src * blob:; style-src 'unsafe-inline' 'self' cryptpad.hs-example.de; script-src 'self' 'unsafe-inline' 'unsafe-eval' resource: cryptpad.hs-example.de; connect-src 'self' https://cryptpad.hs-example.de cryptpad.hs-example.de https://api.cryptpad.hs-example.de blob: wss://api.cryptpad.hs-example.de api.cryptpad.hs-example.de; font-src 'self' data: cryptpad.hs-example.de; img-src data: * blob:; frame-src 'self' blob: api.cryptpad.hs-example.de cryptpad.hs-example.de https://cryptpad.hs-example.de https://api.cryptpad.hs-example.de;"
  Header Set Content-Security-Policy "default-src 'none'; child-src https://cryptpad.hs-example.de; worker-src https://cryptpad.hs-example.de; media-src * blob:; style-src 'unsafe-inline' 'self' cryptpad.hs-example.de; script-src 'self' 'unsafe-inline' 'unsafe-eval' resource: cryptpad.hs-example.de; connect-src 'self' https://cryptpad.hs-example.de cryptpad.hs-example.de https://api.cryptpad.hs-example.de blob: wss://api.cryptpad.hs-example.de api.cryptpad.hs-example.de; font-src 'self' data: cryptpad.hs-example.de; img-src data: * blob:; frame-src 'self' blob: api.cryptpad.hs-example.de cryptpad.hs-example.de https://cryptpad.hs-example.de https://api.cryptpad.hs-example.de;"
== Installation von NodeJS ==
Nach dieser [https://wiki.hostsharing.net/index.php?title=NodeJS Anleitung] hier im Wiki wird mit Hilfe von 'nvm' 'node' in der Version 12 installiert.
== Installation des Cryptpad ==


= weiterführende Links =
= weiterführende Links =

Version vom 13. Dezember 2021, 19:04 Uhr

Cryptpad

Cryptpad ist ein Online-Office, dass in erster Linie im Internet-Browser zu bedienen ist. Das Alleinstellungsmerkmal ist die Ende-zu-Ende-Verschlüsselung aller Dokumente. Die Entschlüsselung und die Verschlüsselung erfolgen im Browser. Auf dem Server sind keinerlei lesbare Daten abgelegt.

Cryptpad bietet Editoren für formatierte Textdokumente (im HTML-Format) und für Markdown-Dateien und andere Textdateien. Der Anwendungsfall der Tabellenkalkulation wird durch Onlyoffice-Tabellen abgedeckt. Präsentationen können mit Hilfe von Markdown erstellt werden. Bilder und PDF-Dokumente können in die Umgebung hochgeladen und im Browser betrachtet werden. Ein Kalender und ein Kanbanboard zur Aufgabenverwaltung vervollständigen das Angebot.

Das Projekt stellt eine gute Installationsanleitung bereit. Leider ist die Konfiguration des Webservers nur für NGinX dokumentiert, so dass für die Konfiguration des Apache Webserver einige Experimente notwendig wurden.

Installation

Mitglieder, die einen Managed Webspace im Shared Hosting nutzen, müssen für ihre Cryptpad-Installation eien "eigenen Serverdienst" beim Hostsharing-Service anmelden. Diese Option ist im Shared Hosting kostenpflichtig. Für den Serverdienst wird ein IP-Port mit dem Server vereinbart. Im Beispiel wird Port '30001' genutzt.

Für die Installation werden mit Hilfe von HSAdmin ein User (hier: 'xyz00-cryptpad') und eine Domain angelegt (hier: 'cryptpad.hs-example.de'). Die Entwickler empfehlen die Nutzung von zwei Domains für eine Cryptpad Installation. Wir nutzen hier eine 'leichtgewichtige' Subdomain 'api.cryptpad.hs-example.de', die bei Hostsharing ohne weitere Konfiguration nutzbar ist.

Webserver Konfiguration

Nach dem Aufschalten der Domain 'cryptpad.hs-example.de' passen wird die generierte Verzeichnisstruktur der Domain wie folgt angepasst:

cd ~/doms/cryptpad.hs-example.de
rm -rf subs/www subs-ssl/www htdocs-ssl/.htaccess
mkdir subs/api subs-ssl/api

In die Verzeichnisse 'subs/api', 'subs-ssl/api' und 'htdocs-ssl' werden jeweils Dateien mit dem Namen '.htaccess' zur Konfiguration des Apache Webserver abgelegt:

cd ~/doms/cryptpad.hs-example.de

cat subs/api/.htaccess 
Redirect permanent / https://api.cryptpad.hs-example.de/

cat subs-ssl/api/.htaccess 
DirectoryIndex disabled
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:UPGRADE} ^WebSocket$           [NC,OR]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$          [NC]
RewriteRule .* ws://127.0.0.1:30001%{REQUEST_URI}  [proxy]
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:30001%{REQUEST_URI} [proxy,last]

cat htdocs-ssl/.htaccess 
DirectoryIndex disabled
RewriteEngine On
RewriteBase /   
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP:UPGRADE} ^WebSocket$           [NC,OR]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$          [NC]
RewriteRule .* ws://127.0.0.1:30001%{REQUEST_URI}  [proxy]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:30001%{REQUEST_URI} [proxy,last]

Eine weitere '.htaccess'-Datei liegt direkt im Hauptverzeichnis der Domain (die überlangen Zeilen beachten):

cd ~/doms/cryptpad.hs-example.de
cat .htaccess 
Header Set Access-Control-Allow-Origin "*"
Header Set Access-Control-Allow-Methods "GET, POST, OPTIONS"
Header Set Access-Control-Allow-Headers "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range"
Header Set Access-Control-Max-Age "1728000"
Header Set Cross-Origin-Resource-Policy "cross-origin"
Header Set Cross-Origin-Embedder-Policy "require-corp"
Header Set Content-Security-Policy "default-src 'none'; child-src https://cryptpad.hs-example.de; worker-src https://cryptpad.hs-example.de; media-src * blob:; style-src 'unsafe-inline' 'self' cryptpad.hs-example.de; script-src 'self' 'unsafe-inline' 'unsafe-eval' resource: cryptpad.hs-example.de; connect-src 'self' https://cryptpad.hs-example.de cryptpad.hs-example.de https://api.cryptpad.hs-example.de blob: wss://api.cryptpad.hs-example.de api.cryptpad.hs-example.de; font-src 'self' data: cryptpad.hs-example.de; img-src data: * blob:; frame-src 'self' blob: api.cryptpad.hs-example.de cryptpad.hs-example.de https://cryptpad.hs-example.de https://api.cryptpad.hs-example.de;"

Installation von NodeJS

Nach dieser Anleitung hier im Wiki wird mit Hilfe von 'nvm' 'node' in der Version 12 installiert.

Installation des Cryptpad

weiterführende Links