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.

Das könnte dich auch interessieren …