Nextcloud Installation Anleitung
Nextcloud auf eigenem Server installieren
Nextcloud ist die führende Open-Source-Alternative zu Dropbox, Google Drive und iCloud. Betreiben Sie Ihre eigene Cloud für Dateien, Kalender, Kontakte und mehr.
Voraussetzungen
- Ubuntu 22.04/24.04 LTS Server
- LAMP oder LEMP Stack
- Mind. 512 MB RAM (2 GB empfohlen)
- Domain mit SSL-Zertifikat
1. LAMP Stack vorbereiten
sudo apt update
sudo apt install apache2 mariadb-server libapache2-mod-php -y
sudo apt install php php-gd php-mysql php-curl php-mbstring php-intl php-gmp php-bcmath php-xml php-imagick php-zip php-apcu php-redis -y
2. Datenbank einrichten
sudo mysql
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;
3. Nextcloud herunterladen
cd /tmp
wget https://download.nextcloud.com/server/releases/latest.zip
sudo apt install unzip -y
unzip latest.zip
sudo mv nextcloud /var/www/
sudo chown -R www-data:www-data /var/www/nextcloud
4. Apache konfigurieren
sudo nano /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
ServerName cloud.example.com
DocumentRoot /var/www/nextcloud
<Directory /var/www/nextcloud>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/nextcloud-error.log
CustomLog ${APACHE_LOG_DIR}/nextcloud-access.log combined
</VirtualHost>
# Site aktivieren und Module laden
sudo a2ensite nextcloud.conf
sudo a2enmod rewrite headers env dir mime
sudo systemctl restart apache2
5. SSL mit Let's Encrypt
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d cloud.example.com
6. PHP optimieren
sudo nano /etc/php/8.3/apache2/php.ini
memory_limit = 512M
upload_max_filesize = 16G
post_max_size = 16G
max_execution_time = 3600
max_input_time = 3600
date.timezone = Europe/Berlin
# OPcache
opcache.enable = 1
opcache.memory_consumption = 128
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 1
opcache.save_comments = 1
sudo systemctl restart apache2
7. Web-Installation
- Öffnen Sie
https://cloud.example.com - Admin-Konto erstellen
- Datenverzeichnis:
/var/www/nextcloud/data - Datenbank-Zugangsdaten eingeben
- Installation abschließen
8. Feintuning (config.php)
sudo nano /var/www/nextcloud/config/config.php
'trusted_domains' =>
array (
0 => 'cloud.example.com',
),
'default_phone_region' => 'DE',
'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),
9. Cronjob einrichten
sudo crontab -u www-data -e
*/5 * * * * php -f /var/www/nextcloud/cron.php
In Nextcloud: Einstellungen → Verwaltung → Grundeinstellungen → Cron auswählen
10. Datenverzeichnis extern
# Z.B. auf separater Festplatte
sudo mkdir -p /mnt/data/nextcloud
sudo chown www-data:www-data /mnt/data/nextcloud
# In config.php ändern:
'datadirectory' => '/mnt/data/nextcloud',
Empfohlene Apps
- Calendar: Kalender-App
- Contacts: Kontaktverwaltung
- Notes: Notizen
- Tasks: Aufgabenverwaltung
- Deck: Kanban-Boards
- Talk: Video-Konferenzen
Troubleshooting
# Wartungsmodus aktivieren/deaktivieren
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off
# Dateiindex aktualisieren
sudo -u www-data php /var/www/nextcloud/occ files:scan --all
# Status prüfen
sudo -u www-data php /var/www/nextcloud/occ status
Weitere Hilfe
- 📖 Nextcloud Dokumentation
- 📧 E-Mail: support@enjyn.de