Wie installiere ich Joomla mit Apache und Let’s Encrypt SSL auf Ubuntu 22.04

Joomla ist ein kostenloses, quelloffenes und preisgekröntes Content Management System, mit dem du Websites und Online-Webanwendungen erstellen kannst. Es ist in PHP geschrieben und nutzt MySQL als Datenbank-Backend. Joomla bietet einige hervorragende Funktionen, die den Nutzern helfen, Inhalte effizient zu organisieren und zu verwalten. Es ist erweiterbar, einfach zu bedienen, suchmaschinenfreundlich und bietet eine benutzerfreundliche Weboberfläche, mit der du deine Website von einem zentralen Ort aus verwalten kannst.

In diesem Beitrag zeigen wir dir, wie du Joomla CMS mit Apache und Let’s Encrypt SSL auf Ubuntu 22.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein gültiger Domainname, der auf die IP deines Servers zeigt.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

LAMP-Server installieren

Installiere zunächst den Apache-Webserver, den MySQL-Datenbankserver und die neueste Version von PHP mit anderen Erweiterungen mit dem folgenden Befehl:

apt install apache2 mysql-server php8.1 libapache2-mod-php8.1 php8.1-dev php8.1-bcmath php8.1-intl php8.1-soap php8.1-zip php8.1-curl php8.1-mbstring php8.1-mysql php8.1-gd php8.1-xml unzip -y

Sobald alle Pakete installiert sind, überprüfe die PHP-Version mit dem folgenden Befehl:

php -v

Du solltest die folgende Ausgabe sehen:

PHP 8.1.2 (cli) (built: Apr  7 2022 17:46:26) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Eine MySQL-Datenbank für Joomla erstellen

Als Nächstes musst du eine Datenbank und einen Benutzer für Joomla erstellen, um die Webinhalte zu speichern. Verbinde dich zunächst mit folgendem Befehl mit MySQL:

mysql

Sobald du verbunden bist, erstelle eine Datenbank und einen Benutzer mit dem folgenden Befehl:

mysql> CREATE DATABASE joomladb;
mysql> CREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'securepassword';

Als Nächstes erteilst du der Joomla-Datenbank mit folgendem Befehl alle Berechtigungen:

mysql> GRANT ALL ON joomladb.* TO 'joomlauser'@'localhost';

Als Nächstes löschst du die Tabelle mit den Berechtigungen und beendest MySQL mit folgendem Befehl:

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Joomla herunterladen

Zum Zeitpunkt der Erstellung dieses Tutorials ist die neueste Version von Joomla 4.2.1. Du kannst sie mit folgendem Befehl von der offiziellen Website herunterladen:

wget https://downloads.joomla.org/cms/joomla4/4-1-2/Joomla_4-1-2-Stable-Full_Package.zip

Sobald der Download abgeschlossen ist, entpackst du die heruntergeladene Datei mit folgendem Befehl in das Apache Web Root Verzeichnis:

unzip Joomla_4-1-2-Stable-Full_Package.zip -d /var/www/html/joomla

Als Nächstes änderst du mit folgendem Befehl die Besitz- und Zugriffsrechte von Joomla:

chown -R www-data:www-data /var/www/html/joomla/
chmod -R 755 /var/www/html/joomla/

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Einen virtuellen Apache-Host für Joomla erstellen

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/apache2/sites-available/joomla.conf

Füge die folgenden Zeilen ein:

<VirtualHost *:80>

ServerAdmin [email protected]

ServerName joomla.example.com
DocumentRoot /var/www/html/joomla

<Directory /var/www/html/joomla/>
        Options FollowSymlinks
        AllowOverride All
        Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined

</VirtualHost>

Speichere und schließe die Datei und aktiviere dann den virtuellen Host für Joomla mit dem folgenden Befehl:

a2ensite joomla.conf

Starte anschließend den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Du kannst den Status des Apache-Dienstes auch mit dem folgenden Befehl überprüfen:

systemctl status apache2

Du erhältst die folgende Ausgabe:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-04-29 07:59:59 UTC; 4s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 16393 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 16398 (apache2)
      Tasks: 6 (limit: 4630)
     Memory: 13.8M
        CPU: 129ms
     CGroup: /system.slice/apache2.service
             ??16398 /usr/sbin/apache2 -k start
             ??16399 /usr/sbin/apache2 -k start
             ??16400 /usr/sbin/apache2 -k start
             ??16401 /usr/sbin/apache2 -k start
             ??16402 /usr/sbin/apache2 -k start
             ??16403 /usr/sbin/apache2 -k start

Apr 29 07:59:59 ubuntu systemd[1]: Starting The Apache HTTP Server...

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Zugriff auf die Joomla Web-Installation

Öffne nun deinen Webbrowser und rufe die Joomla-Webinstallation über die URL http://joomla.example.com auf. Du wirst auf die folgende Seite weitergeleitet:

Sprache wählen

Wähle deine Sprache, gib den Namen deiner Website an und klicke auf die Anmeldedaten einrichten. Du solltest die folgende Seite sehen:

Anmeldung bei Joomla

Gib deinen richtigen Namen, deinen Benutzernamen, dein Passwort und deine E-Mail-Adresse ein und klicke auf Datenbankverbindung einrichten. Du solltest die folgende Seite sehen:

Datenbank-Konfiguration

Gib deinen Datenbanknamen, deinen Benutzernamen, deinen Host und dein Passwort an und klicke auf die Schaltfläche Joomla installieren. Sobald Joomla installiert ist, erhältst du die folgende Seite:

Joomla-Installation erfolgreich abgeschlossen

Klicke auf die Schaltfläche Administrator öffnen. Du solltest die Joomla-Anmeldeseite sehen:

Anmeldung als Administrator

Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Anmelden. Auf der folgenden Seite solltest du das Joomla-Dashboard sehen:

Joomla Dashboard

Sichere Joomla mit Let’s Encrypt SSL

Es ist immer eine gute Idee, deine Website mit Let’s Encrypt SSL zu sichern. Um das SSL zu installieren und zu verwalten, musst du den Certbot-Client installieren. Du kannst ihn mit dem folgenden Befehl installieren:

apt-get install python3-certbot-apache -y

Sobald Certbot installiert ist, führst du den folgenden Befehl aus, um deine Website mit Let’s Encrypt SSL zu sichern:

certbot --apache -d joomla.example.com

Du wirst aufgefordert, deine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren (siehe unten):

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing 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
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for joomla.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/joomla-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/joomla-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/joomla-le-ssl.conf

Als Nächstes wählst du aus, ob der HTTP-Verkehr auf HTTPS umgeleitet werden soll oder nicht (siehe unten):

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Gib 2 ein und drücke die Eingabetaste, um Let’s Encrypt SSL für deine Website zu installieren:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/joomla.conf to ssl vhost in /etc/apache2/sites-available/joomla-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://joomla.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=joomla.example.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 cert will expire on 2023-01-23. 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

Jetzt kannst du deine Website sicher über die URL https://joomla.example.com aufrufen.

Fazit

Herzlichen Glückwunsch! Du hast erfolgreich Joomla mit Apache und Let’s Encrypt SSL auf Ubuntu 22.04 installiert. Du kannst jetzt ganz einfach eine Website mit der Joomla-Plattform erstellen und hosten. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …