Wie man das Node-basierte Roadiz CMS mit Nginx unter Debian installiert

Roadiz ist ein kostenloses und quelloffenes Content Management System, das auf einem Knotensystem basiert. Roadiz ermöglicht es dir, dein eigenes Datenschema von Grund auf zu erstellen und deine Inhalte nach deinen Bedürfnissen zu organisieren. Roadiz wurde speziell für Designer und Entwickler entwickelt, um gemeinsam starke Erlebnisse zu schaffen. Roadiz verwendet eine zentrale Schnittstelle zur Dokumentenverwaltung, in der du alle deine Bilder, Videos und PDFs speichern kannst. Roadiz ermöglicht es dir, mehrere Themen für eine Inhaltsbasis zu wechseln.

In diesem Lernprogramm lernen wir, wie man Roadiz auf einem Debian 11 Server installiert.

Voraussetzungen

  • Ein Server, auf dem Debian 11 läuft.
  • Ein Root-Passwort ist auf deinem Server eingerichtet.

Installiere Nginx, PHP, MariaDB

Zuerst musst du den Webserver Nginx, den Datenbankserver MariaDB, PHP und andere erforderliche PHP-Erweiterungen auf deinem Server installieren. Du kannst sie alle mit dem folgenden Befehl installieren:

apt-get install -y nginx mariadb-server php php-cli php-fpm php-common php-mysql php-mbstring php-gd php-intl php-xml php-curl php-zip php-pgsql php-sqlite3 php-opcache php-apcu curl unzip wget -y

Sobald alle benötigten Pakete installiert sind, öffne die Datei php.ini und nimm die erforderlichen Änderungen vor:

nano /etc/php/7.4/fpm/php.ini

Ändere die folgenden Zeilen:

memory_limit = 128M 
post_max_size = 16M 
upload_max_filesize = 16M 
date.timezone = Asia/Kolkata

Speichere und schließe die Datei. Starte dann den Nginx- und MariaDB-Dienst und aktiviere sie mit folgendem Befehl, damit sie nach dem Neustart gestartet werden:

systemctl start nginx
systemctl enable nginx
systemctl start mariadb
systemctl enable mariadb

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Datenbank für Roadiz konfigurieren

Als Nächstes musst du eine Datenbank, einen Datenbankbenutzer und ein Passwort für Roadiz erstellen.

Melde dich dazu mit folgendem Befehl in der MariaDB-Shell an:

mysql -u roo -p

Gib dein Root-Passwort ein und erstelle dann mit dem folgenden Befehl eine Datenbank und einen Benutzer für Roadiz:

MariaDB [(none)]> CREATE DATABASE roadizdb;
MariaDB [(none)]> GRANT ALL ON roadizdb.* TO 'roadiz' IDENTIFIED BY 'password';

Lösche die Berechtigungen und verlasse die MariaDB-Shell mit folgendem Befehl:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Sobald die Datenbank erstellt ist, kannst du mit dem nächsten Schritt fortfahren.

Roadiz installieren

Zuerst musst du die neueste Version von Roadiz aus dem Git-Repository in das Stammverzeichnis des Nginx-Dokuments herunterladen. Du kannst sie mit dem folgenden Befehl herunterladen:

cd /var/www/html/
git clone https://github.com/roadiz/roadiz.git

Sobald der Download abgeschlossen ist, wechselst du in das Verzeichnis roadiz und öffnest die Datei config.mysql.travis.yml:

cd roadiz
nano conf/config.mysql.travis.yml

Nimm die folgenden Änderungen entsprechend deiner Datenbank vor:

    driver: "pdo_mysql"
    host: "localhost"
    user: "roadiz"
    password: "password"
    dbname: "roadizdb"

Speichere und schließe die Datei, wenn du fertig bist.

Als Nächstes öffnest du die Datei index.php und definierst deine IP-Adresse im Abschnitt AllowedIP:

nano install.php

Füge deine IP-Adresse wie unten gezeigt ein:

$allowedIp = [
    '10.0.2.2',     // vagrant host (forwarded)
    '192.168.33.1', // vagrant host (private)
    '127.0.0.1', 'fe80::1', '::1', ':ffff:127.0.0.1', '::ffff:127.0.0.1', 'YOUR-IP-ADDRESS'
];

