So installierst du Joomla mit Apache und kostenlosem Let’s Encrypt SSL auf Alma Linux 8
Joomla ist ein kostenloses, quelloffenes und eines der beliebtesten Content Management Systeme. Es ist in PHP geschrieben und wird verwendet, um Websites und Blogs ohne Programmierkenntnisse zu erstellen. Es bietet kostenlose und kostenpflichtige Plugins und Themes, mit denen du die Funktionalität deiner Website erweitern kannst. Es bietet ein Kontrollpanel für die Verwaltung von Websites über den Webbrowser. Joomla bietet sehr nützliche Funktionen wie Mehrsprachenunterstützung, Medienmanager, SEO, ein integriertes Hilfesystem, Kontaktmanagement und vieles mehr.
In diesem Lernprogramm lernst du, wie du Joomla CMS mit Apache und Let’s Encrypt SSL auf Alma Linux 8 installierst.
Voraussetzungen
- Ein Server, auf dem Alma Linux 8 läuft.
- Ein gültiger Domainname, der auf die IP deines Servers zeigt.
- Ein Root-Passwort ist auf dem Server konfiguriert.
LAMP-Server installieren
Joomla läuft auf dem Webserver, ist in PHP geschrieben und verwendet MariaDB als Datenbank-Backend. Daher musst du den LAMP Server auf deinem System installieren sowie einige nützliche Tools wie z.B. curl. Du kannst ihn mit dem folgenden Befehl installieren:
dnf install httpd @mariadb php php-curl php-xml php-zip php-mysqlnd php-intl php-gd php-json php-ldap php-mbstring php-opcache unzip curl wget -y
Sobald die Installation abgeschlossen ist, bearbeite die PHP-Konfigurationsdatei und ändere die Standardeinstellungen:
nano /etc/php.ini
Ändere die folgenden Zeilen:
memory_limit = 256M output_buffering = Off max_execution_time = 300 date.timezone = UTC
Speichere und schließe die Datei. Starte dann den Apache-Dienst und aktiviere ihn so, dass er nach dem Neustart des Systems gestartet wird:
systemctl start httpd mariadb systemctl enable httpd mariadb
MariaDB-Datenbank konfigurieren
Als Nächstes musst du eine Datenbank und einen Benutzer für Joomla CMS einrichten. Verbinde dich zunächst mit der MariaDB-Shell mit dem folgenden Befehl:
mysql
Sobald du eingeloggt bist, erstelle eine Datenbank und einen Benutzer mit dem folgenden Befehl:
MariaDB [(none)]> CREATE DATABASE joomla; MariaDB [(none)]> GRANT ALL PRIVILEGES ON joomla.* TO 'joomla'@'localhost' IDENTIFIED BY "securepassword";
Lade anschließend die Berechtigungen neu, um die Änderungen zu übernehmen:
MariaDB [(none)]> FLUSH PRIVILEGES;
Verlasse die MariaDB-Shell mit folgendem Befehl:
MariaDB [(none)]> EXIT;
Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Joomla CMS herunterladen
Zum Zeitpunkt der Erstellung dieses Tutorials ist die neueste Version von Joomla 4.1.2 verfügbar. Du kannst sie mit folgendem Befehl von der offiziellen Download-Seite herunterladen:
wget https://downloads.joomla.org/cms/joomla4/4-1-2/Joomla_4-1-2-Stable-Full_Package.zip?format=zip -O joomla.zip
Sobald der Download abgeschlossen ist, entpackst du die heruntergeladene Datei mit folgendem Befehl in das Apache Web Root Verzeichnis:
unzip joomla.zip -d /var/www/html/joomla
Als Nächstes änderst du die Eigentümerschaft und die Berechtigung für das Joomla-Verzeichnis:
chown -R apache:apache /var/www/html/joomla/ chmod -R 775 /var/www/html/joomla/
Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Apache für Joomla konfigurieren
Als nächstes musst du eine Konfigurationsdatei für den virtuellen Apache-Host für Joomla erstellen. Du kannst sie mit dem folgenden Befehl erstellen:
nano /etc/httpd/conf.d/joomla.conf
Füge die folgenden Codes ein:
<VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot "/var/www/html/joomla" ServerName joomla.example.com ErrorLog "/var/log/httpd/example.com-error_log" CustomLog "/var/log/httpd/example.com-access_log" combined <Directory "/var/www/html/joomla"> DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
Speichere und schließe die Datei und starte den Apache-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl restart httpd
Du kannst nun den Status des Apache-Webservers mit dem folgenden Befehl überprüfen:
systemctl status httpd
Du erhältst die folgende Ausgabe:
? httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d ??php-fpm.conf Active: active (running) since Fri 2022-04-15 08:52:59 UTC; 3s ago Docs: man:httpd.service(8) Main PID: 4749 (httpd) Status: "Started, listening on: port 80" Tasks: 213 (limit: 11412) Memory: 24.3M CGroup: /system.slice/httpd.service ??4749 /usr/sbin/httpd -DFOREGROUND ??4751 /usr/sbin/httpd -DFOREGROUND ??4752 /usr/sbin/httpd -DFOREGROUND ??4753 /usr/sbin/httpd -DFOREGROUND ??4754 /usr/sbin/httpd -DFOREGROUND Apr 15 08:52:59 linux systemd[1]: httpd.service: Succeeded. Apr 15 08:52:59 linux systemd[1]: Stopped The Apache HTTP Server. Apr 15 08:52:59 linux systemd[1]: Starting The Apache HTTP Server...
Wenn du mit der Apache-Konfiguration fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Firewall für Joomla konfigurieren
Als Nächstes musst du HTTP- und HTTPS-Dienste über die Firewall zulassen. Du kannst sie mit dem folgenden Befehl zulassen:
firewall-cmd --add-service=http --zone=public --permanent firewall-cmd --add-service=https --zone=public --permanent
Lade als Nächstes die Firewalld neu, um die Änderungen zu übernehmen:
firewall-cmd --reload
Zugriff auf den Joomla Web-Installationsassistenten
Öffne nun deinen Webbrowser und rufe die Joomla-Installation über die URL http://joomla.example.com auf. Du wirst zu folgendem Bildschirm weitergeleitet:
Wähle deine Sprache, gib den Namen deiner Website ein und klicke dann auf die Anmeldedaten einrichten. Du solltest den Bildschirm für die Admin-Konfiguration sehen:
Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf Datenbankverbindung einrichten. Du solltest den folgenden Bildschirm sehen:
Gib deinen Datenbanknamen, deinen Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Joomla installieren. Sobald Joomla installiert ist, solltest du den folgenden Bildschirm sehen:
Klicke auf die Schaltfläche Administrator öffnen. Du solltest den Joomla-Anmeldebildschirm sehen:
Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Anmelden. Auf dem folgenden Bildschirm solltest du das Joomla-Dashboard sehen:
Joomla CMS mit Let’s Encrypt SSL sichern
Als nächstes musst du den Certbot-Client installieren, um Let’s Encrypt SSL für deine Website zu installieren. Du kannst ihn mit dem folgenden Befehl installieren:
dnf install epel-release -y
dnf install certbot python3-certbot-apache
Als Nächstes besorgst du dir ein SSL-Zertifikat für deine Let’s-Domain und installierst es mit dem folgenden Befehl:
certbot --apache -d joomla.example.com
Du wirst aufgefordert, deine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): hitjethva@gmail.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Account registered. Requesting a certificate for joomla.example.com Performing the following challenges: http-01 challenge for joomla.example.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/httpd/conf.d/joomla.conf Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/joomla.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://joomla.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Subscribe to the EFF mailing list (email: hitjethva@gmail.com). IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/joomla.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/joomla.example.com/privkey.pem Your certificate will expire on 2022-07-09. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Fazit
Herzlichen Glückwunsch! Du hast erfolgreich Joomla CMS mit Apache und Let’s Encrypt SSL auf Alma Linux 8 installiert. Mit dem wunderbaren Joomla CMS kannst du jetzt deine eigene Website ohne Programmierkenntnisse erstellen. Bitte zögere nicht, uns zu fragen, wenn du irgendwelche Fragen hast.