Update

Update Fehler Beheben / Einstellungen Allegmein Fehlerbehebung
Beschreibung: 

 

 Ab und zu hängt die Nextcloud leider beim Update. Hier ein paar Standard Fehler die auftreten können 

 

 Stuck on update process. Step X is currently in. (x is the Step Number) 

 Dazu gehen wir in das Verzeichnis Data unsere instanceid und dann in das Verzeichnis updater-oc5nyh09z8xz. Dort gib es zwei  Dateien 

 .step-previous-update .step 

 

 Diese Dateien löschen. Schon kann der Update Process von vorne beginnen 

 Wartungsmodus beenden 

 Nach einem fehlerhaften Update ist die Nextcloud immer noch im Wartungsmodus. 

 um diesen zu beenden, die config.php im Nectcloud Ordner /configconfig.php öffnen 

 und dort die Zeile 

 ...

 'maintenance' => true,

 ...

 

 

 auf

 

 ...

 'maintenance' => false,

 ...

 

 

 stellen und speichern 

 MySQL wird als Datenbank verwendet, unterstützt jedoch keine 4-Byte-Zeichen. Um beispielsweise 4-Byte-Zeichen (wie Emojis) ohne Probleme mit Dateinamen oder Kommentaren verarbeiten zu können, wird empfohlen, die 4-Byte-Unterstützung in MySQL zu aktivieren. 

 In Plesk mit MariaDB 

 Dazu PHP MyAdmin öffnen und schauen ob die innodv variable auf on ist 

 Unter SQL Befehl können Befehler eingeben werden. 

 

 So sollte es aussehen 

 mysql> show variables like 'innodb_file_format';

+--------------------+-----------+

| Variable_name | Value |

+--------------------+-----------+

| innodb_file_format | Barracuda |

+--------------------+-----------+

1 row in set (0.00 sec) 

 Sieht das ganze aber so aus, müssen wir das anpassen, aber das machen wir im späteren step, weil wir vorher noch ne andere Variable prüfen 

 

 

 So sollte es aussehen 

 mysql> show variables like 'innodb_file_per_table';

+-----------------------+-------+

| Variable_name | Value |

+-----------------------+-------+

| innodb_file_per_table | ON |

+-----------------------+-------+

1 row in set (0.00 sec) 

 Passt, 

 

 ansonten in der mysql conf diese Zeile hinzufügen. nano /etc/mysql/my.cnf und dieses in die rubrik mysqld hinzufügen 

 ...

[mysqld]

...

innodb_file_per_table=1

... 

 Um den ersten Fehler zu beheben fügen wir noch zwei weitere optionen zu mysqld hinzu 

 

 innodb_large_prefix=true

innodb_file_format=barracuda

innodb_file_per_table=1 

 Danach den mariadb server neustarten 

 service mariadb restart 

 Nun die erste abfrage nochmals durchführen. Jetzt passt es 

 

 Migrieren der Tabellen zu barracude, dazu als mysql root in der shell einloggen (ssh) 

 mysql -uadmin -p`cat /etc/psa/.psa.shadow` 

 Nun sind wir in mysql eingeloggt 

 elcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 2175

Server version: 10.3.39-MariaDB-0+deb10u1 Debian 10

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

 

 Nun das Schema anpassen 

 USE INFORMATION_SCHEMA;

