Zum Inhalt

Quick Install Nextcloud v2 (2026.11)

Testumgebung und Zugangsdaten

Diese Anleitung ist für eine abgeschottete Testumgebung vorgesehen. Für eine bessere Übersicht und nachvollziehbare Übungsschritte die Benutzernamen und Passwörter aus der Vorlage auf der Vorbereitungsseite unverändert verwenden. Diese Zugangsdaten sind ausschließlich für die Testumgebung bestimmt.

Diese Schnellanleitung beschreibt die Installation von Nextcloud unter Ubuntu 26.04 LTS.

Voraussetzungen und Versionsprüfung

Diese Anleitung gilt für einen frischen Einzelserver in der Testumgebung mit Apache und mod_php. Alle Shell-Befehle werden als Root ausgeführt (bei Bedarf zuvor sudo -i ausführen). Ein fester Hostname, beispielsweise nc.home.arpa, muss auf den Clients zur Server-IP aufgelöst werden. Hostnamen und IP-Adressen sind an die lokale Testumgebung anzupassen. Für Benutzer und Passwörter gelten die Werte aus der Vorlage.

Vor der Installation die Systemanforderungen der gewählten Nextcloud-Version prüfen. Insbesondere muss sie PHP 8.5 und die installierte MariaDB-Version unterstützen. Der Web-Installer lädt eine aktuelle Version; diese Anleitung legt keine feste Nextcloud-Version fest. Die Anleitung ist vor einer Anwendung auf ältere Versionen auf Kompatibilität zu prüfen.

Zugangsdaten für die Installation

Die verwendeten Benutzernamen, Beispielpasswörter und Datenbankangaben stehen unter Vorbereitung für die Installation.

System aktualisieren und alle benötigten Pakete installieren

Die Pakete für Apache, MariaDB, PHP, HTTPS, Redis und Cron werden gemeinsam installiert. Auch der in dieser Anleitung verwendete Editor vi ist enthalten.

apt update
apt upgrade
apt install -y \
  apache2 mariadb-server mariadb-client \
  openssl ca-certificates sudo vim-tiny wget curl zip unzip cron \
  php php-cli libapache2-mod-php php-mysql \
  php-zip php-xml php-mbstring php-gd php-curl \
  php-apcu php-redis redis-server php-gmp php-bcmath php-intl php-imagick \
  librsvg2-common libmagickcore-7.q16-10-extra

Dienste starten und die installierten Versionen prüfen:

systemctl enable --now apache2 mariadb redis-server
php -v
mariadb --version

MariaDB einrichten

Datenbank vorbereiten

mariadb-secure-installation

Enter current password for root (enter for none):
Switch to unix_socket authentication [Y/n] Y
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Datenbank und Benutzer für Nextcloud anlegen

mariadb
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'nc_pass';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost';
FLUSH PRIVILEGES;
exit;

Überprüfen

mariadb

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| nextcloud          |
+--------------------+
2 rows in set (0.001 sec)

MariaDB [(none)]> exit;

Apache-Konfiguration anpassen

Die Konfigurationsdatei öffnen:

vi /etc/apache2/sites-available/000-default.conf

Den Inhalt durch folgende Konfiguration ersetzen:

<VirtualHost *:80>

    ServerName nc.home.arpa
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/nextcloud

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

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


</VirtualHost>

Der HTTP-VirtualHost dient zunächst zur Installation in der Testumgebung. HTTPS, Zertifikate mit passenden Namenseinträgen und HSTS werden zum Abschluss der Anpassungen im Abschnitt HTTPS mit TLS/SSL einrichten eingerichtet. HSTS wird nicht in diesem HTTP-VirtualHost gesetzt.

PHP anpassen

Für die hier verwendete PHP-Version:

vi /etc/php/8.5/apache2/php.ini

Vorhandene Einträge anpassen, statt sie mehrfach hinzuzufügen:

memory_limit = 512M
opcache.interned_strings_buffer=16 
output_buffering = Off

memory_limit gilt pro PHP-Prozess und sollte nur bei entsprechendem Bedarf und ausreichendem RAM erhöht werden. Auch /etc/php/8.5/cli/php.ini prüfen und dort mindestens memory_limit = 512M für Wartungsaufgaben setzen. APCu wird durch die Paketinstallation geladen; kein zusätzliches extension=apcu.so ergänzen. pcre.jit bleibt auf dem Standardwert, sofern keine konkrete Fehlermeldung eine Änderung erfordert.

