Installation auf Proxmox LXC-Container und extra Reverse Proxy

Hallo zusammen,

ich habe den Libre-Workspace mal unter Proxmox in einem LXC-Container mit Debian 12 ausprobiert. Nach Anleitung der Doku “Installation on an existing Debian or Ubuntu system”.

Beim direkten Zugriff auf die IP des Servers begrüßt mich auch der Assistent. Nun möchte ich aber meinen bereits bestehenden Nginx Proxy Manager im selben Netzwerk mit einem festen DNS-Hostnamen und letsencrypt-Zertifiket benutzen statt Caddy, und das klappt nicht, es kommt immer “Bad Request (400)”. Ich habe am Caddy nichts verändert, einfach einen zweiten reverse proxy davor geschaltet.

Habe den Artikel zum nginx proxy gelesen, der hilft aber nicht wirklich. Kann jemand helfen?

Stefan

OK war ne blöde Idee. Habe jetzt den Assistenten ausgeführt und als öffentliche Domain installiert. Habe eine öffentliche Domain die aber auf intere IPs zeigt. Dann habe ich meinen NPM so eingerichtet, dass er auf die IP des LW-servers zeigt mit dem Namen “portal.domain”.
Mal schaun ob das geht.

“portal.domain” zeigt im NPM auf die server-ip:443, das funktioniert jetzt.

OK bin jetzt auf “portal.domain.tld” und sehe die Dienste. Nun bin ich auf die “Benutzer Verwaltung” gegangen, da begrüßt mich folgender Prompt:

Was mache ich falsch? Die Hostnamen habe ich auf dem NPM angelegt wie hier beschrieben:

    oder verwenden Sie folgende Subdomains und stellen folgende DNS-Einträge sicher:
    Typ: A | Name: cloud | Ziel: IP-Adresses dieses Servers
    Typ: A | Name: office | Ziel: IP-Adresses dieses Servers
    Typ: A | Name: portal | Ziel: IP-Adresses dieses Servers
    Typ: A | Name: la | Ziel: IP-Adresses dieses Servers
    Typ: A | Name: chat | Ziel: IP-Adresses dieses Servers
    Typ: A | Name: meet | Ziel: IP-Adresses dieses Servers
    Typ: A | Name: element | Ziel: IP-Adresses dieses Servers
    Typ: A | Name: matrix | Ziel: IP-Adresses dieses Servers

Wie kann ich die Konfigration updaten, ich möchte keinen LDAP-Server verwenden. Datei cfg editieren oder muß ich neu installieren?

Wenn ich neu installiere, wie kann ich die manuelle Konfiguration und Installation des LW anstoßen, Assistenten auslassen, cfg und env.sh editieren, und dann “systemctl enable linux-arbeitsplatz-unix --now”? Habe ich die Doku richtig verstanden?

Stefan

OK ich glaube es gibt keine manuelle Installation, entweder über den Assistenten oder komplett alles manuell. Hmm, würde ich mir anders wünschen.

Kann mir jemand was zu obiger Fehlermeldung sagen bei der öffentlichen Installation mit “domain.tld”?
In der cfg steht (unter anderem):

export AUTH_LDAP_SERVER_URI="ldaps://la.domain.tld"

In der /etc/hosts steht unter anderem zusammen mit den anderen Hostnamen:

ip la.domain.tld

ping geht auch.

OK da ist kein LDAP port 389 offen und samba läuft auch nicht, wird anscheinend immer wieder neu gestartet laut “log.smbd”. Woran kann das liegen?

Bei auf log level 10 von samba kommt folgende Fehlermeldung in “log.smb”: Initial schema load needed, as we have no existing schema, seq_num: 1

Nach einem

samba-tool dbcheck --cross-ncs --fix

Ist der Fehler weg, aber keine Besserung.

So in der log.samba war jetzt folgender Fehler:

[2024/07/08 12:54:27.708230,  1] ../../auth/credentials/credentials_secrets.c:426(cli_credentials_set_machine_account_db_ctx)
  Could not find machine account in secrets database: Failed to fetch machine account password for LA.DOMAIN.TLD from both secrets.ldb (Could not find entry to match filter: '(&(flatname=LA.DOMAIN.TLD)(objectclass=primaryDomain))' base: 'cn=Primary Domains': No such object: dsdb_search at ../../source4/dsdb/common/util.c:5176) and from /var/lib/samba/private/secrets.tdb: NT_STATUS_CANT_ACCESS_DOMAIN_INFO
