Tutorials  /  Linux Basics

MODX auf CentOS 7 mit Nginx, PHP 7.2 & MariaDB installieren

Ccentron Redaktion · Juni 2025 ·8 Min. Lesezeit ·Linux Basics, Tutorial

MODX ist ein quelloffenes Content-Management-System, das in PHP programmiert ist und für die Datenverwaltung MySQL oder MariaDB nutzt. Es eignet sich besonders für Unternehmen, die auf eine kontinuierlich gepflegte Online-Präsenz angewiesen sind. Entwicklern bietet MODX maximale Freiheit bei der Gestaltung und Struktur der Website. Gleichzeitig ermöglicht ein WYSIWYG-Editor auch technisch weniger versierten Anwendern die komfortable Pflege der Inhalte. Die Plattform kombiniert hohe Flexibilität mit ausgezeichneten Performance-Möglichkeiten.

Diese Anleitung basiert auf MODX Version 2.6.1, kann jedoch auch mit neueren Versionen kompatibel sein.

Voraussetzungen

  • Ein CentOS 7 Server
  • Ein Benutzer mit Sudo-Rechten
  • Eine Domain, die korrekt auf den Server zeigt

In dieser Anleitung verwenden wir modx.example.com als Platzhalterdomain. Ersetze diesen Domainnamen im Verlauf durch deine eigene Domain.

VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

System vorbereiten

Bevor du mit der Installation beginnst, solltest du dein System gemäß der Anleitung "How to Update CentOS 7" auf den aktuellen Stand bringen. Danach kannst du die erforderlichen Pakete installieren.

Nginx installieren

Nginx ist ein leistungsstarker Webserver, der sich hervorragend für moderne Webanwendungen eignet. Installiere Nginx mit den folgenden Befehlen:

Konsole
sudo yum -y install epel-release
sudo yum -y install nginx

Aktiviere Nginx und sorge dafür, dass der Dienst beim Systemstart automatisch gestartet wird:

Konsole
sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7.2 installieren

MODX funktioniert mit PHP-Versionen ab 5.4. Um eine optimale Leistung und Sicherheit zu gewährleisten, installieren wir PHP 7.2. Da diese Version nicht im Standard-Repository enthalten ist, musst du zunächst das Remi-Repository aktivieren:

Konsole
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72

Installiere nun PHP 7.2 sowie alle erforderlichen Erweiterungen für MODX:

Konsole
sudo yum -y install php php-zlib php-mysqli php-curl php-json php-cli php-pear php-gd php-openssl php-xml php-mbstring php-fpm ImageMagick

Bearbeite anschließend die PHP-Konfigurationsdatei:

Konsole
sudo nano /etc/php.ini

Heb die Kommentarzeile für die Zeitzone auf und trage deinen korrekten Wert ein:

Code
date.timezone = Asia/Kolkata

Setze die Speichergrenze so, dass unbegrenzter Speicher zur Verfügung steht:

Code
memory_limit = -1

Setze den folgenden Parameter, um die Verarbeitung von Pfadinformationen zu deaktivieren:

Code
cgi.fix_pathinfo=0

Öffne nun die Konfigurationsdatei für den PHP-FPM-Pool und passe sie an:

Konsole
sudo nano /etc/php-fpm.d/www.conf

Kommentiere den bestehenden Listener aus und füge eine neue Zeile hinzu:

Code
;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php-fpm.sock

Ändere auch die Benutzer- und Gruppenangaben wie folgt:

Code
listen.owner = nginx
listen.group = nginx

user = nginx
group = nginx

Starte den PHP-FPM-Dienst neu und aktiviere ihn für den automatischen Systemstart:

Konsole
sudo systemctl restart php-fpm
sudo systemctl enable php-fpm

Erstelle abschließend das Verzeichnis für PHP-Sessions und setze die richtigen Berechtigungen:

Konsole
sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session

Du kannst nun mit der Installation von MariaDB fortfahren.

MariaDB einrichten

MariaDB ist eine quelloffene Weiterentwicklung von MySQL. Da CentOS standardmäßig nur eine veraltete Version anbietet, musst du das MariaDB-Repository manuell hinzufügen:

Konsole
echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo

Installiere anschließend MariaDB:

Konsole
sudo yum -y install mariadb mariadb-server

Starte den Datenbankdienst und aktiviere den automatischen Start beim Booten:

Konsole
sudo systemctl start mariadb
sudo systemctl enable mariadb

Sichere deine Datenbankinstallation mit dem folgenden Befehl:

Konsole
sudo mysql_secure_installation

