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.

Cloud Server bei hosting.de - Jetzt testen

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

apt update && apt upgrade -y.png

(Optional, aber empfohlen) Erstelle einen Nicht-Root-Benutzer:

adduser magentoadmin

usermod -aG sudo magentoadmin

adduser magentoadmin usermod -aG sudo magentoadmin.png

Wechsel zum neuen Benutzer:

su - magentoadmin

su - magentoadmin.png

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

sudo apt install ufw -y .png

Erlaube SSH:

sudo ufw allow OpenSSH

Erlaube HTTP und HTTPS für Nginx:

sudo ufw allow ‚Nginx Full‘

sudo ufw allow OpenSSH sudo ufw allow ‘Nginx Full’.png

Aktiviere die Firewall:

sudo ufw enable

sudo ufw enable.png

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

sudo apt install -y nginxsudo systemctl enable nginxsudo systemctl start nginx.png

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

sudo apt install mysql-server -y.png

Sichere die Installation:

sudo mysql_secure_installation

sudo mysql_secure_installation.png

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

sudo mysql.png

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;

Erstelle die Datenbank

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

Füge das Ondřej PHP PPA hinzu

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

Installiere PHP 8.28.1 und die Erweiterungen.

Überprüfe PHP-FPM:

sudo systemctl status php8.2-fpm

sudo systemctl status php8.2-fpm.png

Bearbeite die PHP-Einstellungen für Magento:

sudo nano /etc/php/8.2/fpm/php.ini

sudo nano etcphp8.2fpmphp.ini.png

Empfohlene Änderungen:

memory_limit = 2Gmax_execution_time = 180zlib.output_compression = On

Empfohlene Änderung

Speichere und lade PHP-FPM neu:

sudo systemctl reload php8.2-fpm

sudo systemctl reload php8.2-fpm.png

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

Repository hinzufügen

Installiere:

sudo apt updatesudo apt install -y elasticsearch

sudo apt updatesudo apt install -y elasticsearch.png

Aktiviere und starte:

sudo systemctl enable elasticsearchsudo systemctl start elasticsearch

sudo systemctl enable elasticsearchsudo systemctl start elasticsearch.png

Überprüfe:

curl -X GET „localhost:9200“

Du solltest JSON mit Cluster-Infos sehen.

curl -X GET localhost9200.png

(Optional) Passe die JVM-Heap-Größe bei Bedarf an:

sudo nano /etc/elasticsearch/jvm.options

sudo nano etcelasticsearchjvm.options.png

Beispiel:

-Xms1g-Xmx1g

-Xms1g-Xmx1g.png

Neustart:

sudo systemctl restart elasticsearch

sudo systemctl restart elasticsearch.png

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‘);“

Installiere Composer 2 global

Überprüfe:

composer --version

Du solltest Composer Version 2.x.x sehen.

composer –version.png

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 mkdir -p varwwwmagento.png

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

sudo chown -R $USER$USER varwwwmagentocd varwwwmagento.png

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 repo keys.png

Magento runterladen:

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

Magento runterladen

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

sudo chown -R www-datawww-data varwwwmagento.png

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

key directories.png

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

sudo nano etcnginxsites-availablemagento.conf.png

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; }}

Konfigurationsdatei

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

Aktiviere die Website und deaktiviere die Standardeinstellung.

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;

FastCGI-Puffer vergrößern

Speichere und teste Nginx:

sudo nginx -tsudo systemctl reload nginx

sudo nginx -tsudo systemctl reload nginx.png

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

cd varwwwmagento.png

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

Starte das Installationsprogramm

Installation erfolgreich

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

http://YOUR_SERVER_IP/

httpYOUR_SERVER_IP.png

Dein Admin-Panel findest Du dann unter:

http://YOUR_SERVER_IP/admin_xxx

httpYOUR_SERVER_IPadmin_xxx.png

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.

Frederick Schiwek
Artikel von
Frederick Schiwek
Hallo! Ich bin Freddy, Autor und Mitglied des Teams von hosting.de. Mit über 20 Jahren Erfahrung im Hosting-Business schreibe ich über Technologie, das Internet und die Zukunft der digitalen Infrastruktur. Ob Domains, Hosting oder Cloud-Dienste – ich bin hier, um Einblicke und Ideen zu teilen!

Verwandte Artikel

Page of