Maschinenraum/cp.uugrn.org: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
Cronjob ergänzt |
||
| (10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 6: | Zeile 6: | ||
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. | 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. | ||
[https://gnulinux.ch/cryptpad-zusammen-an-dokumenten-arbeiten Anleitung an Dokumenten arbeiten] | |||
===== Dokumentation und Unterstützung ===== | |||
[https://cryptpad. | * [https://docs.cryptpad.org/en/admin_guide Adminguide], [https://docs.cryptpad.org/en/admin_guide/installation.html Installation], [https://docs.cryptpad.org/en/admin_guide/maintenance.html Wartung] | ||
* [https://forum.cryptpad.org/ Cryptpad Forum] | |||
* [https://matrix.to/#/#cryptpad-admins:matrix.xwiki.com Cryptpad Matrix Kanal] | |||
==== CryptPad aktualisieren ==== | |||
Wartungsarbeiten über die Mailingliste, IRC und Matrix ankündigen. | |||
Prüfen, ob es eine Aktualisierung gibt: [https://github.com/cryptpad/cryptpad/releases Releasenotes] geben Hinweise zum Update von Version zu Version. | |||
Was steht an: [https://github.com/cryptpad/cryptpad/milestones Plan für künfünftige Veröffentlichtungen]. [https://cryptpad.fr/kanban/#/2/kanban/view/PLM0C3tFWvYhd+EPzXrbT+NxB76Z5DtZhAA5W5hG9wo/ Kanban der öffentlichen Roadmap]. | |||
Diagnoseseite prüfen: https://cp.uugrn.org/checkup/ | |||
Prüfen was auf dem Server gerade los ist: | |||
Liste aller laufenden Prozesse azeigen | |||
<pre> | |||
ps aux | |||
ps aux | grep nginx | |||
</pre> | |||
Aktive Verbindungen und Sockets anzeigen | |||
<pre> | |||
ss -ant | |||
#nur hörende Verbindungen | |||
ss -lt | |||
# udp und tcp | |||
ss -anut | |||
</pre> | |||
Logs anzeigen allgemein und ausgaben zu Cryptpad prüfen | |||
<pre> | |||
journalctl -f | |||
journalctl -u cryptpad -f | |||
</pre> | |||
Aktive Verbindungen prüfen | |||
<pre> | |||
# Zugriffsprotokolldatei von NGINX | |||
sudo tail -f /var/log/nginx/access.log | |||
# Welche IPs sind aktiv? | |||
sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head | |||
# Zeigt alle Prozesse, die gerade eine aktive Verbindung zum TCP-Port 3000 haben | |||
sudo lsof -i :3000 -i :3001 | grep ESTABLISHED | |||
# alternativ | |||
sudo lsof -i | egrep ':3000|:3001' | grep ESTABLISHED | |||
# gibt es aktive Verbindungen auf den Ports 3000 und 3001 | |||
ss -antp | egrep ':3000|:3001' | grep ESTABLISHED | |||
</pre> | |||
Per ssh mit der Konsole des Servers bei Hetzner verbinden: | |||
<pre> | <pre> | ||
ssh -4 -i ./.ssh/ssh-rsa-private-4096-key root@cp.uugrn.org | |||
</pre> | |||
Sicherung anlegen (als root im Ordner /root) und Aktualisierung Debian: | |||
<pre> | |||
# Prüfung und Installation von Debian Updates | |||
apt update | |||
apt upgrade | |||
# Gegebenenfalls Neustart des Servers einplanen. | |||
#Server stoppen | |||
sudo systemctl stop cryptpad | |||
#Sichern | |||
tar czf ~/cryptpad-backup-$(date +%F).tar.gz /home/cryptpad/cryptpad | |||
#Server wieder starten oder gleich das Update nachziehen | |||
sudo systemctl start cryptpad | |||
</pre> | |||
--- | |||
Server als root stoppen | |||
sudo systemctl start cryptpad | |||
Als Benutzer cryptpad, im Ordner /home/cryptpad/cryptpad arbeiten: | |||
su cryptpad | |||
cd /home/cryptpad/cryptpad | |||
Installationshinweise bei den Releasenotes ansehen! | |||
<pre> | |||
# Beispiel Autumn release (2025.9.0) | |||
git fetch --depth 1 origin tag 2025.9.0 | |||
git checkout 2025.9.0 | |||
npm ci | |||
npm run install:components | |||
./install-onlyoffice.sh | |||
npm run api | |||
npm run build | npm run build | ||
#Prüfen, gibt es Unterschiede an der Standardkonfigurationsdatei, die in die eigene Konfiguration übernommen werden müssen? | |||
diff config/config.example.js config/config.js | |||
</pre> | |||
als Benutzer root | |||
<pre> | |||
# Server starten | |||
sudo systemctl start cryptpad | |||
# Nach Änderungen den Dienst neustarten | |||
sudo systemctl restart cryptpad | |||
# Status des Dienstes ansehen | |||
sudo systemctl status cryptpad | |||
</pre> | |||
Diagnoseseite prüfen: https://cp.uugrn.org/checkup/ | |||
CryptPad lässt sich auch mittels npm starten. Vorteil: es spuckt Informationen und ggf. Fehlermeldungen aus: | |||
npm = Node Package Manager | |||
<pre> | |||
# Cryptpad Dienst starten und Logausgaben prüfen | |||
cd /home/cryptpad/cryptpad | |||
npm start | |||
</pre> | </pre> | ||
==== Admin Log ==== | ==== Admin Log ==== | ||
* | * Betriebssystem: Debian | ||
* Webserver: NGINX | * Webserver: NGINX | ||
* Produktiv seit: 06.01.2025 | * Produktiv seit: 06.01.2025 | ||
| Zeile 30: | Zeile 148: | ||
==== Install Log ==== | ==== Install Log ==== | ||
OS: Debian ( | OS: Debian (13) | ||
Hetzner cx22, 2 CPU, 40 GB SSD, 4 GB Ram | Hetzner cx22, 2 CPU, 40 GB SSD, 4 GB Ram | ||
Installierte Software | Installierte Software | ||
* cryptpad | * cryptpad: v2025.9.0) | ||
* nginx (als reverse proxy) | * nginx (als reverse proxy) | ||
| Zeile 183: | Zeile 301: | ||
Nach einem Neustart von cryptpad und nginx sollte sich die Seite aufrufen lassen: | Nach einem Neustart von cryptpad und nginx sollte sich die Seite aufrufen lassen: | ||
https://cp.uugrn.org/ | https://cp.uugrn.org/ | ||
===== Crontab als CryptPad Benutzer einrichten ===== | |||
Aufrufe zu node scripts/evict-inactive.js | |||
und node scripts/evict-archived.js | |||
Räumen alte Dokumente weg, die Benutzer ohne Konto angelegt haben und schon älter als 90 Tage sind und archivierte Dokumente. | |||
<pre> | |||
su - cryptpad | |||
cd ~/cryptpad | |||
crontab -e | |||
zwei Jobs ergänzen: | |||
30 1 1,15 * * (cd cryptpad; node scripts/evict-inactive.js > /dev/null) | |||
30 1 7,22 * * (cd cryptpad; node scripts/evict-archived.js > /dev/null) | |||
</pre> | |||
Nun ein Benutzerkonto einrichten und in der Konfiguration als Administrator eintragen. | Nun ein Benutzerkonto einrichten und in der Konfiguration als Administrator eintragen. | ||
Aktuelle Version vom 9. November 2025, 19:07 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.
Anleitung an Dokumenten arbeiten
Dokumentation und Unterstützung[Bearbeiten]
CryptPad aktualisieren[Bearbeiten]
Wartungsarbeiten über die Mailingliste, IRC und Matrix ankündigen.
Prüfen, ob es eine Aktualisierung gibt: Releasenotes geben Hinweise zum Update von Version zu Version.
Was steht an: Plan für künfünftige Veröffentlichtungen. Kanban der öffentlichen Roadmap.
Diagnoseseite prüfen: https://cp.uugrn.org/checkup/
Prüfen was auf dem Server gerade los ist:
Liste aller laufenden Prozesse azeigen
ps aux ps aux | grep nginx
Aktive Verbindungen und Sockets anzeigen
ss -ant #nur hörende Verbindungen ss -lt # udp und tcp ss -anut
Logs anzeigen allgemein und ausgaben zu Cryptpad prüfen
journalctl -f journalctl -u cryptpad -f
Aktive Verbindungen prüfen
# Zugriffsprotokolldatei von NGINX
sudo tail -f /var/log/nginx/access.log
# Welche IPs sind aktiv?
sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head
# Zeigt alle Prozesse, die gerade eine aktive Verbindung zum TCP-Port 3000 haben
sudo lsof -i :3000 -i :3001 | grep ESTABLISHED
# alternativ
sudo lsof -i | egrep ':3000|:3001' | grep ESTABLISHED
# gibt es aktive Verbindungen auf den Ports 3000 und 3001
ss -antp | egrep ':3000|:3001' | grep ESTABLISHED
Per ssh mit der Konsole des Servers bei Hetzner verbinden:
ssh -4 -i ./.ssh/ssh-rsa-private-4096-key root@cp.uugrn.org
Sicherung anlegen (als root im Ordner /root) und Aktualisierung Debian:
# Prüfung und Installation von Debian Updates apt update apt upgrade # Gegebenenfalls Neustart des Servers einplanen. #Server stoppen sudo systemctl stop cryptpad #Sichern tar czf ~/cryptpad-backup-$(date +%F).tar.gz /home/cryptpad/cryptpad #Server wieder starten oder gleich das Update nachziehen sudo systemctl start cryptpad
---
Server als root stoppen
sudo systemctl start cryptpad
Als Benutzer cryptpad, im Ordner /home/cryptpad/cryptpad arbeiten:
su cryptpad
cd /home/cryptpad/cryptpad
Installationshinweise bei den Releasenotes ansehen!
# Beispiel Autumn release (2025.9.0) git fetch --depth 1 origin tag 2025.9.0 git checkout 2025.9.0 npm ci npm run install:components ./install-onlyoffice.sh npm run api npm run build #Prüfen, gibt es Unterschiede an der Standardkonfigurationsdatei, die in die eigene Konfiguration übernommen werden müssen? diff config/config.example.js config/config.js
als Benutzer root
# Server starten sudo systemctl start cryptpad # Nach Änderungen den Dienst neustarten sudo systemctl restart cryptpad # Status des Dienstes ansehen sudo systemctl status cryptpad
Diagnoseseite prüfen: https://cp.uugrn.org/checkup/
CryptPad lässt sich auch mittels npm starten. Vorteil: es spuckt Informationen und ggf. Fehlermeldungen aus:
npm = Node Package Manager
# Cryptpad Dienst starten und Logausgaben prüfen cd /home/cryptpad/cryptpad npm start
Admin Log[Bearbeiten]
- Betriebssystem: Debian
- Webserver: NGINX
- Produktiv seit: 06.01.2025
- URL: https://cp.uugrn.org/
Install Log[Bearbeiten]
OS: Debian (13) Hetzner cx22, 2 CPU, 40 GB SSD, 4 GB Ram
Installierte Software
- cryptpad: v2025.9.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/
Crontab als CryptPad Benutzer einrichten[Bearbeiten]
Aufrufe zu node scripts/evict-inactive.js
und node scripts/evict-archived.js
Räumen alte Dokumente weg, die Benutzer ohne Konto angelegt haben und schon älter als 90 Tage sind und archivierte Dokumente.
su - cryptpad cd ~/cryptpad crontab -e zwei Jobs ergänzen: 30 1 1,15 * * (cd cryptpad; node scripts/evict-inactive.js > /dev/null) 30 1 7,22 * * (cd cryptpad; node scripts/evict-archived.js > /dev/null)
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