Inhaltsverzeichnis

Home Cloud

Grundlagen

Diese Anleitung basiert im Wesentlichen auf der Beschreibung der Carsten Rieger IT-Services (daher bitte diese entsprechend verwenden).

Nextcloud: Installation on Linux

Carsten Rieger IT-Services: Nextcloud Installationsanleitung

Unten sind nur einige Hinweise zur praktischen Durchführung, die vielleicht dem ein oder andern helfen.

Voraussetzung:

MariaDB

Konfiguration

mysql -u root
  CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
  CREATE USER 'ncdbuser'@'localhost' identified by '<yourpassword>';
  GRANT ALL PRIVILEGES on nextcloud.* to 'ncdbuser'@'localhost';
  FLUSH privileges;
  quit

Prüfung

mysql -h localhost -u root -p -e "SELECT @@TX_ISOLATION; SELECT SCHEMA_NAME 'database', default_character_set_name 'charset', DEFAULT_COLLATION_NAME 'collation' FROM information_schema.SCHEMATA WHERE SCHEMA_NAME='nextcloud'"

„@@TX_ISOLATION“ muss “READ-COMMITTED” und „collation“ muss “utf8mb4_general_ci” zeigen.

Backup / Restore

sudo -u www-data /usr/bin/php /var/www/nextcloud/occ maintenance:mode --on

# Backup
mysqldump -h localhost -u ncdbuser -p nextcloud > nextcloud-<ISO-Datum>.db
gzip nextcloud-<ISO-Datum>.db

# Restore
systemctl stop mysqld
gunzip nextcloud-<ISO-Datum>.db
mysql < nextcloud-<ISO-Datum>.db
ps -ef|grep mysqld
kill -15 <PS-ID>
systemctl start mysqld

sudo -u www-data /usr/bin/php /var/www/nextcloud/occ maintenance:mode --off

Nextcloud Silent Install

su - www-data -s /bin/bash -c 'php /var/www/nextcloud/occ maintenance:install --database "mysql" --database-name "nextcloud" --database-user "ncdbuser" --database-pass "<yourpassword>" --admin-user "<yourdomain>" --admin-pass "<yourpassword>" --data-dir "/var/nc_data"'

Nextcloud Update

Vor dem Update sollten zunächst alle Apps auf Stand gebracht werden.

https://docs.nextcloud.com/server/latest/admin_manual/maintenance/update.html#using-the-command-line-based-updater

Update und Upgrade in Einzelschritten:

sudo -u www-data /usr/bin/php /var/www/nextcloud/updater/updater.phar
sudo -u www-data /usr/bin/php /var/www/nextcloud/occ upgrade
sudo -u www-data /usr/bin/php /var/www/nextcloud/occ maintenance:mode --off

Nacharbeiten: Sicherheits- und Einrichtungswarnungen

# Fehlende Indizes
sudo -u www-data /usr/bin/php /var/www/nextcloud/occ db:add-missing-indices

# Fehlende Primärschlüssel
sudo -u www-data /usr/bin/php /var/www/nextcloud/occ db:add-missing-primary-keys

# Spaltentypen
sudo -u www-data /usr/bin/php /var/www/nextcloud/occ db:convert-filecache-bigint

Nextcloud Apps

Nextcloud Backup

Nextcloud Sicherung und Wiederherstellung

sudo -s
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on

# Backup Webfolder (den Punkt am Ende nicht vergessen)
tar -cpzf /home/<username>/ncserver_`date +"%w"`.tar.gz -C /var/www/nextcloud .

# Backup Daten (den Punkt am Ende nicht vergessen)
tar -cpzf /home/<username>/ncdata_`date +"%w"`.tar.gz -C /var/nc_data .

# Backup Datenbank
mysqldump --single-transaction -h localhost -u ncdbuser -p nextcloud > /home/<username>/ncdb_`date +"%w"`.sql

sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off

Logs

# PHP
tail -f /var/log/php8.2-fpm.log
#
# nginx
tail -f /var/log/nginx/error.log
#
# Nextcloud
tail -f /var/nc_data/nextcloud.log
tail -f /var/nc_data/nextcloud.log | jq