Datenbank anpassen

Die folgende Leistungsanpassung ist optional. Den Wert in der bestehenden Gruppe [mysqld] einfügen beziehungsweise den vorhandenen Eintrag ändern:

vi /etc/mysql/mariadb.conf.d/50-server.cnf
innodb_log_file_size = 256M

Änderungen an dieser Datei durch systemctl restart mariadb aktivieren und den Dienststatus mit systemctl status mariadb --no-pager prüfen. Bei einem Startfehler zuerst journalctl -u mariadb -n 50 --no-pager auswerten. Ein Slow-Query-Log ist für die Grundinstallation nicht nötig und wird hier nicht zusätzlich eingerichtet.

Änderungen aktivieren

a2enmod headers
a2enmod rewrite
a2ensite 000-default.conf
apache2ctl configtest

Nur bei Syntax OK mit systemctl restart apache2 fortfahren.
Bei aktiver Firewall muss der HTTP-Zugriff der Übungsclients erlaubt sein,
für die spätere HTTPS-Einrichtung zusätzlich Port 443 freigeben.

Nextcloud-Installationsskript herunterladen

install -d -o www-data -g www-data /var/www/nextcloud
cd /var/www/nextcloud
wget https://download.nextcloud.com/server/installer/setup-nextcloud.php
chown www-data:www-data setup-nextcloud.php

Nextcloud im Webbrowser einrichten

Namensauflösung vor dem Browserzugriff prüfen

Ohne DNS im Netzwerk muss der Servername auf den Clients in der Hosts-Datei eingetragen werden. Die Schritte für Linux und Windows stehen unter Vorbereitung für die Installation.

Installation im Browser öffnen

Die Einrichtung im Webbrowser unter folgender Adresse fortsetzen:

http://nc.home.arpa/setup-nextcloud.php

Im Web-Installer . als Installationsverzeichnis angeben, damit Nextcloud direkt in /var/www/nextcloud und nicht in einem weiteren Unterverzeichnis landet. Anschließend das Administratorkonto anlegen. MySQL/MariaDB auswählen und nc_user, das Datenbankpasswort aus der Vorlage, nextcloud und localhost eintragen. Für die Übung /var/www/nextcloud/data als Datenverzeichnis verwenden. Für einen späteren öffentlichen Betrieb empfiehlt sich ein Datenverzeichnis außerhalb des Webroots; dessen Pfad muss bereits bei der Installation festgelegt werden.

Nach erfolgreicher Einrichtung das Installationsskript entfernen, falls es noch existiert:

rm -f /var/www/nextcloud/setup-nextcloud.php

HTTP ist hier nur für das isolierte Übungsnetz vorgesehen. Vor einem Zugriff über öffentliche Netze HTTPS und Zertifikatsvertrauen einrichten.

Nextcloud-Konfiguration anpassen

vi /var/www/nextcloud/config/config.php

Innerhalb des vorhandenen $CONFIG-Arrays vor ); die folgenden Einträge ergänzen. Bereits vorhandene Schlüssel ändern, nicht doppelt einfügen:

'maintenance_window_start' => 1,
'default_phone_region' => 'DE',

DE steht für Deutschland. Eine zusätzliche serverid ist für diesen Einzelserver nicht erforderlich. Den tatsächlichen Hostnamen in der vorhandenen Liste trusted_domains ergänzen, falls Nextcloud einen Zugriff über eine nicht vertrauenswürdige Domain meldet. Bestehende Einträge beibehalten.

Lokalen Cache und Dateisperren einrichten

APCu wird hier ausschließlich als lokaler Cache verwendet. Für transaktionale Dateisperren wird auf diesem Einzelserver Redis eingerichtet. Ohne Redis kann Nextcloud weiterhin die Datenbank für Sperren nutzen; APCu ist kein Ersatz für diesen Sperr-Cache.

APCu, das PHP-Redis-Modul und Redis wurden bereits am Anfang installiert. Den lokalen Redis-Dienst in einer Root-Shell starten beziehungsweise prüfen:

systemctl enable --now redis-server
systemctl restart apache2
redis-cli -h 127.0.0.1 ping

