So installierst du PyroCMS auf einem Ubuntu 24.04 Server

PyroCMS ist ein Open-Source-CMS, das auf den Web-Frameworks PHP und Laravel basiert. Es ist ein leistungsstarkes Content Management System mit MySQL/MariaDB als Datenbank und bietet außerdem eine intuitive und einfache Webadministration für eine einfachere Verwaltung.

In diesem Lernprogramm führen wir dich durch die Installation von PyroCMS auf Ubuntu 24.04 mit dem LEMP Stack (Linux, Nginx, MySQL/MariaDB und PHP-FPM) und Composer.

Voraussetzungen

Bevor du beginnst, stelle sicher, dass du Folgendes hast:

  • Einen Ubuntu 24.04 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.
  • Einen Domainnamen, der auf die IP-Adresse des Servers zeigt.

Installieren der Abhängigkeiten

PyroCMS ist ein Laravel-basiertes Content Management System mit MySQL/MariaDB als Datenbank. Bevor du PyroCMS installierst, musst du den LEMP-Stack (Linux, Nginx, MySQL/MariaDB und PHP-FPM) und Composer auf deinem Ubuntu-System installieren.

Führe zunächst den folgenden apt-Befehl aus, um deinen Paketindex zu aktualisieren und den LEMP-Stack (Linux, Nginx, MySQL/MariaDB und PHP-FPM) und Composer zu installieren.

sudo apt update sudo apt install nginx mariadb-server composer php-cli php-fpm php-mysql php-curl php-sqlite3 php-mbstring php-gd php-xml

Gib Y ein, um die Installation zu bestätigen.

deps installieren

Überprüfe nach der Installation die LEMP Stack-Dienste, um sicherzustellen, dass diese Dienste laufen.

Überprüfe den Nginx-Webserver mit dem Befehl systemctl (siehe unten).

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Überprüfe nun den Status des MariaDB-Servers mit dem folgenden Befehl:

nginx prüfen

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

mariadbn prüfen

Als Nächstes führst du den folgenden Befehl aus, um den PHP-FPM-Dienst zu überprüfen.

sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm

php-fpm prüfen

Überprüfe zum Schluss die Composer-Version mit dem folgenden Befehl. Du wirst sehen, dass Composer 2.4.7 installiert ist.

sudo -u www-data composer --version

Komponist prüfen

PHP-FPM konfigurieren

Nachdem du die Abhängigkeiten installiert hast, konfigurierst du den PHP-FPM, indem du einige Standardeinstellungen in der Datei php.ini änderst und den PHP-FPM-Dienst neu startest.

Öffne die php.ini-Datei für PHP-FPM mit dem nano-Editor.

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

Ändere die Standardkonfiguration wie folgt und passe die Optionen date.timezone und memory_limit an deine aktuelle Umgebung an.

date.timezone = Europe/Amsterdam
max_execution_time = 130
memory_limit = 256M
allow_url_fopen = On
allow_url_include = Off
post_max_size = 128M
upload_max_filesize = 128M
max_input_vars = 5000

Wenn du fertig bist, speichere die Datei und beende den Editor.

Führe nun den Befehl systemctl aus, um den PHP-FPM-Dienst neu zu starten und deine Änderungen in der php.ini zu übernehmen.

sudo systemctl restart php8.3-fpm

MariaDB-Server konfigurieren

Nachdem du PHP-FPM konfiguriert hast, musst du die Installation des MariaDB-Servers sichern und eine neue Datenbank und einen neuen Benutzer für das PyroCMS erstellen.

Sichere deine MariaDB-Server-Installation mit dem unten stehenden Befehl mariadb-secure-installation.

sudo mariadb-secure-installation

Du wirst nach den folgenden Konfigurationen gefragt:

  • Zu unix_socket-Authentifizierung wechseln? Gib n ein und drücke ENTER.
  • Der Standard-MariaDB-Root-Benutzer ist bereits geschützt. Optional kannst du ihn auch aktivieren, indem du y für yes eingibst.
  • Ändere das Root-Passwort. Gib y ein, um zu bestätigen und dein neues MariaDB Root-Passwort einzurichten.
  • Anonyme Benutzer entfernen? Gib y ein, um zu bestätigen.
  • Root-Login aus der Ferne verbieten? Gib zur Bestätigung y ein. Es wird nur eine lokale Verbindung erlaubt, wenn du die MariaDB
  • Entferne die Testdatenbank und greife auf sie zu. Bestätige mit y und entferne die Standarddatenbank „test“.
  • Gib abschließend erneut y ein, um alle Tabellenrechte auf deinem MariaDB-Server neu zu laden und die neuen Änderungen anzuwenden.

Nachdem du MariaDB konfiguriert hast, erstellst du eine neue Datenbank und einen neuen Benutzer für PyroCMS.

Melde dich mit dem unten stehenden Befehl mariadb am MariaDB-Server an. Gib dein Root-Passwort ein, wenn du dazu aufgefordert wirst.

sudo mariadb -u root -p

Führe nun die folgenden Abfragen aus, um eine neue Datenbank pyrocmsdb, einen neuen Benutzer pyrocms@localhost und das Passwort passw0rd zu erstellen. Ändere die Details Datenbankname, Benutzername und Passwort nach Bedarf.

CREATE DATABASE pyrocmsdb;
GRANT ALL PRIVILEGES ON pyrocmsdb.* TO pyrocms@localhost IDENTIFIED BY 'passw0rd';
FLUSH PRIVILEGES;

Datenbank und Benutzer anlegen

Als Nächstes führst du die folgende Abfrage aus, um die Rechte des Benutzers pyrocms@localhost zu überprüfen. Du wirst sehen, dass der Benutzer pyrocms@localhost Zugriff auf die Datenbank pyrocmsdb hat.

