Kapitel 7/Tutorial.md aktualisiert
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user