Die letzte Abfrage sollte PONG liefern. Die folgenden Einstellungen setzen Redis auf 127.0.0.1:6379 ohne zusätzliche Authentifizierung voraus. Redis bleibt lokal gebunden; abweichende Port-, Socket- oder Passwortkonfigurationen vor der Übernahme prüfen. Bei PHP-FPM muss dessen Dienst statt nur Apache neu geladen beziehungsweise gestartet werden.

Die folgenden Einträge innerhalb des vorhandenen $CONFIG-Arrays in /var/www/nextcloud/config/config.php einfügen. Vorhandene gleichnamige Einträge ersetzen, nicht doppelt hinzufügen:

'filelocking.enabled' => true,
'memcache.local' => '\OC\Memcache\APCu',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
    'host' => '127.0.0.1',
    'port' => 6379,
],

Für die nachfolgenden CLI-Aufrufe lässt sich APCu gezielt mit php -d apc.enable_cli=1 aktivieren. Alternativ lässt sich apc.enable_cli=1 in einer auch von PHP-CLI geladenen APCu-Konfiguration setzen. Eine Änderung nur in der Apache-php.ini wirkt nicht auf CLI.

Kontrolle: In der Administrationsübersicht prüfen, ob Cache- und Sperr-Warnungen verschwunden sind. Bei Fehlern zuerst Redis-Erreichbarkeit und das geladene PHP-Modul prüfen, statt die Warnung nur auszublenden.

Nach den Konfigurationsänderungen Syntax und Installationsstatus prüfen:

php -l /var/www/nextcloud/config/config.php
sudo -u www-data php -d apc.enable_cli=1 /var/www/nextcloud/occ status

Erwartet werden installed: true, maintenance: false und kein erforderliches Datenbankupgrade. Vor dem Fortfahren mögliche Fehler beheben.

Gemeldete Datenbankwartung ausführen

Die folgenden Befehle ausführen, wenn die Übersicht fehlende Indizes oder aufwendige Reparaturschritte meldet. Bei einer bereits genutzten Instanz vorher sichern:

sudo -u www-data php -d apc.enable_cli=1 /var/www/nextcloud/occ db:add-missing-indices
sudo -u www-data php -d apc.enable_cli=1 /var/www/nextcloud/occ maintenance:repair --include-expensive

Hintergrundjobs mit Cron einrichten

Nach Abschluss der Nextcloud-Installation wird ein Cronjob für den Webserverbenutzer www-data angelegt. Alle fünf Minuten wird cron.php ausgeführt. Die folgenden Shell-Befehle werden als Administrator ausgeführt:

systemctl enable --now cron
sudo -u www-data php -d apc.enable_cli=1 /var/www/nextcloud/occ background:cron
crontab -u www-data -e

In dieser Benutzer-Crontab eine eigene Zeile ergänzen, ohne bereits vorhandene Aufgaben zu löschen. Anders als in /etc/crontab wird hier kein Benutzername ergänzt:

*/5 * * * * /usr/bin/php -d apc.enable_cli=1 -f /var/www/nextcloud/cron.php

/usr/bin/php muss auf eine von der installierten Nextcloud-Version unterstützte PHP-CLI-Version zeigen. Dies prüfen mit /usr/bin/php -v und /usr/bin/php --ini; Webserver und CLI können unterschiedliche Versionen und Konfigurationsdateien verwenden.

Kontrolle: Zuerst einen Durchlauf manuell starten:

sudo -u www-data /usr/bin/php -d apc.enable_cli=1 -f /var/www/nextcloud/cron.php
crontab -u www-data -l

Ein erfolgreicher Durchlauf muss keine Ausgabe erzeugen. Anschließend in den Administrationseinstellungen unter „Grundeinstellungen“ den Cron-Modus und nach einigen Minuten den Zeitpunkt der letzten Ausführung prüfen. Fehler bei fehlenden PHP-Modulen oder Cache-Zugriffen zuerst beheben. Das Wartungsfenster allein ersetzt diese Einrichtung nicht.

Die Einstellung 'maintenance_window_start' => 1, bezieht sich auf 01:00 UTC und verschiebt geeignete tägliche Aufgaben in ein vierstündiges Fenster. Andere Jobs laufen weiterhin regelmäßig.

HTTPS mit TLS/SSL einrichten