SHOW GRANTS FOR pyrocms@localhost;

Zum Schluss gibst du quit ein, um den MariaDB-Server zu verlassen.

db-Privilegien anzeigen

Herunterladen des PyroCMS-Quellcodes

Erstelle neue Verzeichnisse für Composer und PyroCMS, gehe zu /var/www/pyrocms und ändere dann die Eigentumsrechte an den neuen Verzeichnissen auf den Benutzer www-data. In diesem Fall wird /var/www/pyrocms als Dokumentenstamm für PyroCMS verwendet.

mkdir -p /var/www/{.config,.cache,pyrocms}; cd /var/www/pyrocms
sudo chown -R www-data:www-data /var/www/{.config,.cache,pyrocms}

Führe nun den unten stehenden Composer-Befehl aus, um den PyroCMS-Quellcode herunterzuladen und die PHP-Abhängigkeiten zu installieren und zu aktualisieren.

sudo -u www-data composer create-project pyrocms/pyrocms .
sudo -u www-data composer update

Unten siehst du die Installation von PyroCMS mit dem Composer-Befehl:

Pyrocms-Abhängigkeiten herunterladen und installieren

Nachdem die Installation abgeschlossen ist, fahre mit dem nächsten Abschnitt fort.

Einrichten des Nginx-Serverblocks

In diesem Abschnitt erstellst du eine neue Nginx-Serverblock-Konfiguration für die PyroCMS-Installation. Stelle also sicher, dass du einen Domainnamen hast, der auf die IP-Adresse deines Ubuntu-Servers zeigt. In diesem Beispiel wirst du den Domainnamen howtoforge.local verwenden.

Erstelle mit dem nano-Editor einen neuen Nginx-Serverblock /etc/nginx/sites-available/pyrocms.conf.

sudo nano /etc/nginx/sites-available/pyrocms.conf

Kopiere die folgende Konfiguration und füge sie ein. Achte darauf, dass du den server_name durch deinen Domainnamen ersetzt.

server {
 listen 80;
 server_name howtoforge.local;
index index.php index.html;
root /var/www/pyro/public;

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

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php-8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
}
}

Wenn du fertig bist, speichere und beende die Datei.

Führe nun den folgenden Befehl aus, um einen Symlink von der Datei pyrocms.conf in das Verzeichnis /etc/nginx/sites-enabled zu erstellen und deine Nginx-Syntax zu überprüfen.

sudo ln -s /etc/nginx/sites-available/pyrocms.conf /etc/nginx/sites-enabled/
sudo nginx -t

Wenn du eine korrekte Nginx-Syntax hast, siehst du die Ausgabe test is successful – syntax is ok.

nginx-Einrichtung

Zum Schluss führst du den folgenden systemctl-Befehl aus, um den Nginx-Webserver neu zu starten und deine Änderungen zu übernehmen.

sudo systemctl restart nginx

PyroCMS mit HTTPS über Letsencrypt absichern

Um PyroCMS zu sichern, musst du HTTPS über Letsencrypt implementieren. Dazu musst du Certbot installieren, um SSL/TLS-Zertifikate zu generieren und HTTPS automatisch in deiner PyroCMS-Installation zu implementieren.

Installiere die Pakete certbot und python3-certbot-nginx mit dem folgenden Befehl. Gib Y ein, um die Installation zu bestätigen.

sudo apt install certbot python3-certbot-nginx

Führe nun den folgenden certbot-Befehl aus, um SSL-Zertifikate zu erzeugen und PyroCMS mit HTTPS zu sichern.

sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email admine@howtoforge.local -d howtoforge.local

Nachdem der Vorgang abgeschlossen ist, erhältst du deine Zertifikate im Verzeichnis /etc/letsencrypt/live/domain.com und dein PyroCMS ist nun mit HTTPS gesichert.

Installation von PyroCMS mit dem Web-Installer

Öffne deinen Webbrowser und rufe deinen Domainnamen auf, z. B. https://howtoforge.local/. Jetzt siehst du eine einzelne Seite der PyroCMS-Installation:

  • Wähle Ich stimme zu, um die Lizenz für die PyroCMS-Installation zu akzeptieren.
  • Gib deinen Datenbanknamen, deinen Benutzer und dein Passwort ein.
  • Gib einen neuen Admin-Benutzer, eine E-Mail-Adresse und ein Passwort für dein PyroCMS ein.
  • Gib die Standortdetails für deine Installation ein, z. B. den Domainnamen, die Sprache und die Zeitzone.
  • Klicke auf Installieren, um die Installation zu bestätigen.

pyrocms installieren

Nachdem die Installation abgeschlossen ist, siehst du die folgende Seite:

Installation abgeschlossen

Klicke auf Website anzeigen, um die PyroCMS-Startseite aufzurufen. Unten siehst du die Standard-Indexseite für PyroCMS.

Homepage

Klicke auf Anmelden, um den Anmeldebildschirm von PyroCMS aufzurufen. Gib deinen Admin-Benutzer und dein Passwort ein und klicke dann auf Anmelden.

Anmeldung

Wenn die Anmeldung erfolgreich war, siehst du das PyroCMS-Admin-Dashboard wie folgt:

Dashboard

Fazit

Herzlichen Glückwunsch! Du hast die Installation von PyroCMS auf dem Ubuntu 24.04 Server abgeschlossen. Du hast PyroCMS mit dem LEMP Stack (Linux, Nginx, MySQL/MariaDB und PHP-FPM) installiert. Außerdem hast du PyroCMS mit Composer heruntergeladen und PyroCMS mit HTTPS über Certbot und Letsencrypt gesichert.

Das könnte dich auch interessieren …