Speichere und schließe die Datei. Dann musst du Composer installieren, um die erforderlichen PHP-Abhängigkeiten zu installieren. Du kannst ihn mit dem folgenden Befehl installieren:

curl -sS https://getcomposer.org/installer -o composer-setup.php php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Du solltest die folgende Ausgabe sehen:

All settings correct for using Composer
Downloading...

Composer (version 1.8.6) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Als Nächstes installierst du alle erforderlichen PHP-Abhängigkeiten mit dem folgenden Befehl:

composer install

Als Nächstes gibst du dem Verzeichnis roadiz die richtigen Rechte:

chown -R www-data:www-data /var/www/html/roadiz
chmod -R 755 /var/www/html/roadiz

Nginx für Roadiz konfigurieren

Als Nächstes erstellst du eine virtuelle Nginx-Hostdatei für Roadiz. Dazu kannst du die Datei roadiz.conf im Verzeichnis /etc/nginx/sites-available/ erstellen.

nano /etc/nginx/sites-available/roadiz.conf

Füge die folgenden Zeilen hinzu:

server {
    listen 80;
    listen [::]:80;

    server_name example.com;             
    root /var/www/html/roadiz/;             

    index index.php;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ ^/(dev|install|preview|clear_cache)\.php(/|$) {
        fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
    }

    location ~ ^/index\.php(/|$) {
        fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        internal;
     }
}

Speichere und schließe die Datei. Aktiviere dann die virtuelle Hostdatei mit dem folgenden Befehl:

ln -s /etc/nginx/sites-available/roadiz.conf /etc/nginx/sites-enabled/

Teste Nginx mit folgendem Befehl auf Syntaxfehler:

nginx -t

Starten Sie schließlich Nginx und den PHP-FPM-Dienst neu, um alle Konfigurationsänderungen zu übernehmen:

systemctl restart nginx
systemctl restart php7.4-fpm

Zugriff auf Roadiz Dashboard

Öffne nun deinen Webbrowser und gib die URL http://example.com/install.php ein. Du wirst auf die folgende Seite weitergeleitet:

Roadiz-Installation

Wähle deine Sprache und klicke auf die Anforderungen. Du solltest die folgende Seite sehen:

Anforderungen

Vergewissere dich, dass alle erforderlichen Erweiterungen installiert sind. Klicke dann auf die Schaltfläche Datenbank. Du solltest die folgende Seite sehen:

Datenbank-Einstellungen

Gib deine Datenbankdetails ein und klicke auf die Schaltfläche Datenbank erstellen. Du solltest die folgende Seite sehen:

Datenbank installiert

Klicke als Nächstes auf die Schaltfläche Thema. Du solltest die folgende Seite sehen:

Informationen zur Website

Gib als Nächstes deinen Website-Namen und deine E-Mail-Adresse ein und klicke auf die Schaltfläche “ Informationen speichern „. Du solltest die folgende Seite sehen:

Thema einrichten

Klicke als Nächstes auf die Schaltfläche Theme-Installation durchführen. Du solltest die folgende Seite sehen:

Themeninhalt importieren

Klicke als Nächstes auf die Schaltfläche Benutzer, um einen Admin-Benutzer anzulegen. Du solltest die folgende Seite sehen:

Admin-Benutzer anlegen

Gib als Nächstes die Daten deines Admin-Benutzers ein und klicke auf die Schaltfläche “ Benutzer erstellen „. Du solltest die folgende Seite sehen:

Benutzer erstellt

Klicke als Nächstes auf die Schaltfläche Erledigt. Du solltest die folgende Seite sehen:

Roadiz erfolgreich installiert

Klicke jetzt auf die Schaltfläche Installation beenden. Du solltest die folgende Seite sehen:

Erfolg

Entferne nun die Datei install.php aus dem Stammverzeichnis des Roadiz-Dokuments mit folgendem Befehl:

rm -rf /var/www/html/roadiz/install.php

Öffne nun deinen Webbrowser und rufe deine Verwaltungsoberfläche mit der URL http://example.com/rz-admin auf. Du wirst auf die Roadiz-Anmeldeseite weitergeleitet:

Anmeldung bei Roadiz

Gib deine Anmeldedaten ein und klicke auf die Schaltfläche Anmelden. Auf der folgenden Seite solltest du das Roadiz-Dashboard sehen:

Roadiz Dashboard

Glückwunsch! Du hast Roadiz erfolgreich auf einem Debian 10 Server installiert. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …