GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Joomla mit Nginx und Let’s Encrypt SSL unter Debian 11

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.

  1. Nicht-www-Domänenname (z. B. itzgeek.net)>> A Datensatzpunkt auf Ihre Server-IP
  2. 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 --nginx
1. 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.


Debian
  1. Installieren Sie Lets Encrypt und Secure Nginx mit SSL/TLS in Debian 9

  2. Installieren Sie Automad CMS mit Nginx und Lets Encrypt SSL auf Debian 10

  3. So installieren Sie OpenCart mit Nginx und Lets Encrypt unter Debian 10

  4. So installieren Sie Drupal 9 mit Nginx und Lets Encrypt SSL unter Debian 10

  5. So installieren Sie Let’s Encrypt SSL auf Ubuntu 18.04 mit Nginx

So installieren Sie Let’s Encrypt SSL in Apache unter Debian 11

So installieren Sie Drupal mit Nginx und Let’s Encrypt SSL unter Debian 11

So installieren Sie Let’s Encrypt SSL in Nginx unter Debian 11

So installieren Sie WordPress mit Nginx und Let’s Encrypt SSL unter Debian 11

So installieren Sie Nginx mit Let’s Encrypt TLS/SSL unter Ubuntu 20.04

So installieren Sie Nginx mit Let’s Encrypt SSL auf Fedora 35