Änderungen von Dokument Kopano Optimierungen
Zuletzt geändert von Jonas Mayer am 2022/05/23 12:53
Von Version 8.1
bearbeitet von Christian Germann
am 2022/05/03 08:39
am 2022/05/03 08:39
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 1.4
bearbeitet von Jens Gruber
am 2022/05/02 10:49
am 2022/05/02 10:49
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (2 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. cge@sbede1 +XWiki.JensGruber@sbede - Inhalt
-
... ... @@ -1,21 +1,20 @@ 1 - (% style="color:#000000" %)Es gibt mehrere Anpassungen die sich anbieten um den laufenden Betrieb von Kopano zu verbessern. Folgende Maßnahmen können optional genutzt werden:1 +Es gibt mehrere Anpassungen die sich anbieten um den laufenden Betrieb von Kopano zu verbessern. Folgende Maßnahmen können optional genutzt werden: 2 2 3 -{{toc start="5"/}} 4 4 4 +===== **__Zustellbarkeit der Unzustellbarkeits-Nachrichten verbessern__** ===== 5 5 6 - =====(%style="color:#000000"%)**__Zustellbarkeit der Unzustellbarkeits-Nachrichten verbesserndurchVersendenperRelayhost__**(%%)=====6 +Es ist möglich die Zustellbarkeit der Unzustellbarkeits-Nachrichten für den Absender zu verbessern. Dafür ist es notwendig den SMTP-Server des gewählten Mailproviders als Smarthost einzutragen. 7 7 8 -(% style="color:#000000" %)Es ist möglich die Zustellbarkeit der Unzustellbarkeits-Nachrichten für den Absender zu verbessern. Dafür ist es notwendig den SMTP-Server des gewählten Mailproviders als Smarthost einzutragen. 9 9 9 +Bearbeiten Sie in die Datei kopano-g1.yaml im puppeteer Container: 10 10 11 -(% style="color:#000000" %)Bearbeiten Sie in die Datei kopano-g1.yaml im puppeteer Container: 12 - 13 13 {{code language="bash"}} 14 14 root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/kopano-g1.yaml 15 15 {{/code}} 16 16 17 -(% style="color:#000000" %)Die Zeile "ld_kopano::postfix::hashes:" beschreibt das Handling für den Null-Sender. Fügen Sie nun die Zeile "<> smtp.meineschule.de" ein (Ergänzen Sie die smtp Adresse durch die von ihnen genutzte). 18 18 16 +Die Zeile "ld_kopano::postfix::hashes:" beschreibt das Handling für den Null-Sender. Fügen Sie nun die Zeile "<> smtp.meineschule.de" ein (Ergänzen Sie die smtp Adresse durch die von ihnen genutzte). 17 + 19 19 {{code language="bash"}} 20 20 ld_kopano::postfix::hashes: 21 21 '%{dir_etc}/sender_dependent_relayhost_maps_external.hash': ... ... @@ -26,27 +26,23 @@ 26 26 {{/code}} 27 27 28 28 29 -===== (% style="color:#000000" %)**__Kopano Leistung verbessern__**(%%)=====28 +===== **__Anbindung/Akkulaufzeit von Endgeräten verbessern__** ===== 30 30 31 - (% style="color:#000000" %)Kopanoistin derStandardinstallation lediglichfürdenBetriebvon 10 Benutzern ausgelegt. Dasheißt,dieKopano-Serverdienstereservierenmit denStandardeinstellungensehr wenigSystemressourcen (RAM) und die Plattformbeitet als Konsequenzsehrlangsam,wenndeutlichmehrBenutzerein Postfacherhalten.Mansolltedaherindenmeisten Fällen diezugeteiltenSystemressourcen(deutlich)erhöhen,um einvernünftigesNutzererlebnis zu erzielen.30 +Bei Verwendung des ActiveSync-Protokolls bzw. Kopano Z-Push zur Anbindung von Endgeräten (Smartphones, Tablets, MS Outlook 2013/2016/2019 Clients) empfiehlt es sich, auf die HTTP-KeepAlive Einstellungen für die Webserver-Dienste in der Verbindungskette (Rev-Proxy → Kopano-Server) Einfluss zu nehmen. 32 32 33 - (% style="color:#000000"%)Um dieEinstellungen Puppet-gerechtzudefinieren,hilft nachfolgendeAuflistungvonYAML-Einstellungen.Beider AuswahlderWertemussman die**Hardware-Ressourcen** desServersberücksichtigen,imBeispielwirdvoneinemleistungsstarkenServermit**32GB** **RAM**und **2 CPU-Sockets** undinsgesamt**32Kernen** ausgegangen.32 +Der KeepAlive-Wert wird bewusst hoch gewählt, damit Verbindungen zwischen Client und Kopano-Server länger offen gehalten werden können. Dadurch schont man die Batterie und Laufzeit von mobilen Geräten, da es sich u.a. auf den Standby-Betrieb von Smartphones auswirkt (der nicht permanent unterbrochen wird zum Starten einer neuen Verbindung). 34 34 35 35 36 - (%style="color:#000000"%)Bearbeiten SieindieDateikopano-g1.yamlim puppeteer Container:35 +Zum erhöhen der TimeOuts öffnen Sie die kopano-g1.yaml: 37 37 38 38 {{code language="bash"}} 39 39 root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/kopano-g1.yaml 40 40 {{/code}} 41 41 42 -Passen Sie die kopano-g1.yaml je nach Größe der Schule an. 43 43 44 - **kopano-g1.yamlfürKopano<50 Users:**42 +Fügen Sie folgende Zeilen am Ende der Datei ein: 45 45 46 -{{code language="yaml"}} 47 -nginx::keepalive_timeout: 3600 48 -nginx::keepalive_requests: 500 49 - 44 +{{code language="bash"}} 50 50 apache::keepalive: 'On' 51 51 apache::keepalive_timeout: '45' 52 52 apache::max_keepalive_requests: '500' ... ... @@ -53,261 +53,24 @@ 53 53 apache::mod::prefork::maxclients: '384' 54 54 apache::mod::prefork::serverlimit: '384' 55 55 56 -ld_kopano::server: 57 - settings: 58 - cache_cell_size: '512M' 59 - cache_object_size: '16M' 60 - cache_indexedobject_size: '32M' 61 - enable_sql_procedures: 'yes' 62 - # The following 2 settings require a cronjob to run periodically instead (in case the value is disabled) 63 - sync_gab_realtime: 'no' 64 - softdelete_lifetime: '0' 65 -{{/code}} 66 - 67 - **kopano-g1.yaml für Kopano >=50 Users** 68 - 69 -{{code language="yaml"}} 70 70 nginx::keepalive_timeout: 3600 71 71 nginx::keepalive_requests: 500 72 - 73 -apache::keepalive: 'On' 74 -apache::keepalive_timeout: '45' 75 -apache::max_keepalive_requests: '500' 76 -apache::mod::prefork::maxclients: '500' 77 -apache::mod::prefork::serverlimit: '500' 78 - 79 -ld_kopano::server: 80 - settings: 81 - cache_cell_size: '6144M' 82 - cache_object_size: '32M' 83 - cache_indexedobject_size: '64M' 84 - enable_sql_procedures: 'yes' 85 - # The following 2 settings require a cronjob to run periodically instead (in case the value is disabled) 86 - sync_gab_realtime: 'no' 87 - softdelete_lifetime: '0' 88 88 {{/code}} 89 89 90 -**kopano-g1.yaml für Kopano >=200 Users** 91 91 92 -{{code language="yaml"}} 93 -nginx::keepalive_timeout: 3600 94 -nginx::keepalive_requests: 500 56 +Zusätzlich müssen Sie die Datei rev-proxy.yaml erstellen/bearbeiten: 95 95 96 -apache::keepalive: 'On' 97 -apache::keepalive_timeout: '45' 98 -apache::max_keepalive_requests: '500' 99 -apache::mod::prefork::maxclients: '500' 100 -apache::mod::prefork::serverlimit: '500' 101 - 102 -ld_kopano::server: 103 - settings: 104 - cache_cell_size: '12288M' 105 - cache_object_size: '256M' 106 - cache_indexedobject_size: '512M' 107 - enable_sql_procedures: 'yes' 108 - # The following 2 settings require a cronjob to run periodically instead (in case the value is disabled) 109 - sync_gab_realtime: 'no' 110 - softdelete_lifetime: '0' 111 -{{/code}} 112 - 113 -(% id="cke_bm_884S" style="color:#000000; display:none" %) (% style="color:#000000" %)Zusätzlich muss im Kopano-Container ein Cron-Job eingerichtet werden, sofern man im Abschnitt **ld_kopano::server** die Parameter **sync_gab_realtime** / **softdelete_lifetime** im deaktivierten Zustand eingetragen hat: 114 - 115 115 {{code language="bash"}} 116 -root@ kopano-g1:~ # /etc/cron.d/kopano-optimization59 +root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/rev-proxy.yaml 117 117 {{/code}} 118 118 119 -{{code language="bash"}} 120 -# /etc/cron.d/kopano-optimization 121 -*/30 * * * * root [ -x /usr/sbin/kopano-admin ] && /usr/sbin/kopano-admin --sync 2>&1 >/dev/null 122 -0 4 * * * root [ -x /usr/sbin/kopano-admin ] && /usr/sbin/kopano-admin --purge-softdelete 30 2>&1 >/dev/null 123 -{{/code}} 124 124 63 +Ergänzen/Befüllen Sie die Datei mit folgendem Inhalt: 125 125 126 -===== __**mariadb103/mysql56(% style="color:#000000" %) Leistung verbessern(%%)**__ ===== 127 - 128 -(% style="color:#000000" %)Folgende Einstellung können für die mysql56.yaml gesetzt werden: 129 - 130 130 {{code language="bash"}} 131 -root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/mysql56.yaml 132 -{{/code}} 133 - 134 -{{code language="yaml"}} 135 -mysql::server::override_options: 136 - mysqldump: 137 - max_allowed_packet: '1G' 138 - mysqld: 139 - innodb_file_per_table: true 140 - bind-address: '0.0.0.0' 141 - skip-name-resolve: true 142 - innodb_large_prefix: true 143 - innodb_file_format: 'Barracuda' 144 - max_allowed_packet: '256M' 145 - max_connections: '150' 146 - query_cache_limit: '2M' 147 - query_cache_size: '64M' 148 - thread_stack: '512K' 149 - tmp_table_size: '64M' 150 - max_heap_table_size: '64M' 151 - sort_buffer_size: '2M' 152 - join_buffer_size: '2M' 153 - table_open_cache: '500' 154 - innodb_autoextend_increment: '1000' 155 - innodb_buffer_pool_size: '2G' 156 - innodb_flush_log_at_trx_commit: '2' 157 - innodb_flush_method: 'O_DSYNC' 158 - innodb_lock_wait_timeout: '120' 159 - innodb_log_buffer_size: '8M' 160 - innodb_log_file_size: '1G' 161 - innodb_log_files_in_group: '3' 162 - innodb_read_io_threads: '4' 163 - innodb_write_io_threads: '4' 164 -{{/code}} 165 - 166 -(% id="cke_bm_172S" style="color:#000000; display:none" %) (% style="color:#000000" %)Folgende Einstellung können für die mariadb103.yaml gesetzt werden: 167 - 168 -{{code language="bash"}} 169 -root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/mariadb103.yaml 170 -{{/code}} 171 - 172 -{{code language="yaml"}} 173 -mysql::server::override_options: 174 - mysqldump: 175 - max_allowed_packet: '1G' 176 - mysqld: 177 - innodb_file_per_table: '1' 178 - bind-address: '0.0.0.0' 179 - skip-name-resolve: true 180 - innodb_large_prefix: '1' 181 - max_allowed_packet: '256M' 182 - max_connections: '151' 183 - query_cache_limit: '2M' 184 - query_cache_size: '64M' 185 - thread_stack: '512K' 186 - tmp_table_size: '64M' 187 - max_heap_table_size: '64M' 188 - sort_buffer_size: '2M' 189 - join_buffer_size: '2M' 190 - table_open_cache: '500' 191 - innodb_autoextend_increment: '1000' 192 - innodb_buffer_pool_size: '1G' 193 - # The following setting is based on the existing ibdata1 file, check current size and insert it here (rounded to MB) 194 - innodb_data_file_path: 'ibdata1:12M:autoextend' 195 - innodb_flush_log_at_trx_commit: '2' 196 - innodb_flush_method: 'O_DSYNC' 197 - innodb_lock_wait_timeout: '120' 198 - innodb_log_buffer_size: '8M' 199 - innodb_log_file_size: '1G' 200 - innodb_log_files_in_group: '3' 201 - innodb_read_io_threads: '4' 202 - innodb_write_io_threads: '4' 203 -{{/code}} 204 - 205 -Passen Sie die {{code}}mariadb103.yaml{{/code}} anhand der Größe der Schule an. 206 - 207 -**mariadb103.yaml für Kopano <50 Users:** 208 - 209 -{{code language="yaml"}} 210 -max_allowed_packet: '256M' 211 -sort_buffer_size: '2M' 212 -innodb_buffer_pool_size: '1G' 213 - 214 -{{/code}} 215 - 216 -**mariadb103.yaml für Kopano >= 50 Users:** 217 - 218 -{{code language="yaml"}} 219 -max_allowed_packet: '1G' 220 -sort_buffer_size: '4M' 221 -innodb_buffer_pool_size: '2G' 222 -{{/code}} 223 - 224 -===== (% style="color:#000000" %)**__Anbindung/Akkulaufzeit von Endgeräten verbessern__**(%%) ===== 225 - 226 -(% style="color:#000000" %)Bei Verwendung des ActiveSync-Protokolls bzw. Kopano Z-Push zur Anbindung von Endgeräten (Smartphones, Tablets, MS Outlook 2013/2016/2019 Clients) empfiehlt es sich, auf die HTTP-KeepAlive Einstellungen für die Webserver-Dienste in der Verbindungskette (Rev-Proxy → Kopano-Server) Einfluss zu nehmen. 227 - 228 -(% style="color:#000000" %)Der KeepAlive-Wert wird bewusst hoch gewählt, damit Verbindungen zwischen Client und Kopano-Server länger offen gehalten werden können. Dadurch schont man die Batterie und Laufzeit von mobilen Geräten, da es sich u.a. auf den Standby-Betrieb von Smartphones auswirkt (der nicht permanent unterbrochen wird zum Starten einer neuen Verbindung). 229 - 230 - 231 -(% style="color:#000000" %)Zusätzlich müssen Sie die Datei rev-proxy.yaml erstellen/bearbeiten: 232 - 233 -{{code language="bash"}} 234 -root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/rev-proxy.yaml 235 -{{/code}} 236 - 237 -(% style="color:#000000" %)Ergänzen/Befüllen Sie die Datei mit folgendem Inhalt: 238 - 239 -{{code language="bash"}} 66 +--- 240 240 nginx::keepalive_timeout: 3600 241 241 nginx::keepalive_requests: 500 242 242 {{/code}} 243 243 244 - 245 -===== (% style="color:#000000" %)__**Public Folder erstellen**__(%%) ===== 246 - 247 -(% style="color:#000000" %)Es kann sich anbieten einen Public Folder als gemeinsamen Ordner für alle Benutzer zu erstellen. Hierfür müssen Sie folgenden Befehl eingeben: 248 - 249 -{{code language="bash"}} 250 -root@kopano-g1:~ # kopano-admin -s 251 -{{/code}} 252 - 253 - 254 -===== (% style="color:#000000" %)__**Cronjob für Wartungsaufgaben**__(%%) ===== 255 - 256 -(% style="color:#000000" %)Durch das Anlegen eines zusätzlichen Cronjobs, lassen sich Wartungsaufgaben automatisch zu bestimmten Zeiten durchführen. Folgenden Cronjob können Sie bei Bedarf erstellen: 257 - 258 -{{code language="bash"}} 259 -# /etc/cron.d/kopano-optimization 260 -*/30 * * * * root [ -x /usr/sbin/kopano-admin ] && /usr/sbin/kopano-admin --sync 2>&1 >/dev/null 261 -0 4 * * * root [ -x /usr/sbin/kopano-admin ] && /usr/sbin/kopano-admin --purge-softdelete 30 2>&1 >/dev/null 262 -{{/code}} 263 - 264 - 265 -===== (% style="color:#000000" %)**__Netzlaufwerke auf der Kopano-Weboberfläche anzeigen__**(%%) ===== 266 - 267 -(% style="color:#000000" %)Empfehlenswert ist das Einbinden der Netzlaufwerke (H: / P: / T:) des logoDIDACT-Servers auf der Kopano Weboberfläche. Gehen Sie wie folgt vor um den Nutzern dies zu ermöglichen: 268 - 269 - 270 -(% style="color:#000000" %)Führen Sie den Sync über den kopano-admin durch: 271 - 272 -{{code language="bash"}} 273 -root@kopano-g1:~ # kopano-admin --sync 274 -{{/code}} 275 - 276 -(% style="color:#000000" %)Laden Sie folgendes Skript herunter: 277 - 278 -{{code language="bash"}} 279 -root@kopano-g1:~ # wget https://files.sbe.de/kopano/install-inject-shares.sh -O /tmp/install-inject-shares.sh 280 -{{/code}} 281 - 282 -(% style="color:#000000" %)Führen Sie das Skript aus: 283 - 284 -{{code language="bash"}} 285 -root@kopano-g1:~ # bash /tmp/install-inject-shares.sh 286 -{{/code}} 287 - 288 -(% style="color:#000000" %)Das Installationsskript legt einen CronJob an, der zyklisch einmal pro Tag die Netzlaufwerke für alle Kopano-Benutzer registriert. Dieser Vorgang kann unmittelbar nach der Installation durch die Eingabe von folgendem Befehl direkt angestoßen werden: 289 - 290 -{{code language="bash"}} 291 -root@kopano-g1:~ # inject-shares.sh 292 -{{/code}} 293 - 294 -(% style="color:#000000" %)**__Hinweis:__** Falls beim Aufrufen des Skripts Mapi Fehler auftreten, bitte folgende Pakete installieren:(%%) 295 295 296 - 297 -{{code language="bash"}} 298 -python-mapi 299 -python-kopano 300 -python3-kopano-utils 301 -kopano-python-utils 302 -{{/code}} 303 - 304 - 305 -===== (% style="color:#000000" %)__**Synchronisation der Benutzer in das globale Adressbuch**__(%%) ===== 306 - 307 -(% style="color:#000000" %)Durch einen Cronjob ist es möglich Benutzer in das Globale Adressbuch einzupflegen. Hierbei handelt es sich um eine Erweiterung für die Kopano Outlook Extension, damit Benutzer mit Kopano-Postfach automatisch im Adressbuch anwählbar sind. 308 - 309 -{{code language="bash"}} 310 -root@kopano-g1:~ # chmod +x /etc/cron.daily/gabsync 311 -{{/code}} 312 - 313 -(% style="color:#000000" %)__**Hinweis:**__ Dies stellt eine Erweiterung zum regulären ActiveSync-Protokoll durch Z-Push dar. Die Funktionsweise basiert auf einem synchronisierten Kontaktordner namens „Z-Push-KOE-GAB“ als Unterordner im Public Store / Öffentlichen Ordner.