Wiki-Quellcode von Installation Nextcloud mit pgsql13 als Datenbank-Container
Zuletzt geändert von Clemens Dörfler am 2023/05/15 13:16
Verstecke letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | Mit den nachfolgenden Schritten können Sie eine neue Nextcloud Instanz auf einem Server mit dem Datenbank-Container pgsql13 installieren. |
2 | |||
![]() |
2.2 | 3 | |
![]() |
32.1 | 4 | **1.** Stellen Sie sicher dass ihr LogoDIDACT Server mindestens die Puppet-Version 1.4.0 besitzt. Dies ist für eine Aktivierung des Datenbank-Containers {{code language="bash"}}pgsql13{{/code}} notwendig. |
![]() |
4.1 | 5 | |
![]() |
2.2 | 6 | |
![]() |
17.1 | 7 | **2.** Aktivieren Sie die Container {{code language="bash"}}nextcloud-g1{{/code}} , {{code language="bash"}}pgsql13{{/code}} und falls gewünscht den {{code language="bash"}}collabora-g1{{/code}} Container in der guest.conf im Puppeteer Container: |
8 | |||
![]() |
2.2 | 9 | {{code language="bash"}} |
10 | root@ldhost:~ # lxc-ssh -n puppeteer | ||
11 | {{/code}} | ||
12 | |||
13 | {{code language="bash"}} | ||
14 | root@puppeteer:~ # vim /etc/logodidact/hosts/ldhost/guest.conf | ||
15 | {{/code}} | ||
16 | |||
17 | Ergänzen Sie die guest.conf um folgende Einträge: | ||
18 | |||
19 | {{code language="bash"}} | ||
20 | [Guest nextcloud-g1] | ||
21 | Ensure running | ||
22 | |||
23 | [Guest pgsql13] | ||
24 | Ensure running | ||
25 | |||
![]() |
17.1 | 26 | # Falls gewünscht |
![]() |
2.2 | 27 | [Guest collabora-g1] |
28 | Ensure running | ||
![]() |
30.1 | 29 | |
30 | # Falls noch nicht vorhanden und Nextcloud | ||
31 | # im Internet freigeschaltet werden soll | ||
32 | [Guest rev-proxy] | ||
33 | Ensure running | ||
![]() |
2.2 | 34 | {{/code}} |
35 | |||
![]() |
30.1 | 36 | Übernehmen Sie die Änderungen ins Git mit folgenden Befehlen: |
![]() |
2.2 | 37 | |
38 | {{code language="bash"}} | ||
39 | root@puppeteer:~ # cd /etc/logodidact | ||
![]() |
29.1 | 40 | root@puppeteer:/etc/logodidact # git add . |
41 | root@puppeteer:/etc/logodidact # git commit -am "Aktivierung von Nextcloud und Collabora in der guest.conf." | ||
![]() |
2.2 | 42 | {{/code}} |
43 | |||
44 | |||
![]() |
31.1 | 45 | **3.** Kopieren Sie die Konfigurationsdateien **nextcloud-g1.yaml** und ggf. **collabora.yaml** aus dem Template-Verzeichnis: |
![]() |
4.1 | 46 | |
![]() |
30.1 | 47 | Bei einer Nextcloud Nutzung mit Collabora kopieren Sie die beiden Dateien mit folgenden Befehl: |
![]() |
17.1 | 48 | |
![]() |
2.2 | 49 | {{code language="bash"}} |
![]() |
27.1 | 50 | root@puppeteer: # cp /usr/share/doc/ld-puppet10/templates/cloud/with_collabora/custom.d/* /etc/logodidact/hiera/custom.d/ |
![]() |
4.1 | 51 | {{/code}} |
52 | |||
53 | |||
![]() |
30.1 | 54 | Sollten Sie nur die Nextcloud (ohne Dokumentenserver Collabora) nutzen wollen, führen Sie folgenden Befehl aus: |
![]() |
4.1 | 55 | |
56 | {{code language="bash"}} | ||
![]() |
31.1 | 57 | root@puppeteer: # cp /usr/share/doc/ld-puppet10/templates/cloud/without_collabora/custom.d/nextcloud-g1.yaml /etc/logodidact/hiera/custom.d/ |
![]() |
20.1 | 58 | {{/code}} |
59 | |||
60 | |||
![]() |
30.1 | 61 | **4. (Führen Sie diesen Schritt nur durch, wenn Sie Collabora nutzen möchten) **Bearbeiten Sie die **collabora-g1.yaml** und tauschen Sie in Zeile 2 den Platzhalter **"ShortName"** gegen den Shortname Ihrer Schule aus. |
![]() |
20.1 | 62 | |
63 | {{code language="bash"}} | ||
![]() |
4.1 | 64 | root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/collabora-g1.yaml |
65 | {{/code}} | ||
66 | |||
67 | {{code language="bash"}} | ||
68 | ld_collabora::config::allowed_hosts: | ||
69 | - nextcloud.ShortName.logoip.de | ||
70 | |||
71 | {{/code}} | ||
72 | |||
73 | |||
![]() |
30.1 | 74 | **5.** Bearbeiten Sie die **nextcloud-g1.yaml** und fügen Sie die ersten beiden Abschnitte hinzu, um pgsql13 als Datenbank-Host festzulegen. |
![]() |
4.1 | 75 | |
![]() |
30.1 | 76 | Passen Sie außerdem in den späteren Abschnitten die Platzhalter **"ShortName"** auf den Shortname Ihrer Schule an. |
![]() |
4.1 | 77 | |
78 | {{code language="bash"}} | ||
79 | root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/nextcloud-g1.yaml | ||
80 | {{/code}} | ||
81 | |||
82 | {{code language="bash"}} | ||
![]() |
2.2 | 83 | ld_nextcloud::install::params: |
84 | admin-user: ncadmin | ||
85 | database-host: &dbhost pgsql13 | ||
86 | database-name: &dbname nextcloud | ||
87 | database-user: &dbuser nextcloud | ||
88 | data-dir: /var/lib/nextcloud | ||
89 | |||
90 | ld_nextcloud::db: | ||
91 | server: *dbhost | ||
![]() |
17.1 | 92 | |
![]() |
30.1 | 93 | ld_nextcloud::config::system: |
94 | trusted_domains: | ||
95 | - nextcloud.ShortName.logoip.de | ||
96 | |||
![]() |
17.1 | 97 | ld_nextcloud::config::app: |
98 | richdocuments.wopi_url: | ||
99 | value: 'https://collabora.ShortName.logoip.de' | ||
![]() |
4.1 | 100 | {{/code}} |
![]() |
2.2 | 101 | |
![]() |
13.1 | 102 | |
![]() |
30.1 | 103 | **6.** Übernehmen Sie die Änderungen ins Git: |
![]() |
4.1 | 104 | |
105 | {{code language="bash"}} | ||
106 | root@puppeteer:~ # cd /etc/logodidact | ||
![]() |
29.1 | 107 | root@puppeteer:/etc/logodidact # git add . |
108 | root@puppeteer:/etc/logodidact # git commit -am "nextcloud-g1.yaml angepasst." | ||
![]() |
2.2 | 109 | {{/code}} |
110 | |||
![]() |
4.1 | 111 | |
![]() |
34.1 | 112 | Damit die Nextcloud-Installation in nextcloud-g1 erfolgreich abgeschlossen werden kann muss davor ein {{code}}prun{{/code}} in pgsql13 durchgeführt werden, damit dort eine nextcloud-Datenbank erstellt wird. |
113 | |||
114 | |||
![]() |
30.1 | 115 | **7. (Führen Sie diesen Schritt nur durch, wenn Sie Nextcloud und ggf. Collabora im Internet freigeben möchten) **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: |
![]() |
4.1 | 116 | |
117 | Wechseln Sie in den Puppeteer: | ||
118 | |||
119 | {{code language="bash"}} | ||
120 | root@ldhost:~ # lxc-ssh -n puppeteer | ||
121 | {{/code}} | ||
122 | |||
![]() |
17.1 | 123 | Fügen Sie folgende Zeilen in die **revproxy.conf **ein und tauschen die Platzhalter** "SCHULKUERZEL" **durch den jeweiligen Shortname Ihrer Schule: |
![]() |
4.1 | 124 | |
125 | {{code language="bash"}} | ||
![]() |
17.1 | 126 | root@puppeteer:~ # vim /etc/logodidact/hosts/rev-proxy/revproxy.conf |
![]() |
4.1 | 127 | {{/code}} |
128 | |||
129 | {{code language="bash"}} | ||
130 | [ReverseProxy nextcloud.SCHULKUERZEL.logoip.de] | ||
131 | Url https://nextcloud | ||
132 | |||
![]() |
17.1 | 133 | # Falls gewünscht |
![]() |
7.1 | 134 | [ReverseProxy collabora.SCHULKUERZEL.logoip.de] |
![]() |
4.1 | 135 | Url https://collabora |
136 | {{/code}} | ||
137 | |||
![]() |
7.1 | 138 | |
![]() |
4.1 | 139 | Übernehmen Sie die Änderungen ins Git: |
140 | |||
141 | {{code language="bash"}} | ||
142 | root@puppeteer:~ # cd /etc/logodidact | ||
![]() |
29.1 | 143 | root@puppeteer:/etc/logodidact # git add . |
144 | root@puppeteer:/etc/logodidact # git commit -am "revproxy.conf um Einträge für Nextcloud und Collabora ergänzt." | ||
![]() |
4.1 | 145 | {{/code}} |
146 | |||
147 | |||
![]() |
17.1 | 148 | **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: |
![]() |
7.1 | 149 | |
150 | |||
![]() |
30.1 | 151 | ===== __acmetool__ ===== |
![]() |
7.1 | 152 | |
153 | Wechseln Sie in den puppeteer Container: | ||
154 | |||
155 | {{code language="bash"}} | ||
156 | root@ldhost:~ # lxc-ssh -n puppeteer | ||
157 | {{/code}} | ||
158 | |||
159 | |||
![]() |
10.1 | 160 | Fordern Sie die Zertifikate für die Nextcloud und Collabora Adressen mit folgendem Befehl an (Ersetzen Sie **"SCHULKUERZEL"** mit dem jeweiligen Shortname): |
![]() |
7.1 | 161 | |
162 | {{code language="bash"}} | ||
163 | root@puppeteer:~ # acmetool want nextcloud.SCHULKUERZEL.logoip.de | ||
![]() |
17.1 | 164 | |
165 | # Falls gewünscht | ||
![]() |
7.1 | 166 | root@puppeteer:~ # acmetool want collabora.SCHULKUERZEL.logoip.de |
167 | {{/code}} | ||
168 | |||
![]() |
8.1 | 169 | ===== ===== |
![]() |
7.1 | 170 | |
![]() |
10.1 | 171 | ===== ===== |
172 | |||
![]() |
7.1 | 173 | |
![]() |
30.1 | 174 | |
175 | (% class="box infomessage" %) | ||
176 | ((( | ||
177 | __**Tipp:**__ Sollte es bei der Nutzung des acmetools zu Problemen kommen, kann die Einrichtung von Split-DNS helfen. Eine Anleitung zur Einrichtung finden Sie unter folgender Adresse: [[Einrichtung Split-DNS>>https://kb.logodidact.com/xwiki/bin/view/Main/LD%20Server/Allgemein/Einrichtung%20Split-DNS/]] | ||
178 | ))) | ||
179 | |||
180 | |||
181 | ===== __acme.sh__ ===== | ||
182 | |||
![]() |
7.1 | 183 | Wechseln Sie in den puppeteer Container: |
184 | |||
185 | {{code language="bash"}} | ||
186 | root@ldhost:~ # lxc-ssh -n puppeteer | ||
187 | {{/code}} | ||
188 | |||
189 | |||
190 | Wechseln Sie im puppeteer Container in die Umgebung für das Verwalten der Zertifikate: | ||
191 | |||
192 | {{code language="bash"}} | ||
193 | root@puppeteer:~ # sle | ||
194 | {{/code}} | ||
195 | |||
196 | |||
![]() |
13.1 | 197 | Beantragen Sie ein neues Zertifikat mit folgendem Befehl (Ersetzen Sie **"SCHULKUERZEL"** mit dem jeweiligen Shortname): |
![]() |
7.1 | 198 | |
199 | {{code language="bash"}} | ||
200 | le-acme@puppeteer:~ $ issue nextcloud.SCHULKUERZEL.logoip.de | ||
![]() |
17.1 | 201 | |
202 | # Falls gewünscht | ||
![]() |
7.1 | 203 | le-acme@puppeteer:~ $ issue collabora.SCHULKUERZEL.logoip.de |
204 | {{/code}} | ||
205 | |||
206 | |||
![]() |
17.1 | 207 | **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. |
208 | |||
![]() |
30.1 | 209 | Fügen Sie Benutzer der Rolle ld-sg-nextcloud hinzu. Nur Nutzer in dieser Gruppe können sich später an der Nextcloud-Plattform anmelden. Es kann bis zu 5 Minuten dauern, bis die Aktivierung bei Änderungen vollzogen ist. |
![]() |
17.1 | 210 | |
![]() |
7.1 | 211 | [[image:1652079923794-166.png]] |
212 | |||
213 | |||
214 | **11.** Zu guter Letzt können Sie die Anmeldung wie folgt überprüfen: | ||
215 | |||
![]() |
10.1 | 216 | |
![]() |
13.1 | 217 | Rufen Sie in ihrem Browser folgende Adresse auf (Ersetzen Sie **"SCHULKUERZEL"** durch den Shortname): |
![]() |
7.1 | 218 | |
![]() |
10.1 | 219 | {{code language="bash"}} |
220 | https://nextcloud.SCHULKUERZEL.logoip.de/ | ||
221 | {{/code}} | ||
![]() |
7.1 | 222 | |
223 | |||
![]() |
30.1 | 224 | Melden Sie sich mit einem zulässigen Benutzer an, der im vorherigen Schritt als Mitglied zur Gruppe **ld-sg-nextcloud** hinzugefügt wurde: |
![]() |
7.1 | 225 | |
226 | [[image:1652080106839-833.png]] | ||
![]() |
30.1 | 227 | |
228 | |||
229 | Nach geglücktem Login-Vorgang stehen im Reiter **"Dateien"** automatisch die Dateien & Freigaben des Servers zur Verfügung, um die persönlichen Dokumente zu erreichen. |