Die folgenden Schritte gelten für die lokale Testumgebung mit nc.home.arpa. Durchgehend den tatsächlichen Hostnamen verwenden und sicherstellen, dass er auf allen Clients zur Server-IP aufgelöst wird. Alle Befehle werden als Root ausgeführt. Für eine öffentliche Installation sind stattdessen ein öffentlicher Domainname und ein Zertifikat einer vertrauenswürdigen Zertifizierungsstelle erforderlich.

Zertifikat für die Testumgebung erstellen

Ein selbstsigniertes Zertifikat mit dem Hostnamen als Subject Alternative Name (SAN) erstellen. Es verschlüsselt die Verbindung, wird aber nicht automatisch als vertrauenswürdig erkannt:

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 \
  -keyout /etc/ssl/private/nextcloud.key \
  -out /etc/ssl/certs/nextcloud.crt \
  -subj "/CN=nc.home.arpa" \
  -addext "subjectAltName=DNS:nc.home.arpa"
chmod 600 /etc/ssl/private/nextcloud.key
openssl x509 -in /etc/ssl/certs/nextcloud.crt -noout -dates -ext subjectAltName
openssl x509 -in /etc/ssl/certs/nextcloud.crt -noout -fingerprint -sha256

Ausschließlich das öffentliche Zertifikat nextcloud.crt an die Übungsclients verteilen. Den Fingerabdruck über einen vertrauenswürdigen Weg prüfen und das Zertifikatsvertrauen auf jedem Client einrichten. Der private Schlüssel nextcloud.key bleibt auf dem Server. Eine einmalige Ausnahme bei einer Browserwarnung ersetzt die Vertrauenseinrichtung nicht.

Nextcloud anschließend über den Hostnamen aufrufen. Für einen direkten IP-Aufruf müsste auch die tatsächliche IP als IP:... im SAN enthalten sein.

Apache-HTTPS-VirtualHost erstellen

Eine eigene Site-Datei öffnen:

vi /etc/apache2/sites-available/nextcloud-ssl.conf

Folgenden Inhalt einfügen und den Hostnamen anpassen:

<VirtualHost *:443>
    ServerName nc.home.arpa
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/nextcloud

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/nextcloud.crt
    SSLCertificateKeyFile /etc/ssl/private/nextcloud.key

    <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-ssl-error.log
    CustomLog ${APACHE_LOG_DIR}/nextcloud-ssl-access.log combined
</VirtualHost>

Die benötigten Module und die Site aktivieren:

a2enmod ssl headers rewrite
a2ensite nextcloud-ssl.conf
apache2ctl configtest

Nur bei Syntax OK neu laden:

systemctl reload apache2

Bei aktiver Firewall HTTPS auf TCP-Port 443 für die Clients erlauben. Bei mehreren SSL-Sites die Zuordnung mit apache2ctl -S prüfen; für denselben Hostnamen darf keine unbeabsichtigte konkurrierende Konfiguration greifen.

https://nc.home.arpa/ im Browser öffnen und das Zertifikat prüfen. Falls Nextcloud eine nicht vertrauenswürdige Domain meldet, den tatsächlichen Hostnamen in der vorhandenen trusted_domains-Liste in config/config.php ergänzen. Vorhandene Einträge beibehalten; hier steht der Hostname ohne https:// und ohne Pfad.

Auf dem Server die HTTPS-Antwort mit dem selbst erstellten Zertifikat prüfen:

curl --cacert /etc/ssl/certs/nextcloud.crt -I https://nc.home.arpa/

Die Prüfung muss ohne Zertifikatsfehler gelingen. Bei einem öffentlich vertrauenswürdigen Zertifikat entfällt --cacert. Zertifikatsprobleme nicht mit -k umgehen.

HTTP auf HTTPS umleiten

Erst nach erfolgreicher HTTPS-Prüfung den Inhalt der ausschließlich für diese Nextcloud verwendeten /etc/apache2/sites-available/000-default.conf durch folgende Konfiguration ersetzen:

<VirtualHost *:80>
    ServerName nc.home.arpa
    Redirect permanent / https://nc.home.arpa/
</VirtualHost>

HSTS aktivieren und prüfen

Nach funktionierender HTTPS- und Vertrauenseinrichtung in /etc/apache2/sites-available/nextcloud-ssl.conf innerhalb des <VirtualHost *:443>-Blocks vor </VirtualHost> folgende Zeile ergänzen:

