Wiki-Quellcode von Installation Nextcloud mit pgsql13 als Datenbank-Container
Version 21.1 von Jens Gruber am 2022/05/09 11:27
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 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 | {{/code}} | ||
30 | |||
31 | Übernehmen Sie die Änderungen ins git mit folgenden Befehlen: | ||
32 | |||
33 | {{code language="bash"}} | ||
34 | root@puppeteer:~ # cd /etc/logodidact | ||
35 | root@puppeteer:~ # git add . | ||
36 | root@puppeteer:~ # git commit -am "Aktivierung von Nextcloud und Collabora in der guest.conf." | ||
37 | {{/code}} | ||
38 | |||
39 | |||
40 | **3.** Kopieren Sie die nextcloud-g1.yaml und/oder collabora.yaml aus dem Template Verzeichnis: | ||
41 | |||
42 | Wenn Sie beide Dateien benötigen müssen Sie folgende Befehle nutzen: | ||
43 | |||
44 | {{code language="bash"}} | ||
45 | root@puppeteer:~ # cd /usr/share/doc/ld-puppet10/templates/cloud/with_collabora/custom.d/ | ||
46 | {{/code}} | ||
47 | |||
48 | {{code language="bash"}} | ||
49 | root@puppeteer:/usr/share/doc/ld-puppet10/templates/cloud/with_collabora/custom.d # cp * /etc/logodidact/hiera/custom.d/ | ||
50 | {{/code}} | ||
51 | |||
52 | |||
53 | Sollten Sie nur die nextcloud-g1.yaml benötigen, so nutzen Sie folgende Befehle: | ||
54 | |||
55 | {{code language="bash"}} | ||
56 | root@puppeteer:~ # cd /usr/share/doc/ld-puppet10/templates/cloud/without_collabora/custom.d/ | ||
57 | {{/code}} | ||
58 | |||
59 | {{code language="bash"}} | ||
60 | root@puppeteer:/usr/share/doc/ld-puppet10/templates/cloud/without_collabora/custom.d # cp * /etc/logodidact/hiera/custom.d/ | ||
61 | {{/code}} | ||
62 | |||
63 | |||
64 | **4. (Führen Sie diesen Schritt nur durch wenn Sie Collabora nutzen möchten) **Bearbeiten Sie die **collabora-g1.yaml** so dass Sie den Platzhalter **"ShortName"** gegen den Shortname Ihrer Schule austauschen. | ||
65 | |||
66 | {{code language="bash"}} | ||
67 | root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/collabora-g1.yaml | ||
68 | {{/code}} | ||
69 | |||
70 | {{code language="bash"}} | ||
71 | ld_collabora::config::allowed_hosts: | ||
72 | - nextcloud.ShortName.logoip.de | ||
73 | |||
74 | {{/code}} | ||
75 | |||
76 | |||
77 | **5.** Bearbeiten Sie die **nextcloud-g1.yaml** und fügen Sie die ersten beiden Abschnitte hinzu, um pgsql13 als Datenbank zu verwenden. | ||
78 | |||
79 | Passen Sie außerdem die Platzhalter **"ShortName"** gegen den Shortname Ihrer Schule an. | ||
80 | |||
81 | {{code language="bash"}} | ||
82 | root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/nextcloud-g1.yaml | ||
83 | {{/code}} | ||
84 | |||
85 | {{code language="bash"}} | ||
86 | ld_nextcloud::install::params: | ||
87 | admin-user: ncadmin | ||
88 | database-host: &dbhost pgsql13 | ||
89 | database-name: &dbname nextcloud | ||
90 | database-user: &dbuser nextcloud | ||
91 | data-dir: /var/lib/nextcloud | ||
92 | |||
93 | ld_nextcloud::db: | ||
94 | server: *dbhost | ||
95 | |||
96 | ld_nextcloud::config::app: | ||
97 | richdocuments.wopi_url: | ||
98 | value: 'https://collabora.ShortName.logoip.de' | ||
99 | |||
100 | ld_nextcloud::config::system: | ||
101 | trusted_domains: | ||
102 | - nextcloud.ShortName.logoip.de | ||
103 | {{/code}} | ||
104 | |||
105 | |||
106 | **6.** Übernehmen Sie die Änderungen ins git: | ||
107 | |||
108 | {{code language="bash"}} | ||
109 | root@puppeteer:~ # cd /etc/logodidact | ||
110 | root@puppeteer:~ # git add . | ||
111 | root@puppeteer:~ # git commit -am "nextcloud-g1.yaml angepasst." | ||
112 | {{/code}} | ||
113 | |||
114 | |||
115 | **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: | ||
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:~ # git add . | ||
144 | root@puppeteer:~ # 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 | Sollte es bei Nutzung des acmetools zu Problemen kommen, kann die Einrichtung von Split-DNS helfen dieses Problem zu beseitigen. Eine Anleitung zur Einrichtung finden Sie unter folgender Adresse: [[https:~~/~~/kb.logodidact.com/xwiki/bin/view/Main/LD%20Server/Allgemein/Einrichtung%20Split-DNS/>>https://kb.logodidact.com/xwiki/bin/view/Main/LD%20Server/Allgemein/Einrichtung%20Split-DNS/]] | ||
151 | |||
152 | ===== __ | ||
153 | acmetool__ ===== | ||
154 | |||
155 | Wechseln Sie in den puppeteer Container: | ||
156 | |||
157 | {{code language="bash"}} | ||
158 | root@ldhost:~ # lxc-ssh -n puppeteer | ||
159 | {{/code}} | ||
160 | |||
161 | |||
162 | Fordern Sie die Zertifikate für die Nextcloud und Collabora Adressen mit folgendem Befehl an (Ersetzen Sie **"SCHULKUERZEL"** mit dem jeweiligen Shortname): | ||
163 | |||
164 | {{code language="bash"}} | ||
165 | root@puppeteer:~ # acmetool want nextcloud.SCHULKUERZEL.logoip.de | ||
166 | |||
167 | # Falls gewünscht | ||
168 | root@puppeteer:~ # acmetool want collabora.SCHULKUERZEL.logoip.de | ||
169 | {{/code}} | ||
170 | |||
171 | ===== ===== | ||
172 | |||
173 | ===== ===== | ||
174 | |||
175 | ===== __ | ||
176 | acme.sh__ ===== | ||
177 | |||
178 | Wechseln Sie in den puppeteer Container: | ||
179 | |||
180 | {{code language="bash"}} | ||
181 | root@ldhost:~ # lxc-ssh -n puppeteer | ||
182 | {{/code}} | ||
183 | |||
184 | |||
185 | Wechseln Sie im puppeteer Container in die Umgebung für das Verwalten der Zertifikate: | ||
186 | |||
187 | {{code language="bash"}} | ||
188 | root@puppeteer:~ # sle | ||
189 | {{/code}} | ||
190 | |||
191 | |||
192 | Beantragen Sie ein neues Zertifikat mit folgendem Befehl (Ersetzen Sie **"SCHULKUERZEL"** mit dem jeweiligen Shortname): | ||
193 | |||
194 | {{code language="bash"}} | ||
195 | le-acme@puppeteer:~ $ issue nextcloud.SCHULKUERZEL.logoip.de | ||
196 | |||
197 | # Falls gewünscht | ||
198 | le-acme@puppeteer:~ $ issue collabora.SCHULKUERZEL.logoip.de | ||
199 | {{/code}} | ||
200 | |||
201 | |||
202 | **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. | ||
203 | |||
204 | Fügen Sie Benutzer der Rolle ld-sg-nextcloud hinzu. Nur Nutzer in dieser Gruppe können sich an der Nextcloud-Plattform anmelden, es kann bis zu 5-Minuten dauern bis die Aktivierung erfolgt. | ||
205 | |||
206 | [[image:1652079923794-166.png]] | ||
207 | |||
208 | |||
209 | **11.** Zu guter Letzt können Sie die Anmeldung wie folgt überprüfen: | ||
210 | |||
211 | |||
212 | Rufen Sie in ihrem Browser folgende Adresse auf (Ersetzen Sie **"SCHULKUERZEL"** durch den Shortname): | ||
213 | |||
214 | {{code language="bash"}} | ||
215 | https://nextcloud.SCHULKUERZEL.logoip.de/ | ||
216 | {{/code}} | ||
217 | |||
218 | |||
219 | Melden Sie sich mit einem zur Gruppe hinzugefügtem Benutzer an: | ||
220 | |||
221 | [[image:1652080106839-833.png]] |