====== 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.\\
\\
==== OCC Kommando in APP (via Browser) ohne Rückfrage ausführen ====
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 [[https://docs.nextcloud.com/server/20/admin_manual/installation/harden_server.html|Nextcloud Hardening and security guidance]]
mcedit nextcloud/.htaccess
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
...
===== Nextcloud zu Fuß auf einem Shared Hosting System (aka. Strato Webhosting) - Anno 2019 =====
==== Installation ====
* aktuelles Version von Nextcloud von [[http://www.nextcloud.com|www.nextcloud.com]] herunterladen
wget https://download.nextcloud.com/server/releases/nextcloud-13.0.0.tar.bz2
* entpacken
tar xfj nextcloud-13.0.0.tar.bz2
* entpackten Ordner per FTP in das Web-Root Verzeichnis hochladen
* Datenverzeichnis parallel zum Nextcloud Verzeichnis anlegen um Benutzerdaten und Nextcloud Installation voneinander zu trennen
* ''/tmp'' Verzeichnis innerhalb des Nextcloud-Verzeichnisses anlegen
* URL des Web-Root Verzeichnis in Browser aufrufen und die neue Nextcloud Instanz mit den richtigen Parametern für das Datenverzeichnis, den Benutzernamen und das Passwort des Administrators sowie den Datenbankparametern konfigurieren
* In der Datei ''/nextcloud/config/config.php'' den Pfad zum Datenverzeichnis anpassen und den Pfad zum ''/tmp'' Verzeichnis ergänzen
'tempdirectory' => '/.../.../.../htdocs/.../nextcloud/tmp',
* ''php.ini'' unterhalb von /nextcloud mit folgendem Inhalt anlegen:
memory_limit=512M
upload_max_filesize = 200M
opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
* fertig!
===== ownCloud =====
Als Basis für meine eigene Cloud dient mir ein Webspace Abgebot von Strato - Web-Visitenkarte S PowerWeb Basic
==== Installation ====
* aktuelles Version von ownCloud von [[www.owncloud.org|www.owncloud.org]] herunterladen
wget https://download.owncloud.org/community/owncloud-9.1.3.tar.bz2
* entpacken
tar xfj owncloud-9.1.3.tar.bz2
* entpackten Ordner per FTP in das Web-Root Verzeichnis hochladen
* URL des Web-Root Verzeichnis in Browser aufrufen und die neue ownCloud Instanz mit den richtigen Parametern für das Datenverzeichnis, den Benutzernamen und das Passwort des Administrators sowie den Datenbankparametern konfigurieren - fertig!
=== PHP-Einstellungen für ownCloud (Strato.de) ===
Für einen reibungslosen Betrieb der eigenen ownCloud Instanz auf einem Strato-Account/-Domain werden folgende Parameter in der php.ini im Root-Verzeichnis Ihrer ownCloud-Installation empfohlen:
default_charset = utf-8
file_uploads = On
max_execution_time = 600
safe_mode = Off
post_max_size = 650M
upload_max_filesize = 500M
max_file_uploads = 20
register_globals = Off
=== Wartung und Update/Upgrade ===
Für ein Backup der ownCloud Instanz sind folgende Dateien und Verzeichnisse wichtig:
* das ''/owncloud/config/'' Verzeichnis - es enthält alle wichtigen Konfigurationsparameter
* das ''/owncloud_data/'' Verzeichnis - hier sind unsere hochgeladenen Daten abgelegt
* die ownCloud Datenbank - in Form eines Datenbank-Exports mittels ''phpMyAdmin'' über das "Control Center" -> MySQL-Datenbank -> "dbxxxxxxxxx" -> "Export"
==== Update / Upgrade ====
Vor jeder Art von Arbeiten an der ownCloud Installation z.B. beim Einspielen von Updates oder beim Upgrade auf eine höhere Release Version **muss** immer zuerst der sog. ''Maintenance Mode'' in der Konfigurationsdatei ''/config/config.php'' durch ändern der Variable '' 'maintenance' => false'' zu '' 'maintenance' => true'' eingeschaltet werden.\\
Die Datei ''/config/config.php'' kann dazu per FTP heruntergeladen, mit einem gewöhnlichen Texteditor geändert und wieder hochgeladen werden. Nach einem Neuladen der ownCloud Webseite ([[https://www.von-thuelen.de/owncloud/index.php/login|https://www.von-thuelen.de/owncloud/index.php/login]] wird folgende Meldung ausgegeben:\\
This ownCloud instance is currently in maintenance mode, which may take a while.
This page will refresh itself when the ownCloud instance is available again.
Contact your system administrator if this message persists or appeared unexpectedly.
Thank you for your patience.
\\
Anschließend kann z.B. ein Update nach folgender Anleitung durchgeführt werden: [[https://doc.owncloud.org/server/8.2/admin_manual/maintenance/manual_upgrade.html|https://doc.owncloud.org/server/8.2/admin_manual/maintenance/manual_upgrade.html]].
* neue ownCloud Version von [[https://owncloud.org/install/|https://owncloud.org/install/]] herunterladen
* entpacken: ''tar -xjf owncloud-x.y.z.tar.bz2''
* ownCloud Verzeichnis (''/owncloud'') auf dem Server in ''owncloud_x_y_z'' (x_y_z = alte Version) umbenennen
* neue Version in das Verzeichnis ''owncloud/'' auf dem Server kopieren (Kopieren dauert etwas, >10.000 Dateien ;-))
* Konfiguration nach ''/owncloud/config/'' zurück kopieren
Im Anschluss kann der "Maintenancs Mode" wieder aufgehoben werden. Die Durchführung des Updates bzw. Upgrades muss noch auf der ownCloud Startseite durch klicken auf "Start" angestoßen werden.
=== Kalender Backup & Export ===
Mit dem Zusatz ''?export'' hinter dem jeweiligen Link zum Kalender und den Kontakten kann man jeweils alle Daten (alle Kontakte oder Kalendereinträge) als kompakte Dateien herunter laden.
Die URL für die Kontakte seht dann beispielsweise so aus:\\
****/owncloud/remote.php/carddav/addressbooks/****/contacts/**?export**\\
oder für den Kalender:\\
****/owncloud/remote.php/caldav/calendars/****/****/**?export**
=== Note App (ownCloud 7.x) ===
Quelle: [[https://github.com/owncloud/notes|https://github.com/owncloud/notes]]
git clone https://github.com/owncloud/notes.git
Unterverzeichnis ''notes'' per FTP nach ''/owncloud/apps/'' übertragen\\
Als Admin auf der ownCloud Seite anmelden und über Administration -> Apps -> +Apps -> Notes aktivieren
=== Note App (ownCloud 9.x) ===
Quelle: [[https://github.com/Fmstrat/ownnote|https://github.com/Fmstrat/ownnote]]
git clone https://github.com/Fmstrat/ownnote.git
Unterverzeichnis ''ownnote'' per FTP nach ''/owncloud/apps/ownnote'' übertragen\\
Als Admin auf der ownCloud Seite anmelden und über Administration -> Apps -> +Apps -> OwnNote aktivieren\\