So installierst Du Magento auf einem VPS
06/03/2026
Das Wichtigste auf einen Blick
Für die Installation von Magento 2 auf einem VPS brauchst Du einen Linux-Server mit ausreichend Ressourcen, normalerweise mindestens 2–4 GB RAM, mehrere CPU-Kerne, PHP 8.x, MySQL oder MariaDB, Composer und Elasticsearch. Ein VPS bietet isolierte Ressourcen, Root-Zugriff und volle Kontrolle über die Serverkonfiguration, was für eine stabile Leistung und Skalierbarkeit wichtig ist. Die richtige Vorbereitung des Servers, die Installation von Abhängigkeiten und die Konfiguration der Umgebung sorgen für eine sichere und optimierte Magento-Bereitstellung.
Wenn Du Magento auf einem Virtual Private Server (VPS) installierst, hast Du die volle Kontrolle über Deine Hosting-Umgebung und kannst die Leistung optimieren, Serverressourcen verwalten und Einstellungen entsprechend Deinen E-Commerce-Anforderungen konfigurieren. Im Gegensatz zu Shared Hosting bietet ein VPS isolierte CPU, Arbeitsspeicher und Speicherplatz, was für die Bewältigung von hohem Datenverkehr und komplexen Magento-Vorgängen unerlässlich ist.
Dieser Leitfaden führt Dich Schritt für Schritt durch den Installationsprozess. Du lernst, wie Du Deinen Server vorbereitest, die erforderlichen Abhängigkeiten installierst, Deine Umgebung konfigurierst und ein voll funktionsfähiges Setup fertigstellst.
Magento verstehen und warum es einen VPS braucht
Magento ist eine Open-Source-E-Commerce-Plattform, die auf Skalierbarkeit und Anpassbarkeit ausgelegt ist. Zu den modernen Technologien gehören PHP 8.x, MySQL oder MariaDB, Composer für die Verwaltung von Abhängigkeiten und Elasticsearch für die erweiterte Produktsuche. Diese Komponenten ermöglichen Funktionen auf Unternehmensebene, machen die Plattform aber auch ressourcenintensiver als einfache CMS-Plattformen.
In der Regel sind mindestens 2–4 GB RAM, mehrere CPU-Kerne und schneller Speicher erforderlich, um einen reibungslosen Betrieb zu gewährleisten, insbesondere wenn Produktkataloge und Datenverkehr zunehmen. Shared Hosting schränkt oft die Speichernutzung ein, begrenzt die Serverkonfigurationsoptionen und bietet keinen Root-Zugriff, was zu Leistungsengpässen und Stabilitätsproblemen führt.
Ein VPS bietet eine isolierte Umgebung mit garantierter CPU- und Speicherzuweisung, Root-Zugriff für die vollständige Serverkontrolle und eine skalierbare Infrastruktur, um Wachstum zu ermöglichen. Mit einem VPS kannst Du PHP-Einstellungen konfigurieren, die Datenbank optimieren und Caching- und Suchlösungen wie Elasticsearch integrieren. Diese Funktionen machen VPS-Hosting zur empfohlenen Wahl für Händler, die einen zuverlässigen, leistungsstarken Magento-Shop suchen.
Magento installieren
Schritt 1: Verbinde Dich mit Deinem VPS und aktualisiere das System
Verbinde Dich über SSH mit Deinem VPS, aktualisiere Pakete und erstelle einen Nicht-Root-Benutzer.
ssh root@YOUR_SERVER_IP
Aktualisiere und upgrade das System:
apt update && apt upgrade -y

(Optional, aber empfohlen) Erstelle einen Nicht-Root-Benutzer:
adduser magentoadmin
usermod -aG sudo magentoadmin

Wechsel zum neuen Benutzer:
su - magentoadmin

Von jetzt an Befehle als magentoadmin mit sudo ausführen.
Schritt 2: Eine einfache Firewall (UFW) einrichten
Deinen VPS so sichern, dass nur SSH- und Web-Datenverkehr erlaubt sind.
UFW installieren:
sudo apt install -y ufw

