Wiki-Quellcode von Installation Nextcloud mit pgsql13 als Datenbank-Container
Zuletzt geändert von Clemens Dörfler am 2023/05/15 13:16
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | Mit den nachfolgenden Schritten können Sie eine neue Nextcloud Instanz auf einem Server mit dem Datenbank-Container pgsql13 installieren. | ||
2 | |||
3 | |||
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. | ||
5 | |||
6 | |||
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 | |||
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 | |||
26 | # Falls gewünscht | ||
27 | [Guest collabora-g1] | ||
28 | Ensure running | ||
29 | |||
30 | # Falls noch nicht vorhanden und Nextcloud | ||
31 | # im Internet freigeschaltet werden soll | ||
32 | [Guest rev-proxy] | ||
33 | Ensure running | ||
34 | {{/code}} | ||
35 | |||
36 | Übernehmen Sie die Änderungen ins Git mit folgenden Befehlen: | ||
37 | |||
38 | {{code language="bash"}} | ||
39 | root@puppeteer:~ # cd /etc/logodidact | ||
40 | root@puppeteer:/etc/logodidact # git add . | ||
41 | root@puppeteer:/etc/logodidact # git commit -am "Aktivierung von Nextcloud und Collabora in der guest.conf." | ||
42 | {{/code}} | ||
43 | |||
44 | |||
45 | **3.** Kopieren Sie die Konfigurationsdateien **nextcloud-g1.yaml** und ggf. **collabora.yaml** aus dem Template-Verzeichnis: | ||
46 | |||
47 | Bei einer Nextcloud Nutzung mit Collabora kopieren Sie die beiden Dateien mit folgenden Befehl: | ||
48 | |||
49 | {{code language="bash"}} | ||
50 | root@puppeteer: # cp /usr/share/doc/ld-puppet10/templates/cloud/with_collabora/custom.d/* /etc/logodidact/hiera/custom.d/ | ||
51 | {{/code}} | ||
52 | |||
53 | |||
54 | Sollten Sie nur die Nextcloud (ohne Dokumentenserver Collabora) nutzen wollen, führen Sie folgenden Befehl aus: | ||
55 | |||
56 | {{code language="bash"}} | ||
57 | root@puppeteer: # cp /usr/share/doc/ld-puppet10/templates/cloud/without_collabora/custom.d/nextcloud-g1.yaml /etc/logodidact/hiera/custom.d/ | ||
58 | {{/code}} | ||
59 | |||
60 | |||
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. | ||
62 | |||
63 | {{code language="bash"}} | ||
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 | |||
74 | **5.** Bearbeiten Sie die **nextcloud-g1.yaml** und fügen Sie die ersten beiden Abschnitte hinzu, um pgsql13 als Datenbank-Host festzulegen. | ||
75 | |||
76 | Passen Sie außerdem in den späteren Abschnitten die Platzhalter **"ShortName"** auf den Shortname Ihrer Schule an. | ||
77 | |||
78 | {{code language="bash"}} | ||
79 | root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/nextcloud-g1.yaml | ||
80 | {{/code}} | ||
81 | |||
82 | {{code language="bash"}} | ||
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 | ||
92 | |||
93 | ld_nextcloud::config::system: | ||
94 | trusted_domains: | ||
95 | - nextcloud.ShortName.logoip.de | ||
96 | |||
97 | ld_nextcloud::config::app: | ||
98 | richdocuments.wopi_url: | ||
99 | value: 'https://collabora.ShortName.logoip.de' | ||
100 | {{/code}} | ||
101 | |||
102 | |||
103 | **6.** Übernehmen Sie die Änderungen ins Git: | ||
104 | |||
105 | {{code language="bash"}} | ||
106 | root@puppeteer:~ # cd /etc/logodidact | ||
107 | root@puppeteer:/etc/logodidact # git add . | ||
108 | root@puppeteer:/etc/logodidact # git commit -am "nextcloud-g1.yaml angepasst." | ||
109 | {{/code}} | ||
110 | |||
111 | |||
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 | |||
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: | ||
116 | |||
117 | Wechseln Sie in den Puppeteer: | ||
118 | |||
119 | {{code language="bash"}} | ||
120 | root@ldhost:~ # lxc-ssh -n puppeteer | ||
121 | {{/code}} | ||
122 | |||
123 | Fügen Sie folgende Zeilen in die **revproxy.conf **ein und tauschen die Platzhalter** "SCHULKUERZEL" **durch den jeweiligen Shortname Ihrer Schule: | ||
124 | |||
125 | {{code language="bash"}} | ||
126 | root@puppeteer:~ # vim /etc/logodidact/hosts/rev-proxy/revproxy.conf | ||
127 | {{/code}} | ||
128 | |||
129 | {{code language="bash"}} | ||
130 | [ReverseProxy nextcloud.SCHULKUERZEL.logoip.de] | ||
131 | Url https://nextcloud | ||
132 | |||
133 | # Falls gewünscht | ||
134 | [ReverseProxy collabora.SCHULKUERZEL.logoip.de] | ||
135 | Url https://collabora | ||
136 | {{/code}} | ||
137 | |||
138 | |||
139 | Übernehmen Sie die Änderungen ins Git: | ||
140 | |||
141 | {{code language="bash"}} | ||
142 | root@puppeteer:~ # cd /etc/logodidact | ||
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." | ||
145 | {{/code}} | ||
146 | |||
147 | |||
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: | ||
149 | |||
150 | |||
151 | ===== __acmetool__ ===== | ||
152 | |||
153 | Wechseln Sie in den puppeteer Container: | ||
154 | |||
155 | {{code language="bash"}} | ||
156 | root@ldhost:~ # lxc-ssh -n puppeteer | ||
157 | {{/code}} | ||
158 | |||
159 | |||
160 | Fordern Sie die Zertifikate für die Nextcloud und Collabora Adressen mit folgendem Befehl an (Ersetzen Sie **"SCHULKUERZEL"** mit dem jeweiligen Shortname): | ||
161 | |||
162 | {{code language="bash"}} | ||
163 | root@puppeteer:~ # acmetool want nextcloud.SCHULKUERZEL.logoip.de | ||
164 | |||
165 | # Falls gewünscht | ||
166 | root@puppeteer:~ # acmetool want collabora.SCHULKUERZEL.logoip.de | ||
167 | {{/code}} | ||
168 | |||
169 | ===== ===== | ||
170 | |||
171 | ===== ===== | ||
172 | |||
173 | |||
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 | |||
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 | |||
197 | Beantragen Sie ein neues Zertifikat mit folgendem Befehl (Ersetzen Sie **"SCHULKUERZEL"** mit dem jeweiligen Shortname): | ||
198 | |||
199 | {{code language="bash"}} | ||
200 | le-acme@puppeteer:~ $ issue nextcloud.SCHULKUERZEL.logoip.de | ||
201 | |||
202 | # Falls gewünscht | ||
203 | le-acme@puppeteer:~ $ issue collabora.SCHULKUERZEL.logoip.de | ||
204 | {{/code}} | ||
205 | |||
206 | |||
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 | |||
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. | ||
210 | |||
211 | [[image:1652079923794-166.png]] | ||
212 | |||
213 | |||
214 | **11.** Zu guter Letzt können Sie die Anmeldung wie folgt überprüfen: | ||
215 | |||
216 | |||
217 | Rufen Sie in ihrem Browser folgende Adresse auf (Ersetzen Sie **"SCHULKUERZEL"** durch den Shortname): | ||
218 | |||
219 | {{code language="bash"}} | ||
220 | https://nextcloud.SCHULKUERZEL.logoip.de/ | ||
221 | {{/code}} | ||
222 | |||
223 | |||
224 | Melden Sie sich mit einem zulässigen Benutzer an, der im vorherigen Schritt als Mitglied zur Gruppe **ld-sg-nextcloud** hinzugefügt wurde: | ||
225 | |||
226 | [[image:1652080106839-833.png]] | ||
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. |