So installierst du Drupal CMS mit Apache und kostenlosem Let’s Encrypt SSL auf Ubuntu 24.04

Drupal ist ein beliebtes, in PHP geschriebenes Content Management System. Es wird von mindestens 14% der 10.000 Top-Websites im Internet verwendet, darunter Websites von globalen Unternehmen, Regierungen, Bildungseinrichtungen und Institutionen. Drupal bietet ein hochskalierbares System, das mit digitalen Anwendungen integriert ist und für die Erstellung von Multisites für verschiedene Organisationen mit mehrsprachiger Unterstützung verwendet werden kann.

Diese Anleitung zeigt dir, wie du Drupal auf einem Ubuntu 24.04 Server installierst. Wir werden Drupal mit dem LAMP-Stack (Linux, Apache, MariaDB und PHP) installieren und Drupal mit HTTPS von Letsencrypt sichern.

Voraussetzungen

Bevor du beginnst, stelle sicher, dass du Folgendes hast

  • Einen Ubuntu 24.04 Server
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten
  • Einen Domainnamen, der auf die IP-Adresse des Servers zeigt

Installieren der Abhängigkeiten

Drupal ist ein CMS, das auf MySQL/MariaDB und PHP basiert. Um es zu installieren, musst du sicherstellen, dass sowohl MySQL/MariaDB als auch PHP auf deinem System installiert sind. Für den Webserver kannst du Apache oder Nginx verwenden.

In diesem Abschnitt wirst du die Abhängigkeiten für Drupal installieren. Dazu gehören der LAMP-Stack (Linux, Apache, MariaDB und PHP) und Composer.

Aktualisiere zunächst deinen Ubuntu-Paketindex mit dem folgenden Befehl.

sudo apt update

Repo aktualisieren

Installiere nun den LAMP-Stack (Linux, Apache, MariaDB und PHP) und die Composer-Abhängigkeiten auf deinem Ubuntu-System mit diesem Befehl:

sudo apt install apache2 mariadb-server composer php php-apcu php-dev libapache2-mod-php libcurl4-openssl-dev php-cli php-mysql php-zip php-gd php-fpm php-json php-common php-intl php-mbstring php-curl php-xml php-pear php-tidy php-uploadprogress php-soap php-bcmath php-xmlrpc

Gib Y ein, um die Installation zu bestätigen.

Abhängigkeiten installieren

Überprüfe nach der Installation den Status von Apache und MariaDB und dann die PHP- und Composer-Versionen.

Überprüfe den Apache-Dienst mit dem unten stehenden Befehl. Damit stellst du sicher, dass Apache auf deinem Server läuft und aktiviert ist.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Ein out enabled zeigt an, dass der Apache-Webserver beim Booten gestartet wird. Und active(running) zeigt an, dass Apache läuft.

Apache prüfen

Überprüfe nun den Status des MariaDB-Dienstes mit folgendem Befehl:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Wie bei Apache siehst du ein „output enabled“ und den Status „active(running)“, was bestätigt, dass MariaDB beim Booten gestartet wird und der Status „running“ ist.

mariadb prüfen

Überprüfe abschließend die PHP- und Composer-Versionen mit dem folgenden Befehl. Zurzeit bietet das Standard-Repository von Ubuntu 24.04 PHP 8.3 und Composer 2.7.1.

sudo php -v
sudo -u www-data composer -v

Komponist prüfen

PHP konfigurieren

Nachdem du die Abhängigkeiten installiert hast, musst du PHP für Drupal einrichten. Du musst die Standarddatei „php.ini“ bearbeiten und einige Standardkonfigurationen ändern, die für Drupal benötigt werden.

Öffne die php.ini Konfiguration mit dem folgenden Befehl des nano Editors.

sudo nano /etc/php/8.3/apache2/php.ini

Ändere die Standardkonfiguration wie folgt und achte darauf, dass du die Optionen memory_limit und date.timezone an deine Serverumgebung anpasst.

memory_limit = 512M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Amsterdam

Wenn du fertig bist, speichere und beende die Datei.

Starte nun den Apache-Webserver neu, um die neue PHP-Konfiguration zu übernehmen.

sudo systemctl restart apache2

MariaDB-Server konfigurieren

Nachdem du nun PHP konfiguriert hast, konfigurieren wir den MariaDB-Server, indem wir ihn mit dem Dienstprogramm „mariadb-secure-installation“ sichern und eine neue Datenbank und einen neuen Benutzer für Drupal erstellen.

Sichere deine MariaDB Serverinstallation mit dem folgenden Befehl. Dieser Befehl fragt nach den Konfigurationen des MariaDB-Servers.