Erlaube SSH:
sudo ufw allow OpenSSH
Erlaube HTTP und HTTPS für Nginx:
sudo ufw allow ‚Nginx Full‘

Aktiviere die Firewall:
sudo ufw enable

Schritt 3: Installiere den Nginx-Webserver
Installiere Nginx, um Deinen Magento-Shop zu betreiben.
sudo apt install -y nginxsudo systemctl enable nginxsudo systemctl start nginx

Schritt 4: MySQL 8 installieren und die Magento-Datenbank erstellen
Installiere MySQL, sichere es und erstelle eine eigene Datenbank und einen eigenen Benutzer für Magento.
Installiere MySQL:
sudo apt install mysql-server -y

Sichere die Installation:
sudo mysql_secure_installation

Folge den Anweisungen:
- Lege ein starkes Root-Passwort fest
- Entferne anonyme Benutzer
- Verbiete die Remote-Root-Anmeldung
- Entferne die Testdatenbank
- Lade die Berechtigungen neu
Melde Dich bei MySQL an:
sudo mysql

Erstelle die Datenbank und den Benutzer (wähle ein starkes Passwort):
sql
CREATE DATABASE magento DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;CREATE USER ‚magentouser‘@'localhost' IDENTIFIED BY ‚YourStrongPasswordHere‘;GRANT ALL PRIVILEGES ON magento.* TO ‚magentouser‘@'localhost';FLUSH PRIVILEGES;EXIT;

Schritt 5: PHP-Repository hinzufügen und PHP 8.2 + erforderliche Erweiterungen installieren
Ubuntu 24.04 kommt mit PHP 8.3, aber Magento 2.4. x unterstützt bis zu PHP 8.2. Wir fügen ein PHP-Repository hinzu und installieren PHP 8.2 mit den erforderlichen Erweiterungen.
Füge das Ondřej PHP PPA hinzu:
sudo apt updatesudo apt install -y software-properties-common ca-certificates lsb-release apt-transport-httpssudo add-apt-repository ppa:ondrej/php -ysudo apt update

Installiere PHP 8.2/8.1 und Erweiterungen:
sudo apt install -y \ php8.2-fpm php8.2-cli php8.2-mysql php8.2-gd \ php8.2-xml php8.2-curl php8.2-intl php8.2-mbstring php8.2-bcmath \ php8.2-zip php8.2-soap php8.2-xsl php8.2-opcache

Überprüfe PHP-FPM:
sudo systemctl status php8.2-fpm

Bearbeite die PHP-Einstellungen für Magento:
sudo nano /etc/php/8.2/fpm/php.ini

Empfohlene Änderungen:
memory_limit = 2Gmax_execution_time = 180zlib.output_compression = On

Speichere und lade PHP-FPM neu:
sudo systemctl reload php8.2-fpm

Schritt 6: Suche installieren und konfigurieren (Elasticsearch/OpenSearch-kompatibel auf Port 9200)
Magento braucht eine Suchmaschine. Wir installieren Elasticsearch 7.x auf localhost:9200 und richten Magento so ein, dass es die OpenSearch-Engine nutzt, die auf diesen Host/Port zeigt.
Befehle (Beispiel für Elasticsearch 7.x):
Repository hinzufügen:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -echo „deb https://artifacts.elastic.co/packages/7.x/apt stable main“ | \sudo tee /etc/apt/sources.list.d/elastic-7.x.list

Installiere:
sudo apt updatesudo apt install -y elasticsearch

Aktiviere und starte:
sudo systemctl enable elasticsearchsudo systemctl start elasticsearch

Überprüfe:
curl -X GET „localhost:9200“
Du solltest JSON mit Cluster-Infos sehen.

(Optional) Passe die JVM-Heap-Größe bei Bedarf an:
sudo nano /etc/elasticsearch/jvm.options

Beispiel:
-Xms1g-Xmx1g

Neustart:
sudo systemctl restart elasticsearch