[2024/07/08 12:54:27.708297,  0] ../../source4/samba/service_task.c:36(task_server_terminate)
  task_server_terminate: task_server_terminate: [Failed to obtain server credentials, perhaps a standalone server?: NT_STATUS_CANT_ACCESS_DOMAIN_INFO

bug siehe Samba Link oder was ganz anderes? Hat der Author von Libre Workspace da ein Idee?

So habe den Libre Workspace nochmal ganz neu installiert mit öffentlicher Domain aber interner IP und hinter dem Nginx Proxy Manager, folgendes steht im “log.samba”:

[2024/07/10 14:52:39.567700,  0] ../../source4/samba/server.c:621(binary_smbd_main)
  samba version 4.17.12-Debian started.
  Copyright Andrew Tridgell and the Samba Team 1992-2022
[2024/07/10 14:52:39.567879,  0] ../../lib/util/become_daemon.c:150(daemon_status)
  daemon_status: daemon 'samba' : Starting process...
[2024/07/10 14:52:39.660499,  0] ../../source4/samba/server.c:897(binary_smbd_main)
  binary_smbd_main: samba: using 'prefork' process model
[2024/07/10 14:52:39.693414,  0] ../../source4/lib/tls/tlscert.c:55(tls_cert_generate)
  TLS autogeneration skipped - some TLS files already exist
[2024/07/10 14:52:39.819243,  0] ../../source4/samba/service_task.c:36(task_server_terminate)
  task_server_terminate: task_server_terminate: [Failed to obtain server credentials, perhaps a standalone server?: NT_STATUS_CANT_ACCESS_DOMAIN_INFO
  ]
[2024/07/10 14:52:39.824605,  0] ../../source4/samba/server.c:391(samba_terminate)
  samba_terminate: samba_terminate of samba 12659: Failed to obtain server credentials, perhaps a standalone server?: NT_STATUS_CANT_ACCESS_DOMAIN_INFO

[2024/07/10 14:53:39.900927,  0] ../../source4/samba/server.c:621(binary_smbd_main)
  samba version 4.17.12-Debian started.
  Copyright Andrew Tridgell and the Samba Team 1992-2022
[2024/07/10 14:53:39.901081,  0] ../../lib/util/become_daemon.c:150(daemon_status)
  daemon_status: daemon 'samba' : Starting process...
[2024/07/10 14:53:39.992541,  0] ../../source4/samba/server.c:897(binary_smbd_main)
  binary_smbd_main: samba: using 'prefork' process model
[2024/07/10 14:53:40.033588,  0] ../../source4/lib/tls/tlscert.c:55(tls_cert_generate)
  TLS autogeneration skipped - some TLS files already exist
[2024/07/10 14:53:40.157602,  0] ../../source4/samba/service_task.c:36(task_server_terminate)
  task_server_terminate: task_server_terminate: [Failed to obtain server credentials, perhaps a standalone server?: NT_STATUS_CANT_ACCESS_DOMAIN_INFO
  ]
[2024/07/10 14:53:40.159392,  0] ../../source4/samba/server.c:391(samba_terminate)
  samba_terminate: samba_terminate of samba 12867: Failed to obtain server credentials, perhaps a standalone server?: NT_STATUS_CANT_ACCESS_DOMAIN_INFO

Da ist was faul mit den credentials, die habe ich bisher nur beim Assistenten ganz am Anfang eingegeben. Der Login-Prompt beim Klick auf die Benutzer-Verwaltung im Portal wenn die Installation fertig ist sieht so aus:

Jemand ne Idee?

Fehler gefunden: Der LXC-Container unter Proxmox muss als “privileged” laufen, was ein potentielles Sicherheitsrisiko ist. Also muss ich doch auf eine VM ausweichen…

Installation als VM auf Proxmox geglückt, habe zwei virtuelle Festplatten benutzt, eine für / und eine für /data. Portal und Dienste sind benutzbar. Sieht gut aus.

Ich versuche mal auf die offenen Fragen zu reagieren:

Es reicht aus, wenn Du dafür in der cfg die AUTH_LDAP_SERVER_URI auf “” setzt. (Leer setzt)

Es gibt keine “manuelle Konfiguration”, die man “anstoßen” kann. Wenn Du die cfg und die env.sh editierst, stellst Du das Portal dementsprechend ein.
Der automatische Assistent macht genau das und führt dann mit diesen Variablen (vor allem in der env.sh) die setup-Skripts aus.

Das widerspricht sich doch selbst. Manuell ist eben manuell. Was soll der denn so eine Funktion Deiner Meinung nach können?

Gut zu wissen :slight_smile:

Generell bei Webserver-Fragen (auch für den reverse proxy) könnte dieser Abschnitt in der Dokumentation helfen: General Administration

[quote=“Jean, post:10, topic:60, full:true”]
Ich versuche mal auf die offenen Fragen zu reagieren:

Danke für Deine Antwort

Es reicht aus, wenn Du dafür in der cfg die AUTH_LDAP_SERVER_URI auf “” setzt. (Leer setzt)

Ja das hatte ich so verstanden

Es gibt keine “manuelle Konfiguration”, die man “anstoßen” kann. Wenn Du die cfg und die env.sh editierst, stellst Du das Portal dementsprechend ein.
Der automatische Assistent macht genau das und führt dann mit diesen Variablen (vor allem in der env.sh) die setup-Skripts aus.

Das ist je gerade meine Frage, was stößt nach Anpassen der cfg und der env.sh den Installations-Prozess an? Wie startet man die Setup-Scripte?

Das widerspricht sich doch selbst. Manuell ist eben manuell. Was soll der denn so eine Funktion Deiner Meinung nach können?

Siehe oben, setup-Scripte starten…

Das ist dann der “Installieren” Button unter Sytemkonfiguration → Module. Die machen genau das.

Geht das auch irgendwie auf der shell?

Klar. Bspw. Für Nextcloud und Jitsi:

cd /usr/share/linux-arbeitsplatz/unix/unix_scripts/
. env.sh
bash nextcloud/setup_nextcloud.sh
bash jitsi/setup_jitsi.sh