Installation Nextcloud mit pgsql13 als Datenbank-Container

Version 17.1 von Christian Germann am 2022/05/09 10:23

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 Aktivierung des Containers pgsql13 notwendig.

2. Aktivieren Sie die Container nextcloud-g1 ,  pgsql13 und falls gewünscht 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

# Falls gewünscht
[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:

# Beide Varianten - mit und ohne Collabora

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 Ihrer Schule austauschen.

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

5. Bearbeiten Sie die nextcloud-g1.yaml und fügen Sie die ersten beiden Abschnitte hinzu, um pgsql13 als Datenbank zu verwenden.

Passen Sie ausserdem die Platzhalter "ShortName" gegen den Shortname Ihrer Schule an.

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

ld_nextcloud::config::app:
  richdocuments.wopi_url:
    value: 'https://collabora.ShortName.logoip.de'

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

6. Übernehmen Sie die Änderungen ins git:

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

7. Damit die Nextcloud von außen erreichbar wird, müssen Sie den Rev-Proxy Container aktiviert haben und folgende Einträge in der revproxy.conf setzen:

Wechseln Sie in den Puppeteer:

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

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

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

# Falls gewünscht
[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 sollten Sie Zertifikate für die Nextcloud und evlt. Collabora Adressen beantragen. Hier gibt es je nach verwendetem Programm (acmetool & acme.sh) zwei 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

# Falls gewünscht
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

# Falls gewünscht
le-acme@puppeteer:~ $ issue collabora.SCHULKUERZEL.logoip.de

# Link zu Splitdns

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. Nur Nutzer in dieser Gruppe können sich an der Nextcloud-Platform anmelden, es kann bis zu 5-Minuten dauern bis die Aktivierung erfolgt.

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