SELECT CONCAT("ALTER TABLE `", TABLE_SCHEMA,"`.`", TABLE_NAME, "` ROW_FORMAT=DYNAMIC;") AS MySQLCMD FROM TABLES WHERE TABLE_SCHEMA = "nextcloud"; 

 Nun die Nextcloud DB anpassen, achte auf den DB namen 

 ALTER DATABASE nextcloud_5b88185e CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 

 Ausgabe: 

 MariaDB [INFORMATION_SCHEMA]> ALTER DATABASE nextcloud_5b88185e CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Query OK, 1 row affected (0.001 sec) 

 Nun in den mysql cleint verlassen. 

 Danach den mariadb server neustarten. 

 Nextcloud in Maintenance mode setzen, hier ist das sudo wichtig damit  es mit www rechten ausgeführt wird. Der Benutzername ist der Plesk Benutzer des jeweiligen Domainspaces. Kann im Fileexplorer nachgeschaut werden. Die PHP Versionkann in Plesk unter der Subdomain nachgeschaut werden. bevor wir Maintenace setzten aktivieren wir noch in der config 

 sudo -u <username> /opt/plesk/php/<php-version>/bin/php /var/www/vhosts/<domain>/<subdomain>/occ config:system:set mysql.utf8mb4 --type boolean --value="true" 

 

 sudo -u <username> /opt/plesk/php/<php-version>/bin/php /var/www/vhosts/<domain>/<subdomain>/occ maintenance:mode --on 

 Und die tabellen anpassen 

 sudo -u <username> /opt/plesk/php/<php-version>/bin/php /var/www/vhosts/<domain>/<subdomain>/occ maintenance:repair

 

 Danach den Maintenence Mode wieder beenden 

 sudo -u <username> /opt/plesk/php/<php-version>/bin/php /var/www/vhosts/<domain>/<subdomain>/occ maintenance:mode --off 

 Nun ist der Fehler weg und Es  können auch Emojies in Dateinamen Kalender Aufgaben verwednet werden. 

 Der HTTP-Header "Strict-Transport-Security" ist nicht auf mindestens 15552000 Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den Sicherheitshinweisen erläutert ist. 

 Dazu in Plesk anmelden, auf die Domain oder Subdomain klicken. Dann auf Files dort die .htaccess anpassen und diesen Wert hinzufügen 

 Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" 

 Dieses muss unter umständen bei jedem Update neu gesetzt werden. 

 Es wurde kein PHP-Memory-Cache konfiguriert. Zur Erhöhung der Leistungsfähigkeit kann ein Memory-Cache konfiguriert werden. 

 - Anleitung folgt für Plesk 

 

 In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das Hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen kann, wurden diese nicht automatisch erzeugt. Durch das Ausführen von "occ db:add-missing-indices" können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller. 

 

 Nextcloud in Maintenance mode setzen, hier ist das sudo wichtig damit  es mit Webseiten Benutzerrechten ausgeführt wird. Der Benutzername ist der Plesk Benutzer des jeweiligen Domainspaces. Kann im Fileexplorer nachgeschaut werden. Die PHP Versionkann in Plesk unter der Subdomain nachgeschaut werden. 

 sudo -u <username> /opt/plesk/php/<php-version>/bin/php /var/www/vhosts/<domain>/<subdomain>/occ db:add-missing-indices 

 In der Datenbank fehlen einige Primärschlüssel. Aufgrund der Tatsache, dass das Hinzufügen von Primärschlüsseln bei großen Tabellen einige Zeit dauern konnte, wurden sie nicht automatisch hinzugefügt. Durch Ausführen von "occ db:add-missing-primary-keys" können diese fehlenden Primärschlüssel manuell hinzugefügt werden, während die Instanz weiter läuft. 

 Nextcloud in Maintenance mode setzen, hier ist das sudo wichtig damit  es mit Webseiten Benutzerrechten ausgeführt wird. Der Benutzername ist der Plesk Benutzer des jeweiligen Domainspaces. Kann im Fileexplorer nachgeschaut werden. Die PHP Versionkann in Plesk unter der Subdomain nachgeschaut werden. 

 sudo -u <username> /opt/plesk/php/<php-version>/bin/php /var/www/vhosts/<domain>/<subdomain>/occ db:add-missing-primary-keys 

 In der Datenbank fehlen einige optionale Spalten. Da das Hinzufügen von Spalten bei großen Tabellen einige Zeit dauern kann, wurden sie nicht automatisch hinzugefügt, wenn sie optional sein können. Durch Ausführen von "occ db:add-missing-columns" können diese fehlenden Spalten manuell hinzugefügt werden, während die Instanz weiter läuft. Sobald die Spalten hinzugefügt sind, könnten einige Funktionen die Reaktionsfähigkeit oder die Benutzerfreundlichkeit verbessern. 

 Hier ist das sudo wichtig damit  es mit Webseiten Benutzerrechten ausgeführt wird. Der Benutzername ist der Plesk Benutzer des jeweiligen Domainspaces. Kann im Fileexplorer nachgeschaut werden. Die PHP Versionkann in Plesk unter der Subdomain nachgeschaut werden. 

 sudo -u <username> /opt/plesk/php/<php-version>/bin/php /var/www/vhosts/<domain>/<subdomain>/occ db:add-missing-columns 

 Bei einigen Spalten in der Datenbank fehlt eine Konvertierung in big int. Aufgrund der Tatsache, dass das Ändern von Spaltentypen bei großen Tabellen einige Zeit dauern kann, wurden sie nicht automatisch geändert. Durch Ausführen von "occ db:convert-filecache-bigint" können diese ausstehenden Änderungen manuell übernommen werden. Diese Operation muss ausgeführt werden, während die Instanz offline ist 

 Nextcloud in Maintenance mode setzen, hier ist das sudo wichtig damit  es mit Webseiten Benutzerrechten ausgeführt wird. Der Benutzername ist der Plesk Benutzer des jeweiligen Domainspaces. Kann im Fileexplorer nachgeschaut werden. Die PHP Versionkann in Plesk unter der Subdomain nachgeschaut werden. 

 Maintenance Mode  on 

 sudo -u <username> /opt/plesk/php/<php-version>/bin/php /var/www/vhosts/<domain>/<subdomain>/occ maintenance:mode --on 

 Nun die Korrektur ausführen 

 sudo -u <username> /opt/plesk/php/<php-version>/bin/php /var/www/vhosts/<domain>/<subdomain>/occ db:convert-filecache-bigint 

 Maintenance Mode deaktivieren 

 sudo -u <username> /opt/plesk/php/<php-version>/bin/php /var/www/vhosts/<domain>/<subdomain>/occ maintenance:mode --off 

 Für Deine Installation ist keine Standard-Telefonregion festgelegt. Dies ist erforderlich, um Telefonnummern in den Profileinstellungen ohne Ländercode überprüfen zu können. Um Nummern ohne Ländercode zuzulassen, füge bitte "default_phone_region" mit dem entsprechenden ISO 3166-1-Code ↗ der gewünschten Region hinzu. 

 

 sudo -u <username> /opt/plesk/php/<php-version>/bin/php /var/www/vhosts/<domain>/<subdomain>/occ config:system:set default_phone_region --value="DE" 

 Dem Modul php-imagick fehlt die SVG-Unterstützung. Für eine bessere Kompatibilität wird empfohlen, es zu installieren 

 Per ssh einloggen un d folgendes Paket installieren 

 sudo apt-get install libmagickcore-dev 

 Fertig.