Header always set Strict-Transport-Security "max-age=15552000"

Damit merkt sich der Browser die HTTPS-Pflicht für 180 Tage. includeSubDomains nur setzen, wenn auch alle betroffenen Subdomains HTTPS unterstützen. Die beiden Konfigurationsänderungen prüfen:

apache2ctl configtest

Nur bei Syntax OK laden und anschließend beide Adressen prüfen:

systemctl reload apache2
curl -I http://nc.home.arpa/
curl --cacert /etc/ssl/certs/nextcloud.crt -I https://nc.home.arpa/

Die HTTP-Antwort soll mit 301 und Location: https://nc.home.arpa/ weiterleiten. Die HTTPS-Antwort soll Strict-Transport-Security: max-age=15552000 enthalten. Anschließend Administrationseinstellungen → Übersicht neu laden und prüfen, ob die HSTS-Warnung verschwunden ist.

Quelle: Nextcloud: HTTPS und HSTS.

Optional: Client-Push nach HTTPS einrichten

Client-Push ist nicht installiert. Dies kann zu verzögerten Talk-Benachrichtigungen führen.

Client-Push informiert unterstützte Clients unmittelbar über Änderungen. Die Grundinstallation funktioniert auch ohne den Dienst. Voraussetzung für diesen Schritt sind das oben eingerichtete Redis sowie funktionierendes HTTPS und Zertifikatsvertrauen.

Die App installieren und den Einrichtungsassistenten starten:

sudo -u www-data php -d apc.enable_cli=1 /var/www/nextcloud/occ app:install notify_push
sudo -u www-data php -d apc.enable_cli=1 /var/www/nextcloud/occ notify_push:setup

Den Anweisungen des Assistenten folgen. Zusätzlich zur App sind ein Push-Hintergrunddienst und die Apache-Weiterleitung erforderlich. Die gemeinsame Anleitung Client-Push als optionale Erweiterung beschreibt die Voraussetzungen, verweist auf die manuellen Einrichtungsschritte und erklärt die abschließende Prüfung der Push-Adresse.

Optional: Talk-Hochleistungs-Backend einrichten

Kein Hochleistungs-Backend eingerichtet – Ohne das Hochleistungs-Backend skaliert Talk nur für kleinere Meetings (max. 2–3 Teilnehmer). Bitte das Hochleistungs-Backend einrichten, um sicherzustellen, dass Meetings mit mehreren Teilnehmern reibungslos funktionieren.

Für größere Talk-Konferenzen steht unter Optional die gemeinsame Anleitung Talk-Hochleistungs-Backend bereit. Sie beschreibt die Docker-Einrichtung, die Apache-Anbindung und die Prüfung in Talk. Voraussetzung sind funktionierendes HTTPS sowie passende Namensauflösung und Zertifikatsvertrauen auch im Container. Client-Push ersetzt dieses Backend nicht.

Installation abschließen und prüfen

  • Administrationseinstellungen → Übersicht öffnen und verbleibende Meldungen anhand von Konfiguration und Fehlersuche bearbeiten.
  • Die oben eingerichteten HTTPS-Verbindungen, die HTTP-Weiterleitung und den Strict-Transport-Security-Header über die tatsächlich verwendete HTTPS-Adresse prüfen.
  • Unter Grundeinstellungen den E-Mail-Versand konfigurieren und eine Testnachricht senden. Weitere Informationen: E-Mail-Versand prüfen.
  • Mit einem normalen Benutzerkonto eine Testdatei hochladen und wieder herunterladen. Auch den letzten Cron-Durchlauf und die Fehlerprotokolle unter /var/www/nextcloud/data/nextcloud.log und /var/log/apache2/error.log prüfen.
  • Vor Updates und vor der Nutzung mit wichtigen Daten die Datenbank, das Datenverzeichnis, die Konfiguration und eigene Apps/Themes als konsistenten Stand sichern. Eine Kopie außerhalb des Servers aufbewahren und die Wiederherstellung prüfen. Der Wartungsmodus allein erstellt kein Backup. Siehe Nextcloud: Backup.

Info zu den Modulen

Ubuntu 26.04 und PHP 8.5:

