Installation Nextcloud mit pgsql13 als Datenbank-Container

Version 16.1 von Christian Germann am 2022/05/09 10:11

Mit den nachfolgenden Schritten können Sie eine neue Nextcloud Instanz auf einem Server mit dem Datenbank-Container pgsql13 installieren.

1. Stellen Sie sicher dass ihr logoDIDACT Server mindestens die Puppet-Version 1.4.0 besitzt. Dies ist für eine Verwendung des Containers pgsql13 notwendig. Ebenfalls ist der Container rev-proxy für eine Installation notwendig.

2. Aktivieren Sie die Container nextcloud-g1 ,  pgsql13 und wenn benötigt den collabora-g1 Container in der guest.conf im Puppeteer Container:

root@ldhost:~ # lxc-ssh -n puppeteer
root@puppeteer:~ # vim /etc/logodidact/hosts/ldhost/guest.conf

Ergänzen Sie die guest.conf um folgende Einträge:

[Guest nextcloud-g1]
Ensure running

[Guest pgsql13]
Ensure running

[Guest rev-proxy]
Ensure running

# Wenn benötigt
[Guest collabora-g1]
Ensure running

Übernehmen Sie die Änderungen ins git mit folgenden Befehlen:

root@puppeteer:~ # cd /etc/logodidact
root@puppeteer:~ # git add .
root@puppeteer:~ # git commit -am "Aktivierung von Nextcloud und Collabora in der guest.conf."

3. Kopieren Sie die nextcloud-g1.yaml und collabora.yaml aus dem Template Verzeichnis:

root@puppeteer:~ # cd /usr/share/doc/ld-puppet10/templates/cloud/with_collabora/custom.d/
root@puppeteer:/usr/share/doc/ld-puppet10/templates/cloud/with_collabora/custom.d # cp * /etc/logodidact/hiera/custom.d/

4. Bearbeiten Sie die collabora-g1.yaml so dass Sie den Platzhalter "ShortName" gegen den Shortname der Schule austauschen.

root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/collabora-g1.yaml
# Vorher:
---
ld_collabora::config::allowed_hosts:
  - nextcloud.ShortName.logoip.de

# Nacher:
---
ld_collabora::config::allowed_hosts:
  - nextcloud.musterstadt-gym.logoip.de

5. Bearbeiten Sie die nextcloud-g1.yaml so dass Sie die Platzhalter "ShortName" gegen den Shortname der Schule austauschen.

root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/nextcloud-g1.yaml
# Vorher
---
ld_nextcloud::config::app:
  richdocuments.wopi_url:
    value: 'https://collabora.ShortName.logoip.de'

ld_nextcloud::config::system:
  trusted_domains:
      - nextcloud.ShortName.logoip.de

# Nacher:
---
ld_nextcloud::config::app:
  richdocuments.wopi_url:
    value: 'https://collabora.musterstadt-gym.logoip.de'

ld_nextcloud::config::system:
  trusted_domains:
      - nextcloud.musterstadt-gym.logoip.de

6. Ergänzen Sie nun die nextcloud-g1.yaml um folgende Werte:

root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/nextcloud-g1.yaml
ld_nextcloud::install::params:
  admin-user: ncadmin
  database-host: &dbhost pgsql13
  database-name: &dbname nextcloud
  database-user: &dbuser nextcloud
  data-dir: /var/lib/nextcloud

ld_nextcloud::db:
  server: *dbhost

7. Übernehmen Sie die Änderungen ins git:

root@puppeteer:~ # cd /etc/logodidact
root@puppeteer:~ # git add .
root@puppeteer:~ # git commit -am "nextcloud-g1.yaml angepasst."

8. Damit die Nextcloud von außen erreichbar wird, müssen Sie folgende Einträge in der revproxy.conf setzen:

Wechseln Sie in den Puppeteer:

root@ldhost:~ # lxc-ssh -n puppeteer

Wechsel Sie in das Verzeichnis zur Konfiguration:

root@puppeteer:~ # cd /etc/logodidact/hosts/rev-proxy

Fügen Sie folgende Zeilen in die revproxy.conf ein und tauschen die Platzhalter "SCHULKUERZEL" durch den jeweiligen Shortname der Schule:

root@puppeteer:/etc/logodidact/hosts/rev-proxy # vim revproxy.conf
[ReverseProxy nextcloud.SCHULKUERZEL.logoip.de]
Url https://nextcloud

[ReverseProxy collabora.SCHULKUERZEL.logoip.de]
Url https://collabora

Übernehmen Sie die Änderungen ins Git:

root@puppeteer:~ # cd /etc/logodidact
root@puppeteer:~ # git add .
root@puppeteer:~ # git commit -am "revproxy.conf um Einträge für Nextcloud und Collabora ergänzt."

9. Nun müssen Sie Zertifikate für die Nextcloud und Collabora Adressen beantragen. Hier gibt es je nach verwendetem Programm (acmetool & acme.sh) 2 Wege:


acmetool

Wechseln Sie in den puppeteer Container:

root@ldhost:~ # lxc-ssh -n puppeteer

Fordern Sie die Zertifikate für die Nextcloud und Collabora Adressen mit folgendem Befehl an (Ersetzen Sie "SCHULKUERZEL" mit dem jeweiligen Shortname):

root@puppeteer:~ # acmetool want nextcloud.SCHULKUERZEL.logoip.de
root@puppeteer:~ # acmetool want collabora.SCHULKUERZEL.logoip.de

acme.sh

Wechseln Sie in den puppeteer Container:

root@ldhost:~ # lxc-ssh -n puppeteer

Wechseln Sie im puppeteer Container in die Umgebung für das Verwalten der Zertifikate:

root@puppeteer:~ # sle

Beantragen Sie ein neues Zertifikat mit folgendem Befehl (Ersetzen Sie "SCHULKUERZEL" mit dem jeweiligen Shortname):

le-acme@puppeteer:~ $ issue nextcloud.SCHULKUERZEL.logoip.de
le-acme@puppeteer:~ $ issue collabora.SCHULKUERZEL.logoip.de

10. Um Nutzern Zugriff auf die Nextcloud zu ermöglichen muss in der logoDIDACT-Console eine Rolle mit dem Namen "ld-sg-nextcloud" erstellen werden. Fügen Sie Benutzer der Rolle ld-sg-nextcloud hinzu. Ohne diesen Schritt bekommt kein Nutzer Zugriff auf die Plattform.

1652079923794-166.png

11. Zu guter Letzt können Sie die Anmeldung wie folgt überprüfen:

Rufen Sie in ihrem Browser folgende Adresse auf (Ersetzen Sie "SCHULKUERZEL" durch den Shortname):

https://nextcloud.SCHULKUERZEL.logoip.de/

Melden Sie sich mit einem zur Gruppe hinzugefügtem Benutzer an:

1652080106839-833.png