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.
Ü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:
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
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
Ü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
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;
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.
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:
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.
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.
Nachdem die Installation abgeschlossen ist, siehst du die folgende Seite:
Klicke auf Website anzeigen, um die PyroCMS-Startseite aufzurufen. Unten siehst du die Standard-Indexseite für PyroCMS.
Klicke auf Anmelden, um den Anmeldebildschirm von PyroCMS aufzurufen. Gib deinen Admin-Benutzer und dein Passwort ein und klicke dann auf Anmelden.
Wenn die Anmeldung erfolgreich war, siehst du das PyroCMS-Admin-Dashboard wie folgt:
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.