Schritt 7: Composer 2 global installieren
Composer wird zum Herunterladen und Verwalten von Magento und seinen Abhängigkeiten benötigt.
cd \~php -r „copy(‚https://getcomposer.org/installer‘, ‚composer-setup.php‘);“sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composerphp -r „unlink(‚composer-setup.php‘);“

Überprüfe:
composer --version
Du solltest Composer Version 2.x.x sehen.

Schritt 8: Erstelle das Magento-Verzeichnis
Erstelle das Verzeichnis, in dem Magento installiert werden soll, und lege die Berechtigungen fest.
sudo mkdir -p /var/www/magento

sudo chown -R $USER:$USER /var/www/magentocd /var/www/magento

Schritt 9: Repository-Schlüssel konfigurieren und Magento herunterladen
Verbinde Composer mit dem Repository von Magento und lade Magento Open Source 2.4.x herunter.
composer config --global http-basic.repo.magento.com dein_öffentlicher_Schlüssel dein_privater_Schlüssel

Magento runterladen:
composer create-project \ --repository-url=https://repo.magento.com/\ magento/project-community-edition .

Das kann ein paar Minuten dauern.
Schritt 10: Dateibesitz und Berechtigungen festlegen
Leg den Besitz (Fileownership) und die Berechtigungen fest, damit Magento und der Webserver richtig funktionieren können.
Leg den Besitz für den Webserver-Benutzer fest:
sudo chown -R www-data:www-data /var/www/magento

Stell sicher, dass die wichtigsten Verzeichnisse beschreibbar sind:
sudo chmod -R 775 /var/www/magento/var \ /var/www/magento/generated \ /var/www/magento/pub/static \ /var/www/magento/pub/media \ /var/www/magento/app/etc

Schritt 11: Nginx-Serverblock für Magento konfigurieren (mit IP)
Mach einen Nginx-Serverblock, der Magento aus dem Verzeichnis pub/ bedient, PHP an PHP-FPM 8.2 weiterleitet und Deine VPS-IP als server_name nutzt.
Erstell die Konfigurationsdatei:
sudo nano /etc/nginx/sites-available/magento.conf

Füge Folgendes ein:
nginx
server { listen 80; server_name DEINE_SERVER-IP; root /var/www/magento/pub; index index.php; # Alles über index.php senden, wenn Datei/Verzeichnis nicht vorhanden ist location / { try_files $uri $uri/ /index.php?$args; } # PHP-Verarbeitung location \~ \\.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; } # Zugriff auf .ht*-Dateien verweigern location \~ /\.ht { deny all; }}

Ersetze YOUR_SERVER_IP durch Deine tatsächliche IP (z. B. 213.160.77.169).
Aktiviere die Website und deaktiviere die Standardeinstellung:
sudo ln -s /etc/nginx/sites-available/magento.conf /etc/nginx/sites-enabled/sudo rm /etc/nginx/sites-enabled/default

Erhöhe die FastCGI-Puffer, um Fehler wie „upstream sent too big header” zu vermeiden (wichtig für Magento):
sudo nano /etc/nginx/nginx.conf
Füge innerhalb des Blocks http { … } Folgendes hinzu:
nginx
fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; fastcgi_busy_buffers_size 32k;

Speichere und teste Nginx:
sudo nginx -tsudo systemctl reload nginx

Schritt 12: Erlaube Magento, Trigger in MySQL zu erstellen (falls nötig)
Wenn Du bei der Installation von Magento eine Fehlermeldung zu SUPER-Privilegien und Binärprotokollierung siehst, aktiviere log_bin_trust_function_creators.
Befehle (nur wenn dieser Fehler auftritt):
Vorübergehend:
sudo mysql -e „SET GLOBAL log_bin_trust_function_creators = 1;“
Dauerhaft:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Füge unter [mysqld] Folgendes hinzu:
log_bin_trust_function_creators = 1
Speichere die Änderungen und starte MySQL neu:
sudo systemctl restart mysql
Überprüfe:
sudo mysql -e „SHOW VARIABLES LIKE ‚log_bin_trust_function_creators‘;“
Du solltest ON/1 sehen.
Schritt 13: Führe den Magento CLI-Installer aus (mit IP + OpenSearch Engine)
Verwende die CLI, um Magento zu installieren, verbinde Dich mit MySQL und der Suchmaschine und setze die Basis-URL auf Deine VPS-IP.
cd /var/www/magento

Starte das Installationsprogramm (ersetze die Werte nach Bedarf):
sudo -u www-data bin/magento setup:install \ --base-url=„http://YOUR_SERVER_IP/“ \ --db-host=‚localhost‘ \ --db-name=„magento“ \ --db-user=„magentouser“ \ --db-password=„Dein starkes Passwort hier“ \ --admin-firstname=„Admin“ \ --admin-lastname=„Benutzer“ \ --admin-email=„admin@example.com“ \ --admin-user=‚admin‘ \ --admin-password=„AdminStrongPass123!“ \ --language=„en_US“ \ --currency=‚USD‘ \ --timezone=„America/New_York“ \ --use-rewrites=1 \ --search-engine=opensearch \ --opensearch-host=„localhost“ \ --opensearch-port=9200


Wenn alles geklappt hat, siehst Du eine Meldung, dass alles fertig ist, und eine Admin-URL, z. B.:
http://YOUR_SERVER_IP/

Dein Admin-Panel findest Du dann unter:
http://YOUR_SERVER_IP/admin_xxx

Standardmäßig braucht Magento 2.4+ eine Zwei-Faktor-Authentifizierung für Admin-Anmeldungen und schickt Einrichtungs-E-Mails an die E-Mail-Adresse des Admins.
Häufige Installationsfehler und wie man sie behebt
Auch wenn Du alle Installationsschritte befolgst, kann Magento 2 auf einem VPS auf häufige Probleme stoßen. So gehst Du damit um:
- PHP-Speicherlimitfehler: Treten auf, wenn der PHP-Speicher während der Installation oder Kompilierung zu gering ist. Erhöhe das memory_limit in der Datei php.ini auf mindestens 2 GB und starte dann Deinen Webserver neu.
- Fehler bei der Elasticsearch-Verbindung: Magento 2.4+ braucht Elasticsearch. Vergewissere Dich, dass der Dienst auf Port 9200 läuft und die Firewall-Einstellungen Verbindungen zulassen.
- Berechtigungsprobleme: Falsche Dateibesitzrechte oder Berechtigungen können Magento daran hindern, in Verzeichnisse wie var, generated oder pub/static zu schreiben. Weise dem Webserver-Benutzer die richtigen Eigentumsrechte zu.
- 404-Fehler nach der Installation: Werden normalerweise durch eine falsche Konfiguration des Webservers verursacht. Aktiviere das Rewrite-Modul von Apache oder überprüfe die Nginx-Serverblöcke und leere dann den Magento-Cache.
- Probleme bei der Composer-Authentifizierung: Treten auf, wenn Magento über Composer ohne die richtigen Marketplace-Schlüssel heruntergeladen wird. Erstelle Deine öffentlichen/privaten Schlüssel aus Deinem Magento Marketplace-Konto und konfiguriere die Composer-Authentifizierung.
Fazit
Die Installation von Magento auf einem VPS sorgt für bessere Leistung, mehr Sicherheit und volle Kontrolle über Deine E-Commerce-Umgebung. Durch die richtige Vorbereitung Deines Servers, die Konfiguration von PHP, des Webservers, der Datenbank und wichtiger Dienste wie Composer und Elasticsearch schaffst Du eine stabile Grundlage. Das Verständnis häufiger Installationsfehler und deren Behebung sorgt für eine reibungslose Einrichtung. Mit einem richtig konfigurierten Magento-VPS kannst Du mit dem Aufbau, der Anpassung und der Skalierung Deines Online-Shops beginnen, um langfristig erfolgreich zu sein.



