Inhaltsverzeichnis

Meine eigene Cloud

Nextcloud@Strato (Jan. 2021)

MySQL Backup

SCRIPT folgt noch ;-)

Update Script

OLDVERSION="20.0.14"
cd ~
mkdir -p Archiv/$OLDVERSION
cp -r dokuwiki/nextcloud/config/Archiv/$OLDVERSION/
cp -r nextcloud_data/ Archiv/$OLDVERSION/

Installation

WICHTIG: Als erstes die MySQL Datenbank sichern!

ssh strato
# wechsel ins Basisverzeichnis
cd ~

# temp-Verzeichnis anlegen
mkdir tmp

# Konfiguration und php.ini sichern
cp nextcloud/config/config.php ~/tmp/
cp nextcloud/php.ini ~/tmp/

# alte Nextcloud Instanz umbenennen
mv nextcloud nextcloud_old

# neue Version holen und entpacken
cd ~/tmp
wget https://download.nextcloud.com/server/releases/nextcloud-20.0.5.tar.bz2
bunzip2 nextcloud-20.0.5.tar.bz2
tar xf nextcloud-20.0.5.tar

# neue Version an alte stelle verschieben
mv nextcloud ~/

# Konfiguration und php.ini wieder herstellen
cp ~/tmp/php.ini ~/nextcloud
cp ~/tmp/config.php ~/nextcloud/config/

Browser starten, Nextcloud Webseite öffenen und Update starten
ggf. den Maintenance Mode in „config.php“ deaktivieren: maintenance' ⇒ false
Fehler der Form occ db:add-missing-primary-keys können in einer Art Konsole, der App occweb behoben werden. Dort ist direkt die Verwendung von occ möglich.

OOC Kommando per CLI (SSH) ausführen

Quelle: https://schneidr.de/2021/09/php-auf-der-kommandozeile-bei-strato/

ssh strato
cd <nextcloud_root_folder>
# fehlende Tabelleneinträge korrigieren:
#/opt/RZphp80/bin/php-cli path/to/nextcloud/occ db:add-missing-indices
/opt/RZphp82/bin/php-cli path/to/nextcloud/occ db:add-missing-indices

OCC Kommando in APP (via Browser) ohne Rückfrage ausführen

occweb wird aktuell nicht gepflegt.
Siehe Meldung auf GitHub

z.B: –no-interaction anhängen

occ: db:convert-filecache-bigint --no-interaction

Fehlers ''Enable HTTP Strict Transport Security'' beheben

Zeile Header always set Strict-Transport-Security „max-age=15552000; includeSubDomains“ einfügen
Siehe Nextcloud Hardening and security guidance

mcedit nextcloud/.htaccess
<IfModule mod_headers.c>
  <IfModule mod_setenvif.c>
    <IfModule mod_fcgid.c>
       SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
       RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
    </IfModule>
    <IfModule mod_proxy_fcgi.c>
       SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
    </IfModule>
    Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
  </IfModule>
...