diff --git a/Kapitel 7/Tutorial.md b/Kapitel 7/Tutorial.md index d423fc2..a69e139 100644 --- a/Kapitel 7/Tutorial.md +++ b/Kapitel 7/Tutorial.md @@ -439,6 +439,192 @@ Trage folgende Werte ein: --- +###Feinschliff & Optimierung + +Nach der Grundinstallation erscheinen im Admin-Panel oft Hinweise. +Diese sind kein Fehler, sondern Empfehlungen, um die Instanz stabil, sicher und performant zu machen. +Wir gehen sie jetzt Schritt für Schritt durch. + +--- + +Schritt: MIME-Type für .mjs aktivieren +Ziel: Browser können moderne JavaScript-Dateien korrekt laden. Ohne das brechen manche Nextcloud-Apps ab. + +Anleitung: + +* Datei öffnen: nano /etc/nginx/sites-available/nextcloud.conf +* Innerhalb des server { ... }-Blocks einfügen: + types { application/javascript mjs; } +* Konfiguration testen und neu laden: nginx -t && systemctl reload nginx + +Prüfen: + +* Im Admin-Panel verschwindet die Meldung. +* Im Browser (F12 → Netzwerk) ist application/javascript als MIME-Type sichtbar. + +--- + +Schritt: /ocm-provider/ und ocs-provider auflösen +Ziel: Externe Freigaben und Federation funktionieren. + +Anleitung: + +* In derselben Datei (nextcloud.conf) hinzufügen: + location \~ ^/(?\:ocm-provider|ocs-provider)/ { try\_files \$uri \$uri/ =404; index index.php; } +* Danach Nginx neu laden: nginx -t && systemctl reload nginx + +Prüfen: + +* Admin-Meldung verschwindet. +* Aufruf von [https://cloud.DEINE-DOMAIN.tld/ocm-provider/](https://cloud.DEINE-DOMAIN.tld/ocm-provider/) zeigt kein Nginx-404 mehr. + +--- + +Schritt: .well-known Weiterleitungen +Ziel: Federation, CalDAV, CardDAV und WebFinger funktionieren. + +Anleitung: + +* In nextcloud.conf unterhalb des server { ... }-Blocks ergänzen: + location = /.well-known/webfinger { return 301 /index.php/.well-known/webfinger; } + location = /.well-known/nodeinfo { return 301 /index.php/.well-known/nodeinfo; } + location ^\~ /.well-known/acme-challenge { default\_type "text/plain"; root /var/www/letsencrypt; } + location = /.well-known/carddav { return 301 /remote.php/dav; } + location = /.well-known/caldav { return 301 /remote.php/dav; } +* Neu laden: nginx -t && systemctl reload nginx + +Prüfen: + +* Meldung im Adminbereich verschwindet. +* Test: curl -I [https://cloud.DEINE-DOMAIN.tld/.well-known/carddav](https://cloud.DEINE-DOMAIN.tld/.well-known/carddav) → liefert 301. + +--- + +Schritt: Debug-Mode deaktivieren +Ziel: Produktivbetrieb ohne unnötige Fehlerausgaben. + +Anleitung: + +* Datei öffnen: nano /srv/nextcloud/app/nextcloud/config/config.php +* Sicherstellen, dass folgende Zeile existiert: 'debug' => false, + +Prüfen: + +* Adminpanel zeigt nicht mehr „Debug-Modus aktiv“. + +--- + +Schritt: Wartungsfenster setzen +Ziel: Ressourcenintensive Tasks laufen nachts. + +Anleitung: +sudo -u www-data php /srv/nextcloud/app/nextcloud/occ config\:system\:set maintenance\_window\_start --value="2" + +Prüfen: + +* Adminbereich zeigt kein Warnsymbol mehr. + +--- + +Schritt: MIME-Type Migration +Ziel: Neueste Dateitypen sind registriert. + +Anleitung: +sudo -u www-data php /srv/nextcloud/app/nextcloud/occ maintenance\:repair --include-expensive + +Prüfen: + +* Meldung „MIME-Type-Migration verfügbar“ verschwindet. + +--- + +Schritt: Fehlende Indizes +Ziel: Datenbankabfragen werden schneller. + +Anleitung: +sudo -u www-data php /srv/nextcloud/app/nextcloud/occ db\:add-missing-indices + +Prüfen: + +* Keine Admin-Warnung mehr zu Indizes. + +--- + +Schritt: PATH-Variable für PHP +Ziel: Systembefehle werden korrekt gefunden. + +Anleitung: + +* Datei öffnen: nano /etc/php/8.3/fpm/pool.d/[www.conf](http://www.conf) +* Am Ende ergänzen: env\[PATH] = /usr/local/bin:/usr/bin:/bin +* Neu laden: systemctl reload php8.3-fpm + +Prüfen: + +* Meldung zu getenv("PATH") verschwindet. + +--- + +Schritt: Standard-Telefonregion +Ziel: Telefonnummern ohne Vorwahl validieren. + +Anleitung: + +* In config.php einfügen: 'default\_phone\_region' => 'DE', + +Prüfen: + +* Adminpanel zeigt keinen Hinweis mehr. + +--- + +Schritt: Mailserver einrichten +Ziel: System kann Benachrichtigungen verschicken. + +Anleitung (Beispiel SMTP): + +* In config.php eintragen: + 'mail\_smtpmode' => 'smtp', + 'mail\_smtpsecure' => 'tls', + 'mail\_sendmailmode' => 'smtp', + 'mail\_from\_address' => 'nextcloud', + 'mail\_domain' => 'deine-domain.tld', + 'mail\_smtphost' => 'mail.deine-domain.tld', + 'mail\_smtpport' => '587', + 'mail\_smtpauth' => 1, + 'mail\_smtpname' => '[user@deine-domain.tld](mailto:user@deine-domain.tld)', + 'mail\_smtppassword' => 'PASSWORT' +* Alternativ per Web-UI → Einstellungen → Grundeinstellungen → E-Mail-Server + +Prüfen: + +* Testmail versenden. +* Adminhinweis verschwindet. + +--- + +Schritt: Imagick mit SVG-Support +Ziel: Bessere Bildvorschauen. + +Anleitung: +apt install -y libmagickcore-6.q16-6-extra +systemctl restart php8.3-fpm + +Prüfen: + +* Adminmeldung zu SVG verschwindet. + +--- + +### Ergebnis + +Nach diesen Schritten ist die Instanz vollständig optimiert: + +* Keine Warnmeldungen mehr +* Volle Performance durch Indizes + Redis +* Sichere Produktion (kein Debug, sauberes Wartungsfenster) +* Alle Nextcloud-Apps funktionieren fehlerfrei +