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 -ySchritt 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 -yMariaDB installieren
apt install mariadb-server -y
mysql_secure_installationSchritt 3: Datenbank einrichten
mysql -u root -pCREATE 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.zipSchritt 5: Apache konfigurieren
Erstellen Sie eine neue Konfigurationsdatei:
nano /etc/apache2/sites-available/nextcloud.confInhalt:
<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 apache2Schritt 6: SSL mit Let's Encrypt
apt install certbot python3-certbot-apache -y
certbot --apache -d cloud.example.comSchritt 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/BerlinApache neu starten:
systemctl restart apache2Schritt 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 -eFügen Sie hinzu:
*/5 * * * * php /var/www/nextcloud/cron.phpIn 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-serverIn 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:htaccessSicherheits-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 --offAlternative: 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.