Version 15.1 von David Haido am 2022/05/09 09:40

Zeige letzte Bearbeiter
1 ----
2
3 Mit den nachfolgenden Schritten können Sie eine neue Nextcloud Instanz auf einem Server mit dem Datenbank-Container pgsql13 installieren.
4
5 ----
6
7 **1.** Stellen Sie sicher dass ihr logoDIDACT Server mindestens die Puppet-Version 1.4.0 besitzt. Dies ist für eine Verwendung des Containers {{code language="bash"}}pgsql13{{/code}} notwendig. **__Ebenfalls ist der Container {{code language="bash"}}rev-proxy{{/code}} für eine Installation notwendig.__**
8
9
10 **2.** Aktivieren Sie die Container {{code language="bash"}}nextcloud-g1{{/code}} ,  {{code language="bash"}}pgsql13{{/code}} und wenn benötigt den {{code language="bash"}}collabora-g1{{/code}} Container in der guest.conf im Puppeteer Container:
11
12 {{code language="bash"}}
13 root@ldhost:~ # lxc-ssh -n puppeteer
14 {{/code}}
15
16 {{code language="bash"}}
17 root@puppeteer:~ # vim /etc/logodidact/hosts/ldhost/guest.conf
18 {{/code}}
19
20 Ergänzen Sie die guest.conf um folgende Einträge:
21
22 {{code language="bash"}}
23 [Guest nextcloud-g1]
24 Ensure running
25
26 [Guest pgsql13]
27 Ensure running
28
29 [Guest rev-proxy]
30 Ensure running
31
32 # Wenn benötigt
33 [Guest collabora-g1]
34 Ensure running
35 {{/code}}
36
37 Übernehmen Sie die Änderungen ins git mit folgenden Befehlen:
38
39 {{code language="bash"}}
40 root@puppeteer:~ # cd /etc/logodidact
41 root@puppeteer:~ # git add .
42 root@puppeteer:~ # git commit -am "Aktivierung von Nextcloud und Collabora in der guest.conf."
43 {{/code}}
44
45
46 **3.** Kopieren Sie die nextcloud-g1.yaml und collabora.yaml aus dem Template Verzeichnis:
47
48 {{code language="bash"}}
49 root@puppeteer:~ # cd /usr/share/doc/ld-puppet10/templates/cloud/with_collabora/custom.d/
50 {{/code}}
51
52 {{code language="bash"}}
53 root@puppeteer:/usr/share/doc/ld-puppet10/templates/cloud/with_collabora/custom.d # cp * /etc/logodidact/hiera/custom.d/
54 {{/code}}
55
56
57 **4. **Bearbeiten Sie die **collabora-g1.yaml** so dass Sie den Platzhalter **"ShortName"** gegen den Shortname der Schule austauschen.
58
59 {{code language="bash"}}
60 root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/collabora-g1.yaml
61 {{/code}}
62
63 {{code language="bash"}}
64 # Vorher:
65 ---
66 ld_collabora::config::allowed_hosts:
67 - nextcloud.ShortName.logoip.de
68
69 # Nacher:
70 ---
71 ld_collabora::config::allowed_hosts:
72 - nextcloud.musterstadt-gym.logoip.de
73 {{/code}}
74
75
76 **5.** Bearbeiten Sie die **nextcloud-g1.yaml** so dass Sie die Platzhalter **"ShortName"** gegen den Shortname der Schule austauschen.
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 # Vorher
84 ---
85 ld_nextcloud::config::app:
86 richdocuments.wopi_url:
87 value: 'https://collabora.ShortName.logoip.de'
88
89 ld_nextcloud::config::system:
90 trusted_domains:
91 - nextcloud.ShortName.logoip.de
92
93 # Nacher:
94 ---
95 ld_nextcloud::config::app:
96 richdocuments.wopi_url:
97 value: 'https://collabora.musterstadt-gym.logoip.de'
98
99 ld_nextcloud::config::system:
100 trusted_domains:
101 - nextcloud.musterstadt-gym.logoip.de
102 {{/code}}
103
104
105 **6.** Ergänzen Sie nun die **nextcloud-g1.yaml** um folgende Werte:
106
107 {{code language="bash"}}
108 root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/nextcloud-g1.yaml
109 {{/code}}
110
111 {{code language="bash"}}
112 ld_nextcloud::install::params:
113 admin-user: ncadmin
114 database-host: &dbhost pgsql13
115 database-name: &dbname nextcloud
116 database-user: &dbuser nextcloud
117 data-dir: /var/lib/nextcloud
118
119 ld_nextcloud::db:
120 server: *dbhost
121 {{/code}}
122
123
124 **7.** Übernehmen Sie die Änderungen ins git:
125
126 {{code language="bash"}}
127 root@puppeteer:~ # cd /etc/logodidact
128 root@puppeteer:~ # git add .
129 root@puppeteer:~ # git commit -am "nextcloud-g1.yaml angepasst."
130 {{/code}}
131
132
133 **8. **Damit die Nextcloud von außen erreichbar wird, müssen Sie folgende Einträge in der **revproxy.conf** setzen:
134
135 Wechseln Sie in den Puppeteer:
136
137 {{code language="bash"}}
138 root@ldhost:~ # lxc-ssh -n puppeteer
139 {{/code}}
140
141
142 Wechsel Sie in das Verzeichnis zur Konfiguration:
143
144 {{code language="bash"}}
145 root@puppeteer:~ # cd /etc/logodidact/hosts/rev-proxy
146 {{/code}}
147
148
149 Fügen Sie folgende Zeilen in die **revproxy.conf **ein und tauschen die Platzhalter** "SCHULKUERZEL" **durch den jeweiligen Shortname der Schule:
150
151 {{code language="bash"}}
152 root@puppeteer:/etc/logodidact/hosts/rev-proxy # vim revproxy.conf
153 {{/code}}
154
155 {{code language="bash"}}
156 [ReverseProxy nextcloud.SCHULKUERZEL.logoip.de]
157 Url https://nextcloud
158
159 [ReverseProxy collabora.SCHULKUERZEL.logoip.de]
160 Url https://collabora
161 {{/code}}
162
163
164 Übernehmen Sie die Änderungen ins Git:
165
166 {{code language="bash"}}
167 root@puppeteer:~ # cd /etc/logodidact
168 root@puppeteer:~ # git add .
169 root@puppeteer:~ # git commit -am "revproxy.conf um Einträge für Nextcloud und Collabora ergänzt."
170 {{/code}}
171
172
173 **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:
174
175 ===== =====
176
177 ===== __
178 acmetool__ =====
179
180 Wechseln Sie in den puppeteer Container:
181
182 {{code language="bash"}}
183 root@ldhost:~ # lxc-ssh -n puppeteer
184 {{/code}}
185
186
187 Fordern Sie die Zertifikate für die Nextcloud und Collabora Adressen mit folgendem Befehl an (Ersetzen Sie **"SCHULKUERZEL"** mit dem jeweiligen Shortname):
188
189 {{code language="bash"}}
190 root@puppeteer:~ # acmetool want nextcloud.SCHULKUERZEL.logoip.de
191 root@puppeteer:~ # acmetool want collabora.SCHULKUERZEL.logoip.de
192 {{/code}}
193
194 ===== =====
195
196 ===== =====
197
198 ===== __
199 acme.sh__ =====
200
201 Wechseln Sie in den puppeteer Container:
202
203 {{code language="bash"}}
204 root@ldhost:~ # lxc-ssh -n puppeteer
205 {{/code}}
206
207
208 Wechseln Sie im puppeteer Container in die Umgebung für das Verwalten der Zertifikate:
209
210 {{code language="bash"}}
211 root@puppeteer:~ # sle
212 {{/code}}
213
214
215 Beantragen Sie ein neues Zertifikat mit folgendem Befehl (Ersetzen Sie **"SCHULKUERZEL"** mit dem jeweiligen Shortname):
216
217 {{code language="bash"}}
218 le-acme@puppeteer:~ $ issue nextcloud.SCHULKUERZEL.logoip.de
219 le-acme@puppeteer:~ $ issue collabora.SCHULKUERZEL.logoip.de
220 {{/code}}
221
222
223 **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.
224
225 [[image:1652079923794-166.png]]
226
227
228 **11.** Zu guter Letzt können Sie die Anmeldung wie folgt überprüfen:
229
230
231 Rufen Sie in ihrem Browser folgende Adresse auf (Ersetzen Sie **"SCHULKUERZEL"** durch den Shortname):
232
233 {{code language="bash"}}
234 https://nextcloud.SCHULKUERZEL.logoip.de/
235 {{/code}}
236
237
238 Melden Sie sich mit einem zur Gruppe hinzugefügtem Benutzer an:
239
240 [[image:1652080106839-833.png]]