Maschinenraum/cp.uugrn.org: Unterschied zwischen den Versionen

Aus UUGRN
(Installationsdoku)
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 30: Zeile 30:
* cryptpad 2024-12-0
* cryptpad 2024-12-0
* nginx (als reverse proxy)
* nginx (als reverse proxy)
CryptPad läuft unter dem Benutzer „cryptpad“.
Das Home-Verzeichnis ist /home/cryptpad/cryptpad.


Anleitung:
Anleitung:
Zeile 60: Zeile 57:
useradd -m cryptpad -s /bin/bash
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 =====
Zeile 104: Zeile 105:


mkdir -p /etc/nginx
mkdir -p /etc/nginx
openssl dhparam -out /etc/nginx/dhparam.pem 4096
openssl dhparam -out /etc/nginx/dhparam.pem 4096
# Generierung dauert eine ganze Weile. Abwarten bis beendet.
# Generierung dauert eine ganze Weile. Abwarten, bis beendet.
</pre>
</pre>


Zeile 119: Zeile 121:


<!--  
<!--  
===== Letsencrypt einrichten =====
===== Letsencrypt Erneuerung einrichten =====
<pre>
<pre>
$ cat /etc/cron.weekly/certbot.sh
$ cat /etc/cron.weekly/certbot.sh
Zeile 142: Zeile 144:


         listen      443 ssl;
         listen      443 ssl;
         server_name  pad.uugrn.org;
         server_name  cp.uugrn.org;


         access_log  /var/log/nginx/pad.uugrn.org.access.log;
         access_log  /var/log/nginx/cp.uugrn.org.access.log;
         error_log  /var/log/nginx/pad.uugrn.org.error.log;
         error_log  /var/log/nginx/cp.uugrn.org.error.log;


         ssl_certificate /etc/letsencrypt/live/pad.uugrn.org/fullchain.pem;
         ssl_certificate /etc/letsencrypt/live/cp.uugrn.org/fullchain.pem;
         ssl_certificate_key /etc/letsencrypt/live/pad.uugrn.org/privkey.pem;
         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;
Zeile 173: Zeile 175:
</pre>
</pre>


Registrierung deaktivieren
Nach einem Neustart von cryptpad und nginx sollte sich die Seite aufrufen lassen:
<pre>
https://cp.uugrn.org/
https://cryptpad.mydomain.com/admin/#users
</pre>


Mehr https://docs.cryptpad.org/en/admin_guide/customization.html#restricting-guest-access
Nun ein Benutzerkonto einrichten und in der Konfiguration als Administrator eintragen.


===== Benutzerkonto Administrator-Rechte geben =====
===== Benutzerkonto Administrator-Rechte geben =====
Zeile 191: Zeile 191:
</pre>
</pre>
  3. CryptPad Server neu starten.
  3. CryptPad Server neu starten.
Registrierung deaktivieren
<pre>
https://cryptpad.mydomain.com/admin/#users
</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]


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