Einführung
Drupal ist eines der am meisten bevorzugten Content-Management-Systeme (CMS) für den Betrieb von Blogs und die Verwaltung von Unternehmensinhalten. Entwickler und Unternehmen bevorzugen es aufgrund seiner Robustheit und Benutzerfreundlichkeit. Es ist sehr anpassbar und kann erweitert werden, um eine Vielzahl von Anwendungsfällen zu implementieren.
In diesem Tutorial zeigen wir, wie Sie Drupal auf Ubuntu 20.04 mit Apache.
Voraussetzungen
Da wir Drupal auf Ubuntu installieren werden, müssen wir die neueste Version von Ubuntu installiert haben. Sie können unserer Anleitung zur Installation von Ubuntu folgen, falls Sie diese noch nicht haben. Wir benötigen außerdem PHP, MySQL, und Apache installiert und bereit. Wenn Sie diese nicht installiert haben, können Sie sich unsere Anleitung LAMP Stack setup – Linux Apache MySQL PHP.
Bevor wir mit dem Herunterladen und Einrichten von Drupal auf unserem Rechner beginnen, müssen wir einige Anpassungen an unserem System vornehmen. Nachdem PHP, MySQL und Apache installiert sind, beginnen wir mit der Konfiguration unseres Systems für die Drupal-Installation.
MySQL-Benutzer und -Datenbank vorbereiten
Drupal verlässt sich auf eine MySQL-Datenbank zur Speicherung von Daten und Konfigurationen. Wir werden einen dedizierten Benutzer und eine Datenbank einrichten, damit unsere Drupal-Umgebung isoliert ist. Dies hilft uns auch, unsere Anwendung abzusichern. Wir werden einen neuen Benutzer und eine neue Datenbank erstellen. Melden Sie sich zuerst am MySQL-Server an, indem Sie den folgenden Befehl im Terminal ausführen:
|
1 |
mysql -u root -p |
Geben Sie den Benutzernamen und das Passwort von MySQL ein. Sobald Sie authentifiziert sind, führen Sie den folgenden Befehl aus, um eine neue Datenbank zu erstellen. Nennen wir sie drupal:
|
1 |
CREATE DATABASE drupal; |
Als Nächstes müssen Sie einen neuen Benutzer erstellen, um sich mit dieser Datenbank zu verbinden. Wir nennen ihn drupaluser. Achten Sie darauf, ein starkes Passwort einzugeben. Führen Sie den folgenden Befehl aus, um einen neuen Benutzer zu erstellen:
|
1 |
CREATE USER drupaluser@localhost IDENTIFIED BY 'password'; |
Unser Benutzer benötigt Berechtigungen, um Operationen auf dieser Datenbank auszuführen. Die Bereitstellung aller Berechtigungen würde unsere Anwendung jedoch Sicherheitsrisiken aussetzen. Daher werden wir hier die erforderlichen Berechtigungen erteilen, indem wir den folgenden Befehl ausführen:
|
1 |
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES ON drupal.* TO drupaluser@localhost; |
Sobald Sie die Berechtigungen erteilt haben, können wir fortfahren. Führen Sie den folgenden Befehl aus, um die Berechtigungen neu zu laden, damit sie sofort wirksam werden:
|
1 |
FLUSH PRIVILEGES; |
Beenden Sie danach MySQL, indem Sie den folgenden Befehl ausführen:
|
1 |
exit |
PHP-Module installieren und konfigurieren
Drupal benötigt PHP-Module, um zu funktionieren. Wir werden diese aus dem offiziellen Ubuntu-Repository herunterladen. Aktualisieren Sie Ihren lokalen Paket-Cache, indem Sie den folgenden Befehl ausführen:
|
1 2 |
sudo apt-get update sudo apt-get install php5-gd php5-curl libssh2-php |
Als Nächstes werden wir einige Anpassungen an den PHP-Modulen gemäß der Empfehlung von Drupal vornehmen. Öffnen Sie die PHP-Konfigurationsdatei mit dem folgenden Befehl:
|
1 |
sudo nano /etc/php5/apache2/php.ini |
Schalten Sie beide Variablen expose_php und allow_url_fopen aus:
|
1 2 3 4 5 |
. . . expose_php = Off . . . allow_url_fopen = Off . . . |
Speichern und schließen Sie die Datei. Sie können nun fortfahren.
Htaccess-Dateien in Apache ändern
Drupal muss URLs ändern, damit sie für Benutzer verständlicher sind. Dafür benötigt es Zugriff zum Umschreiben von URLs. Glücklicherweise ist das Modul mod_rewrite zum Umschreiben standardmäßig in Apache vorhanden. Wir müssen es nur aktivieren. Führen Sie den folgenden Befehl aus, um dieses Modul zu aktivieren:
|
1 |
sudo a2enmod rewrite |
Als Nächstes müssen wir die Einstellungen des virtuellen Hosts aktualisieren. Dies ist erforderlich, damit Drupal auf die .htaccess-Datei zugreifen kann. Öffnen Sie die virtualhost-Datei, indem Sie den folgenden Befehl ausführen:
|
1 |
sudo nano /etc/apache2/sites-enabled/000-default.conf |
Innerhalb des virtualhost Einstellung, fügen Sie den Ordner hinzu, der auf unser Web-Root verweist. Hier, AllowOverride auf All. Wenn Sie einen Domainnamen haben, können Sie die ServerName-Direktive hinzufügen und die ServerAdmin-Direktive so ändern, dass sie eine gültige E-Mail-Adresse widerspiegelt:
|
1 2 3 4 5 6 7 8 9 10 11 |
<VirtualHost *:80> . . . ServerName example.com ServerAdmin webmaster@example.com DocumentRoot /var/www/html <Directory /var/www/html> AllowOverride All </Directory> . . . </VirtualHost> |
Speichern und schließen Sie die Datei. Wir sind jetzt bereit. Wir müssen nur noch Apache und PHP neu starten, damit die Änderungen wirksam werden:
|
1 |
sudo service apache2 restart |
Drupal installieren
Hier werden wir Drupal im Web-Root installieren. Wir werden die Drupal-Dateien entpacken und eine Kopie erstellen. Danach kopieren wir diese kopierten Dateien in das vorgesehene Verzeichnis. Dies gibt uns ein Backup der Dateien, falls etwas schiefgehen sollte.
Um Drupal herunterzuladen, öffnen Sie https://www.drupal.org/project/drupal. Unter dem Abschnitt Recommended releases sollten Sie Ihre gewünschte Version ausfindig machen. Kopieren Sie dann die Adresse der tar.gz-Datei. Auf Ihrem Server können Sie diese Datei mit dem Hilfsprogramm wget herunterladen. Führen Sie den folgenden Befehl im Terminal aus, um die kopierte Link-Adresse abzurufen:
|
1 2 |
cd ~ wget <Ihr Link> |
Sobald die Datei heruntergeladen wurde, entpacken Sie das Anwendungsverzeichnis, indem Sie Folgendes eingeben:
|
1 |
tar xzvf drupal* |
Wechseln Sie nun mit dem folgenden Befehl in das neu erstellte Verzeichnis:
|
1 |
cd drupal* |
Kopieren Sie alle Dateien in diesem Verzeichnis in das Web-Root, indem Sie den folgenden Befehl ausführen:
|
1 |
sudo rsync -avz . /var/www/html |
Sobald die Dateien kopiert wurden, wechseln Sie in das Web-Root, indem Sie den folgenden Befehl ausführen:
|
1 |
cd /var/www/html |
Drupal-Dateien einfach zu installieren und sicher machen
Wenn wir Drupal über ein webbasiertes Installationsskript installieren, müssen wir Änderungen im Drupal-Verzeichnis vornehmen. Dies würde uns dazu zwingen, ständig zwischen Browser und Befehlszeile zu wechseln. Obwohl wir es auch so installieren können, ist es eine bessere Option, Anpassungen an unseren Dateien vorzunehmen und diesen Aufwand zu vermeiden.
Erstellen Sie ein neues Verzeichnis unter dem Unterbaum sites/default mit dem Namen files:
|
1 |
mkdir /var/www/html/sites/default/files |
Kopieren Sie die Standard-Einstellungsdatei in den Dateinamen, den Drupal für die aktive Konfiguration verwendet:
|
1 |
cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php |
Um die Installation abzuschließen, müssen wir der aktiven Einstellungsdatei einige weitere Berechtigungen erteilen. Wir werden dies später wieder rückgängig machen. Führen Sie den folgenden Befehl aus, um der Gruppe Besitzer:
|
1 |
chmod 664 /var/www/html/sites/default/settings.php |
Übertragen Sie die Gruppen-Besitzrechte unserer Dateien auf den Web-Benutzer, der in Ubuntu www-data ist. Unsere gesamte Drupal-Installation erfordert diese Besitzrechte:
|
1 |
sudo chown -R :www-data /var/www/html/* |
Wir können nun fortfahren.
Abschluss der webbasierten Installation
Von nun an werden wir den Browser verwenden. Die Schritte werden einfach und schnell sein. Geben Sie in Ihrem Browser die Domain/IP des Servers ein:
|
1 |
http://server_domain_or_ip/ |
Sie werden die Drupal-Willkommensseite sehen:

In den meisten Fällen ist Standard die Standardoption. Wählen Sie Manuell, wenn Ihr Anwendungsfall dies ausdrücklich erfordert. Klicken Sie nach der Auswahl von Standard auf Save and Continue. Sie erhalten weitere Aufforderungen. Klicken Sie weiterhin auf Next und akzeptieren Sie die Standardoptionen, bis Sie die Seite zur Datenbankkonfiguration erreichen. Auf dieser Seite werden Sie nach den Datenbankinformationen gefragt. Geben Sie die Benutzer und Passwort und Datenbank auf dieser Seite ein, die wir oben verwendet haben:

Klicken Sie auf Speichern und fortfahren. Wenn Sie auf dieselbe Seite zur Datenbankkonfiguration weitergeleitet werden, aktualisieren Sie einfach die Seite. Die Datenbankeinstellungen werden konfiguriert und das Profil wird installiert.
Sie werden nach weiteren Informationen über die Website gefragt. Oben erscheint außerdem ein Hinweis, dass es in Ordnung ist, die Berechtigungen der Einstellungsdatei zu ändern. Wir werden dies nur für kurze Zeit tun und die Änderungen dann wieder rückgängig machen. Wir wollen unsere Website nicht gefährden. Geben Sie die erforderlichen Informationen für die Website ein:

Wir müssen noch einmal auf Speichern und fortfahren klicken, um die Installation abzuschließen. Öffnen Sie Ihre Website, indem Sie Ihre IP/Domain eingeben. Sie sehen die Willkommensseite:

Damit ist die Drupal-Installation abgeschlossen. Nun werden wir die Berechtigungen für unsere Einstellungen wieder zurücksetzen, um eine unbefugte Nutzung zu verhindern. Schränken Sie dies ein, indem Sie den folgenden Befehl im Terminal ausführen:
|
1 |
chmod 644 /var/www/html/sites/default/settings.php |
Fehlerbehebung
Wir müssen sicherstellen, dass die Drupal-Installation abgeschlossen ist. Wenn der letzte Schritt nicht abgeschlossen ist, führen Sie den folgenden Befehl aus:
|
1 |
sudo tail /var/log/apache2/error.log |
Dies öffnet die log-Datei. Überprüfen Sie als Nächstes, ob Sie das folgende Protokoll in der Datei finden können:
|
1 2 |
PHP Fatal error: Call to undefined function field_attach_load() in /var/www/html/includes/entity.inc on line 316, referer: http://12.34.56.78/install.php?profile=standard&locale=en sh: 1: /usr/sbin/sendmail: not found |
Wenn die obigen Zeilen vorhanden sind, zeigt dies, dass unsere Installation nicht erfolgreich war. Um diesen Fehler zu beheben, hat Drupal in seinem Dokument hier einen Hinweis bereitgestellt: https://www.drupal.org/node/481758
Ein häufiger Grund für den oben genannten Fehler ist max_execution_time. Um dies zu erhöhen, öffnen Sie die php.ini-Datei mit dem folgenden Befehl:
|
1 |
sudo nano /etc/php5/apache2/php.ini |
Suchen Sie als Nächstes nach max_execution_time und ändern Sie es wie folgt:
|
1 |
max_execution_time = 300 |
Da wir unsere eigene Datenbank verwenden, müssen wir die Standarddatenbank von Drupal und die vorhandene PHP-Einstellungsdatei löschen /var/www/html/default/settings.php. Ersetzen Sie diese danach durch Standardkopien und starten Sie die Installation von vorne. Vergessen Sie nicht, vorsichtshalber Backups zu erstellen.
Um die vorhandene Drupal-Datenbank zu löschen, melden Sie sich in der MySQL-Datenbank an und führen Sie den folgenden Befehl aus:
|
1 |
DROP DATABASE drupal; |
Erstellen Sie dann die Datenbank und gewähren Sie die Berechtigungen wie oben beschrieben. Eine andere Möglichkeit besteht darin, cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php erneut auszuführen, um die Einstellungsdatei zu ersetzen. Stellen Sie sicher, dass Sie auch den Befehl chmod 664 /var/www/html/sites/default/settings.php ausführen, um die korrekten Berechtigungen wieder festzulegen. Rufen Sie nun Ihre IP auf und versuchen Sie die Installation erneut.
Fazit
In diesem Tutorial haben wir gelernt, wie Sie Drupal auf Ihrem Ubuntu-Rechner einrichten. Dies bietet Ihnen eine solide Grundlage für den Einstieg in das Drupal-CMS. Mit einer Drupal-Einrichtung können Sie Ihre Website betreiben, die hochgradig anpassbar ist, ohne alles von Grund auf neu codieren zu müssen.
Um mehr über ein anderes nützliches CMS, WordPress, zu erfahren, können Sie sich die folgenden Tutorials ansehen:
- So stellen Sie WordPress mit Docker-Containern auf Ubuntu 20.04 bereit
- So installieren Sie WordPress mit LAMP auf Ubuntu 20.04
- Warum Sie für Ihre Website auf WordPress-Cloud-Hosting setzen sollten
- So migrieren Sie eine Website von WordPress zu CloudSigma PaaS
Happy Computing!
Kommentare
Noch keine Kommentare. Schreiben Sie den ersten.