sudo mariadb-secure-installation

Gib nun Y ein, um die Änderungen für MariaDB zu übernehmen, oder gib n ein, um sie abzulehnen:

  • Die Standard-MariaDB-Installation wird ohne Passwort geliefert. Drücke ENTER, wenn du nach dem Passwort gefragt wirst.
    Gib nun Y ein, um das MariaDB-Root-Passwort einzurichten. Gib dann das neue Passwort für MariaDB ein und wiederhole es.
    Gib Y ein, um den anonymen Benutzer aus deiner MariaDB-Installation zu entfernen.
    Gib erneut Y ein, wenn du aufgefordert wirst, die Fernanmeldung für den MariaDB-Root-Benutzer zu deaktivieren.
    Gib Y ein, um den Standard-Datenbanktest aus deiner MariaDB zu entfernen.
    Gib schließlich Y ein, um die Tabellenberechtigungen neu zu laden und neue Änderungen anzuwenden.

Wenn der MariaDB-Server gesichert ist, musst du eine neue Datenbank und einen neuen Benutzer für Drupal erstellen. Das kannst du mit dem Client-Befehl „mariadb“ machen.

Melde dich mit folgendem Befehl am MariaDB-Server an – gib dein MariaDB-Root-Passwort ein, wenn du dazu aufgefordert wirst.

sudo mariadb -u root -p

Führe die folgenden Abfragen aus, um eine neue Datenbank und einen neuen Benutzer für Drupal zu erstellen. In diesem Beispiel erstellst du einen neuen Benutzer„drupal„, die Datenbank„drupaldb“ und das Passwort„DrupalSecurePassword„. Achte darauf, dass du die Informationen mit deinen Daten änderst.

CREATE DATABASE drupaldb;
CREATE USER drupal@localhost IDENTIFIED BY 'DrupalSecurePassword';
GRANT ALL ON drupaldb.* TO drupal@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;

Datenbank erstellen

Führe nun die folgende Abfrage aus, um den Benutzer„drupal“ zu überprüfen. Stelle sicher, dass der Benutzer„drupal“ auf die Datenbank„drupaldb“ zugreifen kann.

SHOW GRANTS FOR drupal@localhost;

Die folgende Ausgabe zeigt, dass der Benutzer„drupal“ auf die Datenbank„drupaldb“ zugreifen kann.

Privilegien anzeigen

Zum Schluss gibst du quit ein, um den MariaDB-Server zu verlassen.

Herunterladen des Drupal-Quellcodes

In diesem Schritt lädst du den Drupal-Quellcode herunter und richtest das Web-Root-Verzeichnis mit den richtigen Eigentümern und Berechtigungen ein. In diesem Beispiel lädst du die neueste Version von Drupal herunter und installierst sie.

Gehe in das Verzeichnis /var/www und lade den Drupal-Quellcode mit dem unten stehenden wget-Befehl herunter.

cd /var/www/
wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz

Wenn der Download abgeschlossen ist, extrahiere den Drupal-Quellcode und benenne das extrahierte Verzeichnis in „drupal“ um. Damit wird das Verzeichnis /var/www/drupal zu deinem Web- oder Dokumentenstammverzeichnis für die Drupal-Installation.

tar -xvf drupal.tar.gz
mv drupal-* /var/www/drupal

Führe nun den folgenden Befehl aus, um den Eigentümer von /var/www/drupal auf den Benutzer www-data und die Berechtigung auf 755 zu ändern.

sudo chown -R www-data:www-data /var/www/drupal/
sudo chmod -R 755 /var/www/drupal/

Einrichten des virtuellen Apache-Hosts

Nachdem du Drupal heruntergeladen hast, musst du den virtuellen Apache-Host für deine Installation einrichten. Stelle also sicher, dass du deinen Domainnamen für die Drupal-Installation vorbereitet hast.

Führe zunächst den folgenden Befehl aus, um die Apache-Module„ssl“ und„rewrite“ zu aktivieren.

sudo a2enmod ssl rewrite

Rewrite und ssl-Modul aktivieren

Erstelle nun eine neue Apache Virtual Host Konfiguration mit dem folgenden Befehl.

sudo nano /etc/apache2/sites-available/drupal.conf

Kopiere die unten stehende Konfiguration und füge sie ein. Achte darauf, dass du die Option ServerName mit dem Domainnamen deiner Drupal-Installation abänderst.

<VirtualHost *:80>
ServerName hwdomain.io
ServerAdmin admin@hwdomain.io
DocumentRoot /var/www/drupal

# Add security
php_flag register_globals off

