Joomla! ist neben WordPress eines der beliebtesten Content Management Systeme (CMS). Mit Joomla können Sie Blogs, Diskussionsforen und andere Websites erstellen.
Es ist kostenlos, Open Source und funktioniert gut mit fast jedem Webhosting-Dienst, wodurch es zu einem der einfachsten zu installieren und zu verwenden ist.
Wenn Sie noch kein Webhosting haben, empfehlen wir Ihnen, Joomla auf Ihrem lokalen Debian-System oder VPS zu installieren.
Hier werden wir sehen, wie man Joomla mit Nginx auf Debian 11 installiert.
Voraussetzungen
LEMP-Stack installieren
Folgen Sie den nachstehenden Links, um den LEMP-Stack auf Ihrem Debian-System für die Joomla-Installation zu installieren.
Installieren Sie EMP (Nginx, MariaDB und PHP) auf Debian 11
Installieren Sie PHP-Erweiterungen
Verwenden Sie den apt-Befehl, um die für Joomla erforderlichen PHP-Erweiterungen zu installieren.
sudo apt update sudo apt install -y php-gd php-xmlrpc php-curl php-intl php-imagick php-mysql php-zip php-xml php-mbstring php-bcmath
Konfigurieren Sie die PHP-Einstellungen für Joomla
Joomla erfordert einige PHP-Konfigurationen wie das temporäre PHP-Verzeichnis und die maximal zulässige Größe, damit hochgeladene Dateien korrekt funktionieren. Bearbeiten Sie also die php.ini
Datei.
sudo nano /etc/php/7.4/fpm/php.ini
Aktualisieren Sie dann die folgenden Werte gemäß Ihren Anforderungen.
output_buffering = off # Required for Joomla upload_tmp_dir = "/tmp" upload_max_filesize = 64M post_max_size = 64M
Richten Sie den virtuellen Nginx-Host für Joomla ein
Wir beginnen mit der Erstellung eines virtuellen Hosts für eine Joomla-Installation. Sie finden alle Konfigurationsdateien für virtuelle Hosts von Nginx unter /etc/nginx/conf.d
Verzeichnis.
Typischerweise enthält die virtuelle Hostdatei einen Domänennamen, eine Portnummer, einen Dokumentenstamm, einen Protokollspeicherort, schnelles CGI usw.
Für diesen Artikel gehe ich von Folgendem aus:
Domainname:itzgeek.net, www.itzgeek.net
Portnummer:80
Dokumentenstamm:/usr/share/nginx/www.itzgeek.net/html
Protokolle:/usr/share/nginx/www.itzgeek.net/logs
Erstellen Sie zunächst eine virtuelle Hostkonfiguration.
sudo nano /etc/nginx/conf.d/www.itzgeek.net.conf
Fügen Sie dann den folgenden Inhalt in die obige Konfigurationsdatei ein. Sie müssen server_name
ändern wie pro Ihre Anforderung.
server { server_name itzgeek.net www.itzgeek.net; root /usr/share/nginx/www.itzgeek.net/html; index index.php index.html; access_log /usr/share/nginx/www.itzgeek.net/logs/access.log; error_log /usr/share/nginx/www.itzgeek.net/logs/error.log; # Prevent access to certain file extensions location ~\.(ini|log|conf)$ { deny all; } location ~ \.php$ { # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini include fastcgi_params; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Erstellen Sie ein Dokumentenstammverzeichnis und ein Protokollverzeichnis.
sudo mkdir -p /usr/share/nginx/www.itzgeek.net/html/ sudo mkdir -p /usr/share/nginx/www.itzgeek.net/logs/
Überprüfen Sie die Nginx-Konfigurationsdatei mit dem folgenden Befehl.
sudo nginx -t
Wenn Sie Folgendes erhalten, bedeutet dies, dass die Konfiguration des virtuellen Hosts korrekt ist.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Starten Sie die Nginx- und PHP-FPM-Dienste neu.
sudo systemctl reload nginx php7.4-fpm
Installieren Sie das SSL-Zertifikat von Let’s Encrypt
DNS-Eintrag erstellen
Gehen Sie zu Ihrem Domain-Registrar und erstellen Sie einen DNS-Eintrag [A und CNAME (optional, wenn Sie keine www-Subdomain verwenden möchten)]-Eintrag für Ihre Domain.
- Nicht-www-Domänenname (z. B. itzgeek.net)>> A Datensatzpunkt auf Ihre Server-IP
- www-Domänenname (z. B. www.itzgeek.net)>> CNAME Rekordpunkt auf itzgeek.net
Für diese Demo habe ich zwei Einträge erstellt, damit meine Joomla-Website unter www.itzgeek.net erreichbar ist.

Certbot-Client installieren
Der Certbot-Client, der uns bei der Generierung und Installation des SSL-Zertifikats von Let’s Encrypt hilft, ist jetzt als Snap-Paket für das Debian-Betriebssystem verfügbar. Installieren Sie also zuerst snapd auf Ihrem System.
sudo apt update sudo apt install -y snapd
Aktualisieren Sie dann snapd auf die neueste Version.
sudo snap install core && sudo snap refresh core
Installieren Sie schließlich den Certbot-Client mit dem Snap-Befehl.
sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot
SSL-Zertifikat installieren
Verwenden Sie den certbot
Befehl zum Generieren und Installieren des SSL-Zertifikats von Let’s Encrypt für den Nginx-Webserver.
sudo certbot --nginx1. E-Mail-Adresse eingeben um Benachrichtigungen über dringende Erneuerungs- und Sicherheitshinweise zu erhalten
2. Geben Sie Y ein und drücken Sie die Eingabetaste sich beim ACME-Server anzumelden
3. Geben Sie J oder N ein um E-Mails über Neuigkeiten, Kampagnen und Newsletter von EFF zu erhalten.
4. Certbot erkennt automatisch die Joomla-Domain und bittet Sie um Erlaubnis, HTTPS zu aktivieren für Ihre Joomla-Website. Geben Sie 1 oder entsprechende Zahlen getrennt durch ein Komma ein falls Sie mehrere Websites haben.
Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1. itzgeek.net 2: www.itzgeek.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1,2
Warten Sie, bis die SSL-Installation abgeschlossen ist. Sie können nun mit HTTPS auf die Website zugreifen.
Hinweis: Wenn Sie jetzt auf die Website zugreifen, erhalten Sie einen 403 verbotenen Fehler, da Sie den Joomla-Installer-Filer noch platzieren müssen.
Nicht-www-HTTP-Anfragen mit Nginx an www-HTTPS weiterleiten
Möglicherweise möchten Sie den Nginx-Server so konfigurieren, dass er den Datenverkehr von der Nicht-www-HTTP-Site auf die WWW-HTTPS-Site umleitet, z. B. http://itzgeek.net>> https://www.itzgeek.net. Sie können dies überspringen, wenn Sie www nicht in Ihrer Domain verwenden.
SSL-Zertifikat automatisch erneuern
Der Certbot-Client enthält jetzt die automatische Verlängerung von SSL-Zertifikaten über das systemd. Sie müssen die Zertifikate also nicht manuell erneuern.
Installieren Sie Joomla mit Nginx
Datenbank für Joomla-Installation erstellen
Melden Sie sich zuerst beim MariaDB/MySQL-Datenbankserver an.
sudo mysql -u root -p
Erstellen Sie dann die Datenbank für die Joomla-Installation zusammen mit dem Datenbankbenutzer und dem Passwort.
CREATE DATABASE joomladb; CREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON joomladb.* TO 'joomlauser'@'localhost'; EXIT
Joomla-Paket herunterladen
Laden Sie die neueste Version des Joomla-Pakets mit dem folgenden Befehl im Terminal herunter.
mkdir /tmp/joomla && cd /tmp/joomla wget https://downloads.joomla.org/cms/joomla4/4-0-3/Joomla_4-0-3-Stable-Full_Package.tar.gz?format=gz -O Joomla_4-0-3-Stable-Full_Package.tar.gz
Extrahieren Sie dann die heruntergeladene Datei.
tar -zxvf Joomla_4-0-3-Stable-Full_Package.tar.gz
Verschieben Sie die Dateien dann in das Stammverzeichnis Ihrer Website-Dokumente.
sudo mv * /usr/share/nginx/www.itzgeek.net/html/
Aktualisieren Sie den Besitz und eine Gruppe des Joomla-Site-Verzeichnisses.
sudo chown -R www-data:www-data /usr/share/nginx/www.itzgeek.net/
Installieren Sie Joomla CMS
Öffnen Sie Ihren Browser und besuchen Sie die Domain Ihrer Joomla-Website, um die Joomla-Installation durchzuführen.
https://Ihre-Joomla-Website
1. Sprache auswählen für das Installationsprogramm und geben Sie den Site-Namen ein für Ihre Joomla-Website und klicken Sie dann auf Anmeldedaten einrichten
2. Geben Sie Joomla-Administratorname, Benutzername, Passwort und E-Mail-Adresse ein , und klicken Sie dann auf Datenverbindung einrichten
3. Wählen Sie als Datenbanktyp MySQL (PDO) aus und geben Sie dann Joomla-Datenbankdetails ein [Lassen Sie das Tabellenpräfix und Verbindungsverschlüsselung unverändert] und klicken Sie dann auf Joomla installieren
4. Sie erhalten jetzt Herzlichen Glückwunsch! Ihre Joomla-Seite ist fertig. Sie können auf die Website zugreifen, indem Sie auf Website vervollständigen und öffnen klicken oder Joomla-Backend, indem Sie auf Complete &Open Admin klicken. Wenn Sie möchten, können Sie auch zusätzliche Sprachen für das Frontend und Backend Ihrer Website hinzufügen, indem Sie auf Zusätzliche Sprachen installieren.
klicken
5. Sie können jederzeit auf das Joomla-Backend zugreifen, indem Sie zu https://your-joomla-website/administrator gehen
Zugriff auf die Joomla-Website
Jetzt können Sie mit Ihrem Domainnamen auf die Website zugreifen.
https://Ihre-Joomla-Website
Schlussfolgerung
Das ist alles. Ich hoffe, Sie haben gelernt, wie man Joomla mit Nginx auf Debian 11 installiert.