Maschinenraum/cp.uugrn.org: Unterschied zwischen den Versionen
(Service hinzugefügt) |
Keine Bearbeitungszusammenfassung |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 30: | Zeile 30: | ||
* cryptpad 2024-12-0 | * cryptpad 2024-12-0 | ||
* nginx (als reverse proxy) | * nginx (als reverse proxy) | ||
Anleitung: | Anleitung: | ||
Zeile 40: | Zeile 37: | ||
Diagnose: https://cp.uugrn.org/checkup/ | Diagnose: https://cp.uugrn.org/checkup/ | ||
===== Vorbereitungen ===== | |||
<pre> | |||
2 Domains werden benötigt die beide auf den Server zeigen | |||
cp.uugrn.org sandboxcp.uugrn.org (für erweiterten Schutz gegen CSS) | |||
apt install -y curl | |||
curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh | |||
bash nodesource_setup.sh | |||
apt install -y nodejs | |||
</pre> | </pre> | ||
===== | ===== Benutzer anlegen ===== | ||
<pre> | <pre> | ||
useradd -m cryptpad -s /bin/bash | |||
</pre> | </pre> | ||
CryptPad läuft unter dem Benutzer „cryptpad“. | |||
Das Home-Verzeichnis ist /home/cryptpad/cryptpad. | |||
===== CryptPad installieren ===== | ===== CryptPad installieren ===== | ||
<pre> | <pre> | ||
su - cryptpad | |||
git clone https://github.com/cryptpad/cryptpad.git cryptpad | |||
cd cryptpad | |||
npm ci | |||
npm run install:components | |||
./install-onlyoffice.sh | |||
# Beispielkonfiguration an den richtigen Ort kopieren | |||
cp config/config.example.js config/config.js | |||
# Konfiguration anpassen | |||
nano config/config.js | |||
# httpUnsafeOrigin: 'https://cp.uugrn.org', | |||
# httpSafeOrigin: 'https://sandboxcp.uugrn.org', | |||
# cryptpad als Service eintragen | |||
# als Root | |||
wget https://raw.githubusercontent.com/cryptpad/cryptpad/main/docs/cryptpad.service -O /etc/systemd/system/cryptpad.service | |||
# Dienst aktivieren | |||
systemctl enable --now cryptpad | |||
systemctl start cryptpad # Starten des Dienstes | |||
systemctl status cryptpad # Info über den Dienst | |||
systemctl stop cryptpad # Stoppen des Dienstes | |||
systemctl restart cryptpad # Neustarten des Dienstes | |||
ss -ant # hier kann man schauen, ob am Port 3000 und 3001 Verbindungen akzeptiert werden | |||
</pre> | </pre> | ||
===== NGINX installieren ===== | |||
<pre> | |||
sudo apt install nginx | |||
mkdir -p /etc/nginx | |||
openssl dhparam -out /etc/nginx/dhparam.pem 4096 | |||
# Generierung dauert eine ganze Weile. Abwarten, bis beendet. | |||
</pre> | |||
===== Let's Encrypt installieren und Zertifikat generieren ===== | |||
<pre> | <pre> | ||
sudo apt install certbot python3-certbot-nginx | |||
sudo certbot --nginx certonly -d cp.uugrn.org -d sandboxcp.uugrn.org | |||
sudo systemctl enable certbot.timer | |||
Certificate is saved at: /etc/letsencrypt/live/cp.uugrn.org/fullchain.pem | |||
Key is saved at: /etc/letsencrypt/live/cp.uugrn.org/privkey.pem | |||
</pre> | </pre> | ||
===== | <!-- | ||
===== Letsencrypt Erneuerung einrichten ===== | |||
<pre> | |||
$ cat /etc/cron.weekly/certbot.sh | |||
#!/bin/sh | |||
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin | |||
certbot renew | |||
service nginx reload | |||
</pre> | |||
--> | |||
===== NGINX konfigurieren ===== | |||
<pre> | <pre> | ||
wget https://raw.githubusercontent.com/cryptpad/cryptpad/main/docs/example.nginx.conf -O /etc/nginx/conf.d/cryptpad.conf | |||
Anschließend die Datei bearbeiten. | |||
Domains eintragen und die Lets-Encrypt-Pfade. | |||
</pre> | </pre> | ||
<!-- | |||
<pre> | <pre> | ||
server { | server { | ||
listen 443 ssl; | listen 443 ssl; | ||
server_name | server_name cp.uugrn.org; | ||
access_log /var/log/nginx/ | access_log /var/log/nginx/cp.uugrn.org.access.log; | ||
error_log /var/log/nginx/ | error_log /var/log/nginx/cp.uugrn.org.error.log; | ||
ssl_certificate /etc/letsencrypt/live/ | ssl_certificate /etc/letsencrypt/live/cp.uugrn.org/fullchain.pem; | ||
ssl_certificate_key /etc/letsencrypt/live/ | ssl_certificate_key /etc/letsencrypt/live/cp.uugrn.org/privkey.pem; | ||
include /etc/letsencrypt/options-ssl-nginx.conf; | include /etc/letsencrypt/options-ssl-nginx.conf; | ||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; | ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; | ||
</pre> | |||
--> | |||
===== Anpassungen als CryptPad Benutzer ===== | |||
<pre> | |||
su - cryptpad | |||
cd ~/cryptpad | |||
mkdir customize | |||
cp customize.dist/application_config.js customize/ | |||
cp www/common/application_config_internal.js customize/application_config.js | |||
nano customize/application_config.js | |||
</pre> | |||
Ohne Anmeldung dürfen Pads und Dokumente erstellt werden. Sie werden nach 90 Tagen automatisch gelöscht. Es kann auf geteilte Dokumente zugegriffen werden. | |||
<pre> | |||
AppConfig.disableAnonymousStore = true; | |||
AppConfig.disableAnonymousPadCreation = false; | |||
</pre> | </pre> | ||
Nach einem Neustart von cryptpad und nginx sollte sich die Seite aufrufen lassen: | |||
https://cp.uugrn.org/ | |||
Nun ein Benutzerkonto einrichten und in der Konfiguration als Administrator eintragen. | |||
===== Benutzerkonto Administrator-Rechte geben ===== | |||
1. öffentlichen Schlüssel kopieren. benutzereinstellungen. | |||
2. Datei bearbeiten /home/cryptpad/cryptpad/config/config.js. | |||
3. Diese stelle finden und wie im Beispiel Benutzer hinzufügen: | |||
<pre> | <pre> | ||
adminKeys: [ | |||
"[cryptpad-user1@my.awesome.website/YZgXQxKR0Rcb6r6CmxHPdAGLVludrAF2lEnkbx1vVOo=]", | |||
< | ], | ||
</pre> | |||
3. CryptPad Server neu starten. | |||
Registrierung deaktivieren | |||
<pre> | |||
https://cryptpad.mydomain.com/admin/#users | |||
</pre> | </pre> | ||
Mehr https://docs.cryptpad.org/en/admin_guide/customization.html#restricting-guest-access |
Aktuelle Version vom 7. Januar 2025, 21:16 Uhr
- Admin Kontakt
- sh[at]uugrn.org
- Hostname
- cp.uugrn.org
- Aufgabe
- Plattform für Echtzeit-Er-/Bearbeitung von Texten, Tabellen, Präsentationen, Kanban, Terminfindung…
Beschreibung[Bearbeiten]
Ein CryptPad sind Inhalte, die gemeinsam und gleichzeitig (kollaborativ) erarbeitet werden können. Im Vergleich zu Etherpad sind die Inhalte verschlüsselt auf dem Server gespeichert. Die Software ermöglicht das Erstellen und Bearbeiten von Inhalten mit mehreren Personen gleichzeitig. Es gibt verschiedene Dokumenttypen.
Admin Log[Bearbeiten]
- Betriebsystem: Debian
- Webserver: NGINX
- Produktiv seit: 06.01.2025
- URL: https://cp.uugrn.org/
Install Log[Bearbeiten]
OS: Debian (12) Hetzner cx22, 2 CPU, 40 GB SSD, 4 GB Ram
Installierte Software
- cryptpad 2024-12-0
- nginx (als reverse proxy)
Anleitung:
Diagnose: https://cp.uugrn.org/checkup/
Vorbereitungen[Bearbeiten]
2 Domains werden benötigt die beide auf den Server zeigen cp.uugrn.org sandboxcp.uugrn.org (für erweiterten Schutz gegen CSS) apt install -y curl curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh bash nodesource_setup.sh apt install -y nodejs
Benutzer anlegen[Bearbeiten]
useradd -m cryptpad -s /bin/bash
CryptPad läuft unter dem Benutzer „cryptpad“.
Das Home-Verzeichnis ist /home/cryptpad/cryptpad.
CryptPad installieren[Bearbeiten]
su - cryptpad git clone https://github.com/cryptpad/cryptpad.git cryptpad cd cryptpad npm ci npm run install:components ./install-onlyoffice.sh # Beispielkonfiguration an den richtigen Ort kopieren cp config/config.example.js config/config.js # Konfiguration anpassen nano config/config.js # httpUnsafeOrigin: 'https://cp.uugrn.org', # httpSafeOrigin: 'https://sandboxcp.uugrn.org', # cryptpad als Service eintragen # als Root wget https://raw.githubusercontent.com/cryptpad/cryptpad/main/docs/cryptpad.service -O /etc/systemd/system/cryptpad.service # Dienst aktivieren systemctl enable --now cryptpad systemctl start cryptpad # Starten des Dienstes systemctl status cryptpad # Info über den Dienst systemctl stop cryptpad # Stoppen des Dienstes systemctl restart cryptpad # Neustarten des Dienstes ss -ant # hier kann man schauen, ob am Port 3000 und 3001 Verbindungen akzeptiert werden
NGINX installieren[Bearbeiten]
sudo apt install nginx mkdir -p /etc/nginx openssl dhparam -out /etc/nginx/dhparam.pem 4096 # Generierung dauert eine ganze Weile. Abwarten, bis beendet.
Let's Encrypt installieren und Zertifikat generieren[Bearbeiten]
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx certonly -d cp.uugrn.org -d sandboxcp.uugrn.org sudo systemctl enable certbot.timer Certificate is saved at: /etc/letsencrypt/live/cp.uugrn.org/fullchain.pem Key is saved at: /etc/letsencrypt/live/cp.uugrn.org/privkey.pem
NGINX konfigurieren[Bearbeiten]
wget https://raw.githubusercontent.com/cryptpad/cryptpad/main/docs/example.nginx.conf -O /etc/nginx/conf.d/cryptpad.conf Anschließend die Datei bearbeiten. Domains eintragen und die Lets-Encrypt-Pfade.
Anpassungen als CryptPad Benutzer[Bearbeiten]
su - cryptpad cd ~/cryptpad mkdir customize cp customize.dist/application_config.js customize/ cp www/common/application_config_internal.js customize/application_config.js nano customize/application_config.js
Ohne Anmeldung dürfen Pads und Dokumente erstellt werden. Sie werden nach 90 Tagen automatisch gelöscht. Es kann auf geteilte Dokumente zugegriffen werden.
AppConfig.disableAnonymousStore = true; AppConfig.disableAnonymousPadCreation = false;
Nach einem Neustart von cryptpad und nginx sollte sich die Seite aufrufen lassen: https://cp.uugrn.org/
Nun ein Benutzerkonto einrichten und in der Konfiguration als Administrator eintragen.
Benutzerkonto Administrator-Rechte geben[Bearbeiten]
1. öffentlichen Schlüssel kopieren. benutzereinstellungen. 2. Datei bearbeiten /home/cryptpad/cryptpad/config/config.js. 3. Diese stelle finden und wie im Beispiel Benutzer hinzufügen:
adminKeys: [ "[cryptpad-user1@my.awesome.website/YZgXQxKR0Rcb6r6CmxHPdAGLVludrAF2lEnkbx1vVOo=]", ],
3. CryptPad Server neu starten.
Registrierung deaktivieren
https://cryptpad.mydomain.com/admin/#users
Mehr https://docs.cryptpad.org/en/admin_guide/customization.html#restricting-guest-access