Alternativ lassen sich die generischen Paketnamen (z. B. php-mysql oder php-imagick) verwenden; das System installiert dann automatisch die passende Version für die Standard-PHP-Umgebung.

Modul Bedeutung und Funktion
apache2 Der Apache HTTP Server, einer der am häufigsten verwendeten Webserver.
mariadb-server MariaDB, eine relationale Datenbank, die eine Abspaltung von MySQL ist.
openssl Eine Toolkit-Implementierung des Secure Sockets Layer (SSL) und Transport Layer Security (TLS) Protokolls.
php8.5 PHP 8.5, die Skriptsprache für die serverseitige Webentwicklung (Standard unter Ubuntu 26.04).
wget Ein Befehlszeilenprogramm zum Herunterladen von Dateien aus dem Internet.
curl Ein Befehlszeilen-Tool für die Datenübertragung mit URL-Syntax.
zip und unzip Werkzeuge zum Komprimieren und Dekomprimieren von Dateien und Verzeichnissen.
php8.5-mysql PHP 8.5-Erweiterung für die MySQL-Datenbankanbindung.
php8.5-zip PHP 8.5-Erweiterung für die Arbeit mit ZIP-Archiven.
libapache2-mod-php8.5 Apache-Modul für die Integration von PHP 8.5 in den Webserver.
php8.5-xml PHP 8.5-Erweiterung für die Verarbeitung von XML-Dokumenten.
php8.5-mbstring PHP 8.5-Erweiterung für Multibyte-String-Manipulationen.
php8.5-gd PHP 8.5-Erweiterung für die dynamische Erzeugung von Bildern.
php8.5-curl PHP 8.5-Erweiterung für die Unterstützung von cURL, einem Werkzeug für die Datenübertragung mit URLs.
php8.5-apcu PHP 8.5-Erweiterung für den Alternativen PHP Cache - User Cache, ein Cache-System für PHP-Anwendungen.
php8.5-intl PHP 8.5-Erweiterung für Internationalisierung und Lokalisierung.
php8.5-bcmath PHP 8.5-Erweiterung für präzise mathematische Berechnungen mit beliebiger Genauigkeit.
php8.5-gmp PHP 8.5-Erweiterung für GNU Multiple Precision, für mathematische Operationen.
php8.5-imagick PHP 8.5-Erweiterung für die Manipulation von Bildern mit der ImageMagick-Bibliothek.
libmagickcore-7.q16-10-extra Zusätzliche Bibliotheken für ImageMagick (Version 7 unter Ubuntu 26.04), die für die Bildmanipulation benötigt werden.

Konfigurationsoptionen (für PHP 8.5 php.ini)

Konfigurationsoption Bedeutung
output_buffering = Off Deaktiviert den Ausgabe-Puffer.
memory_limit = 512M Speicherlimit pro PHP-Prozess; bei Bedarf und ausreichend RAM erhöhen.
upload_max_filesize = 20G Definiert die maximale Größe von hochgeladenen Dateien auf 20 Gigabyte.
post_max_size = 20G Legt das maximale Limit für die Größe aller POST-Daten in einem HTTP-POST-Request auf 20 Gigabyte fest.
opcache.interned_strings_buffer=16 Reserviert 16 Megabyte Speicher im OPcache für internierte Zeichenketten, was die Leistung in Bezug auf Zeichenkettenoptimierung unterstützt.
APCu-Modul Wird durch php-apcu eingebunden; keine zusätzliche extension=apcu.so-Zeile erforderlich.
apc.enable_cli=1 Aktiviert den APC-Cache auch für PHP-CLI (Command Line Interface) Anwendungen.

Die Upload-Werte 20G sind optionale Beispiele und werden oben nicht gesetzt. Bei Bedarf beide Werte in der Apache-php.ini anpassen und Apache neu starten. Auch Apache-Limits, ein vorgeschalteter Proxy und verfügbarer Speicher beeinflussen die tatsächlich mögliche Uploadgröße.

Quellen und Geltungsbereich

Die Anleitung wurde mit den offiziellen Unterlagen zu Systemanforderungen, Linux-Installation und PHP-Konfiguration abgeglichen. Sie beschreibt eine manuelle Testinstallation; zusätzliche Apps können weitere Pakete benötigen. Paketverfügbarkeit und Versionskompatibilität vor Ort prüfen.