Alle Apps entfernen die nicht Standard sind
Beschreibung: 

 Hier ein Script mit dem alle Apps entfernt werden können. Die nicht Standard sind. 

   

 hier ist das sudo wichtig damit  es mit Webseiten Benutzerrechten ausgeführt wird. Der Benutzername ist der Plesk Benutzer des jeweiligen Domainspaces. Kann im Fileexplorer nachgeschaut werden. Die PHP Versionkann in Plesk unter der Subdomain nachgeschaut werden. 

 Damit das Skript funktioniert wird noch die abbhängigkeit jq installiert 

 apt install jq 

 Das Skript 

 #!/bin/bash

# Liste der standardmäßig installierten Apps

standard_apps=("files" "activity" "cloud_federation_api" "dav" "federatedfilesharing" "federation" "files_external" "files_sharing" "files_trashbin" "files_versions" "lookup_server_connector" "oauth2" "provisioning_api" "serverinfo" "sharebymail" "text" "twofactor_backupcodes" "updatenotification" "viewer" "workflowengine")

# Holen Sie sich die Liste der installierten Apps

installed_apps=$(sudo -u <username> /opt/plesk/php/<php-version>/bin/php /var/www/vhosts/<domain>/<subdomain>/occ app:list --output=json | jq -r 'keys[]')

# Durchlaufen Sie die installierten Apps

for app in $installed_apps; do

 # Prüfen Sie, ob die App in der Liste der standardmäßig installierten Apps enthalten ist

 if [[ ! " ${standard_apps[@]} " =~ " ${app} " ]]; then

 # Wenn die App nicht in der Liste ist, deaktivieren Sie sie

 sudo -u <username> /opt/plesk/php/<php-version>/bin/php /var/www/vhosts/<domain>/<subdomain>/occ app:disable $app

 # Und entfernen Sie sie (optional)

 rm -rf /var/www/vhosts/<domain>/<subdomain>/apps/$app

 fi

done

 

  