ErrorLog ${APACHE_LOG_DIR}/hwdomain.io.error.log
CustomLog ${APACHE_LOG_DIR}/hwdomain.io.access.log combined

<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>

<Directory /var/www/drupal>
Options FollowSymlinks
#Allow .htaccess
AllowOverride All
Require all granted
<IfModule security2_module>
SecRuleEngine Off
# or disable only problematic rules
</IfModule>
</Directory>

<Directory /var/www/drupal/>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>

</VirtualHost>

Wenn du fertig bist, speichere und beende die Datei.

Führe nun den folgenden Befehl aus, um die virtuelle Hostdatei „drupal.conf“ zu aktivieren, und überprüfe anschließend die Apache-Syntax. Wenn du eine korrekte Apache-Syntax hast, solltest du die Ausgabe„Syntax ist OK“ erhalten.

sudo a2ensite drupal.conf
sudo apachectl configtest

Starte den Apache mit folgendem Befehl neu, um deine neue Konfiguration des virtuellen Hosts zu übernehmen. Jetzt sollte dein Drupal erreichbar sein.

sudo systemctl restart apache2

vhost-Einrichtung

Drupal mit HTTPS absichern

Um Drupal mit HTTPS zu sichern, kannst du kostenlose SSL-Zertifikate von Letsencrypt verwenden. Wenn du auf einer öffentlichen Domain installierst, befolge diesen Schritt, um HTTPS für deine Drupal-Installation zu aktivieren. Wenn du den lokalen Domainnamen verwendest, kannst du selbstsignierte SSL-Zertifikate nutzen.

Installiere Certbot und das Certbot Apache Plugin wie folgt – Tippe Y ein, um die Installation zu bestätigen.

sudo apt install certbot python3-certbot-apache

Nachdem die Installation abgeschlossen ist, führe den folgenden Certbot-Befehl aus, um SSL/TLS-Zertifikate für deine Drupal-Installation zu erstellen. Achte darauf, dass du die E-Mail-Adresse und den Domainnamen mit deinen Daten abänderst.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email bob@hwdomain.io -d hwdomain.io

Wenn du fertig bist, sollten deine SSL/TLS-Zertifikate im Verzeichnis /etc/letsencrypt/live/example.com generiert werden und deine Drupal-Installation sollte automatisch mit HTTPS gesichert sein.

Drupal installieren

Besuche deine Drupal-Domain, z.B. https://hwdomain.io, mit deinem bevorzugten Webbrowser. Wenn deine Installation erfolgreich war, solltest du den Drupal-Installationsassistenten sehen.

Wähle die Standardsprache für Drupal und klicke dann auf Speichern und weiter.

Standardsprache

Wähle dein bevorzugtes Drupal-Installationsprofil und klicke auf Speichern und weiter. Für Anfänger wählst du das Profil Standard oder Demo. Wenn du schon Erfahrung mit Drupal hast, kannst du das Profil Minimal wählen.

Profil auswählen

Vergewissere dich jetzt, dass du den Drupal-Umgebungscheck bestanden hast, der sicherstellt, dass dein Server für die Drupal-Installation bereit ist.

Wenn du bereit bist, wirst du zur Datenbankkonfiguration für Drupal weitergeleitet. Gib die Daten deines MariaDB-Servers, den Datenbanknamen, den Benutzernamen und das Passwort ein und klicke dann auf Speichern und weiter.

Datenbank-Konfiguration

Die Drupal-Installation sollte nun beginnen:

Drupal-Installation

Nachdem die Drupal-Installation abgeschlossen ist, musst du deine Drupal-Site konfigurieren. Gib den Site-Namen, die E-Mail-Adresse, den Administrator-Benutzernamen, das Passwort, das Standardland und die Zeitzone ein.

Klicke zum Bestätigen auf Speichern und Weiter.

Standortkonfiguration

Wenn die Installation erfolgreich war, solltest du die Meldung„Herzlichen Glückwunsch, du hast Drupal installiert!“ erhalten.

Installation abgeschlossen

Hier klickst du auf das Menü Verwalten > Konfiguration, um das Drupal-Administrations-Dashboard aufzurufen. Du wirst Folgendes sehen:

Konfiguration

Fazit

Herzlichen Glückwunsch! Du hast die Installation von Drupal CMS auf dem Ubuntu 24.04 Server abgeschlossen. Drupal läuft jetzt mit dem LAMP-Stack (Linux, Apache, MariaDB und PHP) und ist mit HTTPS von Letsencrypt gesichert. Jetzt kannst du deine Drupal-Website verwalten, indem du Themes installierst oder Erweiterungen hinzufügst.

Das könnte dich auch interessieren …