Nextcloud ist die führende Open-Source-Lösung für selbst gehostete Cloud-Dienste. Dateien synchronisieren, Kalender teilen, Dokumente bearbeiten - alles auf Ihrem eigenen Server. In dieser Anleitung zeigen wir die Installation.

Voraussetzungen

  • Linux-Server (Ubuntu 22.04 oder Debian 12 empfohlen)
  • Root-Zugriff
  • Domain mit DNS-Eintrag auf den Server
  • Mindestens 1 GB RAM (2+ GB empfohlen)

Schritt 1: System aktualisieren

apt update && apt upgrade -y

Schritt 2: LAMP-Stack installieren

Nextcloud benötigt einen Webserver, PHP und eine Datenbank.

Apache und PHP installieren

apt install apache2 libapache2-mod-php php php-gd php-mysql \
php-curl php-mbstring php-intl php-gmp php-bcmath php-xml \
php-imagick php-zip php-bz2 php-apcu php-redis unzip -y

MariaDB installieren

apt install mariadb-server -y
mysql_secure_installation

Schritt 3: Datenbank einrichten

mysql -u root -p
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'SICHERES_PASSWORT';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Schritt 4: Nextcloud herunterladen

cd /var/www
wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip
chown -R www-data:www-data nextcloud
rm latest.zip

Schritt 5: Apache konfigurieren

Erstellen Sie eine neue Konfigurationsdatei:

nano /etc/apache2/sites-available/nextcloud.conf

Inhalt:

<VirtualHost *:80>
    ServerName cloud.example.com
    DocumentRoot /var/www/nextcloud

    <Directory /var/www/nextcloud>
        Require all granted
        AllowOverride All
        Options FollowSymLinks MultiViews
    </Directory>

    <IfModule mod_dav.c>
        Dav off
    </IfModule>

    ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
    CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost>

Konfiguration aktivieren

a2ensite nextcloud.conf
a2enmod rewrite headers env dir mime
systemctl restart apache2

Schritt 6: SSL mit Let's Encrypt

apt install certbot python3-certbot-apache -y
certbot --apache -d cloud.example.com

Schritt 7: PHP optimieren

Bearbeiten Sie /etc/php/8.1/apache2/php.ini:

memory_limit = 512M
upload_max_filesize = 1G
post_max_size = 1G
max_execution_time = 300
date.timezone = Europe/Berlin

Apache neu starten:

systemctl restart apache2

Schritt 8: Web-Installation

Öffnen Sie https://cloud.example.com im Browser und geben Sie ein:

1. Admin-Benutzername: Ihr gewählter Benutzername 2. Admin-Passwort: Sicheres Passwort 3. Datenverzeichnis: /var/www/nextcloud/data (Standard) 4. Datenbank: MySQL/MariaDB 5. Datenbank-Benutzer: nextcloud 6. Datenbank-Passwort: Ihr gewähltes Passwort 7. Datenbank-Name: nextcloud 8. Datenbank-Host: localhost

Klicken Sie auf "Installation abschließen".

Schritt 9: Cron einrichten

Für bessere Performance sollte Nextcloud per Cron statt per Web aufgerufen werden:

crontab -u www-data -e

Fügen Sie hinzu:

*/5 * * * * php /var/www/nextcloud/cron.php

In Nextcloud unter Einstellungen → Verwaltung → Grundeinstellungen: "Cron" auswählen.

Schritt 10: Memory Cache aktivieren

Bearbeiten Sie /var/www/nextcloud/config/config.php:

'memcache.local' => '\OC\Memcache\APCu',
'default_phone_region' => 'DE',

Optimierungen

Redis für File Locking

apt install redis-server php-redis -y
systemctl enable redis-server

In config.php hinzufügen:

'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
    'host' => 'localhost',
    'port' => 6379,
],

Pretty URLs

In config.php:

'overwrite.cli.url' => 'https://cloud.example.com',
'htaccess.RewriteBase' => '/',

Dann ausführen:

sudo -u www-data php /var/www/nextcloud/occ maintenance:update:htaccess

Sicherheits-Checks

Nextcloud zeigt Warnungen unter Einstellungen → Verwaltung → Übersicht. Häufige Punkte:

HSTS-Header setzen

In der Apache-Konfiguration:

<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=15552000"
</IfModule>

Telefon-Region setzen

In config.php:

'default_phone_region' => 'DE',

Backup

Wichtige Verzeichnisse

  • /var/www/nextcloud/config/ - Konfiguration
  • /var/www/nextcloud/data/ - Alle Nutzerdaten
  • Datenbank-Dump

Backup-Script

#!/bin/bash
DATE=$(date +%Y-%m-%d)
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
mysqldump -u nextcloud -p nextcloud > /backup/nextcloud-db-$DATE.sql
tar -czf /backup/nextcloud-data-$DATE.tar.gz /var/www/nextcloud/data
tar -czf /backup/nextcloud-config-$DATE.tar.gz /var/www/nextcloud/config
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off

Alternative: Nextcloud bei Serverdiscounter

Wenn Ihnen die manuelle Installation zu aufwändig ist, bieten wir Nextcloud Share als Managed-Lösung an - fertig installiert mit Admin-Zugang.

Fazit

Nextcloud auf dem eigenen Server gibt Ihnen volle Kontrolle über Ihre Daten. Die Installation erfordert etwas Linux-Kenntnisse, ist aber gut dokumentiert. Vergessen Sie nicht, regelmäßige Backups einzurichten und Updates zeitnah einzuspielen.