Beim Ausführen wirst du nach dem Root-Passwort gefragt – bei einer frischen Installation ist keines gesetzt. Drücke Enter, lege ein sicheres Passwort fest und bestätige alle vorgeschlagenen Sicherheitsoptionen mit „Y“.

Logge dich dann mit dem Root-Account in die MySQL-Shell ein:

Code
mysql -u root -p

Führe nun folgende SQL-Befehle aus, um eine neue Datenbank und einen Benutzer für MODX einzurichten:

Code
CREATE DATABASE modx_data CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'modx_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON modx_data.* TO 'modx_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Du kannst die Namen für Datenbank und Benutzer frei wählen. Achte darauf, dass du StrongPassword durch ein starkes Passwort ersetzt.

MODX installieren

Lade die aktuelle MODX-Version als ZIP-Archiv herunter:

Konsole
wget https://modx.com/download/direct?id=modx-2.6.1-pl.zip -O modx.zip

Um die aktuellste Version zu finden, besuche die offizielle MODX-Downloadseite. Installiere als Nächstes das Entpack-Tool unzip:

Konsole
sudo yum -y install unzip

Entpacke das Archiv in das Webverzeichnis von Nginx:

Konsole
sudo unzip modx.zip -d /usr/share/nginx/

Wechsle in das Verzeichnis und benenne den entpackten Ordner um:

Konsole
cd /usr/share/nginx/
sudo mv modx-*/ modx/

Benenne nun die Datei ht.access in .htaccess um:

Konsole
sudo mv /usr/share/nginx/modx/ht.access /usr/share/nginx/modx/.htaccess

Lege ein Verzeichnis für den Cache an und übertrage den Besitz an den Benutzer nginx:

Konsole
sudo mkdir /usr/share/nginx/modx/core/cache
sudo chown nginx:nginx /usr/share/nginx/modx/core/cache

Erstelle anschließend eine leere Konfigurationsdatei und stelle sicher, dass alle Dateien im Webverzeichnis dem richtigen Benutzer gehören:

Konsole
sudo touch /usr/share/nginx/modx/core/config/config.inc.php
sudo chown -R nginx:nginx /usr/share/nginx/

Erlaube abschließend eingehenden Webverkehr über HTTP und HTTPS in der Firewall:

Konsole
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

Nginx Virtual Host konfigurieren

Damit deine MODX-Website über Nginx erreichbar ist, musst du eine neue Virtual-Host-Konfiguration erstellen. Öffne dazu eine neue Datei:

Konsole
sudo nano /etc/nginx/conf.d/modx.example.com.conf

Füge den folgenden Inhalt in die Konfigurationsdatei ein:

Code
server {
    listen 80;
    server_name modx.example.com;
    root /usr/share/nginx/modx;
    index index.php;
    client_max_body_size 30M;

    location / {
        root /usr/share/nginx/modx;
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php?q=$1 last;
        }
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_ignore_client_abort on;
        fastcgi_param SERVER_NAME $http_host;
    }

    location ~ /\.ht {
        deny all;
    }
}

Konfiguration testen

Nachdem du die Datei gespeichert hast, teste die Nginx-Konfiguration auf Fehler:

Konsole
sudo nginx -t

Wenn alles korrekt eingerichtet ist, erhältst du folgende Ausgabe:

Code
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Aktiviere die neue Konfiguration, indem du den Nginx-Dienst neu startest:

Konsole
sudo systemctl restart nginx

MODX-Installation abschließen

Um die Installation von MODX fertigzustellen, öffne deinen Webbrowser und rufe folgende Adresse auf:

http://modx.example.com/setup

Daraufhin erscheint der Installationsassistent von MODX, in dem du zunächst die gewünschte Sprache auswählst. Anschließend klickst du auf „Neue Installation“ und gibst die Zugangsdaten deiner MariaDB- oder MySQL-Datenbank ein. Danach legst du ein Administrator-Konto an.

Mit einem Klick auf „Installieren“ wird die Konfiguration in die Datenbank geschrieben und der Setup-Prozess abgeschlossen. Du wirst dann direkt zum Administrationsbereich weitergeleitet, wo du mit dem Aufbau deiner Website beginnen kannst.

Fazit

Nach erfolgreicher Einrichtung von MODX auf deinem CentOS-7-Server mit Nginx, PHP 7.2 und MariaDB steht dir eine flexible und leistungsfähige Plattform zur Verfügung. Sie eignet sich sowohl für Entwickler als auch für weniger technisch versierte Anwender. Über das Administrations-Dashboard kannst du Inhalte pflegen und das Layout deiner Website individuell gestalten. Damit hast du die optimale Grundlage, um deine Webprojekte effizient umzusetzen.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren