So installieren Sie Drupal auf einem Ubuntu 14.04-Server mit Apache

Einführung

Drupal ist ein beliebtes Content-Management-System (CMS), mit dem einige der größten Blogs und Websites im Internet betrieben werden. Aufgrund der Stabilität der Basis, der Anpassungsfähigkeit der Plattform und ihrer aktiven Community bleibt Drupal nach mehr als einem Jahrzehnt eine beliebte Wahl.

In diesem Handbuch wird erläutert, wie Sie Drupal auf einem Ubuntu 14.04-Server installieren. Wir werden Apache verwenden, um unsere Site zu bedienen, da dies die vom Drupal-Team empfohlene Konfiguration ist.

Voraussetzungen

Bevor Sie mit diesem Handbuch beginnen, benötigen Sie einen Ubuntu 14.04-Server mit einer abgeschlossenen Grundkonfiguration. Befolgen Sie unsereUbuntu 14.04 initial server setup guide, um einen Nicht-Root-Benutzer mit eingerichteten Sudo-Berechtigungen zu erhalten.

Sie müssen auch Apache, PHP und MySQL auf Ihrem Server konfiguriert haben. Sie können lernen, wie Sie dies einrichten, indem Sie unserem Leitfaden zugetting LAMP installed on Ubuntu 14.04 folgen.

Wenn Sie die oben genannten Anforderungen erfüllt haben, fahren Sie mit dieser Anleitung fort.

Bevor wir die Drupal-Dateien erhalten und in unser Webverzeichnis installieren können, müssen wir unser System vorbereiten. Während Apache, PHP und MySQL bereits installiert wurden, müssen wir für unsere Installation einige zusätzliche Änderungen vornehmen und diese jeweils anpassen.

Konfigurieren Sie einen MySQL-Benutzer und eine MySQL-Datenbank für Drupal

Als Erstes konfigurieren wir einen MySQL-Benutzer und eine MySQL-Datenbank für unsere Drupal-Installation. Aus Sicherheitsgründen ist es wichtig, einen dedizierten Benutzer und eine dedizierte Datenbank zu konfigurieren.

Melden Sie sich zunächst bei MySQL an:

mysql -u root -p

Sie werden aufgefordert, das Kennwort des MySQL-Root-Benutzers einzugeben, das Sie während der Installation dieser Software konfiguriert haben.

Sobald Sie sich erfolgreich authentifiziert haben, werden Sie zu einer MySQL-Eingabeaufforderung weitergeleitet. Erstellen Sie zunächst eine Datenbank für Ihre Drupal-Installation. Der Einfachheit halber werden wir unsere Datenbankdrupal aufrufen:

CREATE DATABASE drupal;

Als Nächstes müssen Sie einen Benutzer erstellen, mit dem die Drupal-Software eine Verbindung zur Datenbank herstellen kann. In diesem Handbuch nennen wir unseren Benutzerdrupaluser. Wählen Sie ein sicheres Passwort aus, um das im folgenden Block angegebene zu ersetzen:

CREATE USER drupaluser@localhost IDENTIFIED BY 'password';

Jetzt haben wir eine Datenbank und einen Benutzer, aber unser Benutzer hat noch keine Berechtigung, Aktionen auf der Datenbank auszuführen. Wir können das beheben, indem wir den Benutzern Berechtigungen erteilen. Drupal benötigt eine Vielzahl von Berechtigungen, um korrekt zu funktionieren. Im Folgenden finden Sie eine gute Auswahl, mit der die Software funktioniert, ohne dass unsere Datenbank unnötig verfügbar gemacht wird:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES ON drupal.* TO drupaluser@localhost;

Ihr Benutzer hat jetzt die Berechtigung, die von uns erstellte Datenbank zu verwalten. Um diese Änderungen jetzt zu implementieren, müssen die Berechtigungsinformationen auf die Festplatte geschrieben werden:

FLUSH PRIVILEGES;

Jetzt können wir unsere interaktive MySQL-Sitzung beenden:

exit

Sie werden zurück in die Sitzung vonbashversetzt.

Installieren Sie PHP-Module und optimieren Sie die Konfiguration

Als nächstes werden wir einige PHP-Module installieren, die von der Drupal-Anwendung benötigt werden. Zum Glück befinden sie sich in Ubuntus Standard-Repositorys.

Aktualisieren Sie Ihren lokalen Paket-Cache und installieren Sie sie, indem Sie Folgendes eingeben:

sudo apt-get update
sudo apt-get install php5-gd php5-curl libssh2-php

Wir werden auch ein paar kleine Änderungen an Ihrer PHP-Konfigurationsdatei vornehmen. Diese werden von den Drupal-Entwicklern empfohlen. Öffnen Sie die Apache PHP-Konfigurationsdatei mit sudo-Berechtigungen in Ihrem Texteditor:

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

Suchen Sie nach der Direktiveexpose_php und der Direktiveallow_url_fopen und setzen Sie beide auf "Aus":

. . .
expose_php = Off
. . .
allow_url_fopen = Off
. . .

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Aktivieren Sie Rewrite-Funktionalität und Htaccess-Dateien in Apache

Als nächstes sollten wir uns Apache ansehen. Zunächst möchten wir die Umschreibefunktionalität aktivieren. Auf diese Weise kann unsere Drupal-Site URLs in menschenfreundliche Zeichenfolgen ändern.

Die eigentlichen Module von Apachemod_rewriteind standardmäßig bereits installiert. Es ist jedoch nicht aktiviert. Wir können den Schalter umlegen, um das Modul zu aktivieren, indem wir Folgendes eingeben:

sudo a2enmod rewrite

Dadurch wird das Modul beim nächsten Neustart von Apache aktiviert. Bevor wir Apache neu starten, müssen wir unsere Konfiguration des virtuellen Hosts anpassen, um die Verwendung einer.htaccess-Datei zu ermöglichen. Diese Datei enthält die eigentlichen Umschreiberegeln und ist standardmäßig in der Drupal-Installation enthalten.

Öffnen Sie jetzt die Standard-VirtualHost-Datei:

sudo nano /etc/apache2/sites-enabled/000-default.conf

Fügen Sie im Block "VirtualHost" einen Verzeichnisblock hinzu, der auf unser Webstammverzeichnis verweist. Setzen Sie in diesem Block die DirektiveAllowOverride auf "Alle". Möglicherweise möchten Sie auch eineServerName-Direktive hinzufügen, um auf Ihren Domainnamen zu verweisen, und dieServerAdmin-Richtlinie ändern, um eine gültige E-Mail-Adresse wiederzugeben:


    . . .
    ServerName  example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/html

    
        AllowOverride All
    
    . . .

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Jetzt müssen wir nur noch den Webserver neu starten, um unsere Änderungen an Apache und PHP zu implementieren:

sudo service apache2 restart

Installieren Sie die Drupal-Dateien

Nachdem unser System fertig ist, können wir Drupal in unserem Webstamm installieren.

Eigentlich werden wir die Dateien zunächst in unser Home-Verzeichnis entpacken und sie dann an den entsprechenden Ort kopieren. Auf diese Weise können wir auf die Originaldateien zugreifen, falls ein Fehler auftritt oder Dateien versehentlich später gelöscht werden.

Gehen Sie zuDrupal download page und überprüfen Sie die neueste Version im Abschnitt "Empfohlene Versionen". Klicken Sie mit der rechten Maustaste auf dentar.gz-Link der gewünschten Version und wählen Sie "Linkadresse kopieren" oder eine ähnliche Option, die Ihr Browser bietet.

Wechseln Sie auf Ihrem Server in Ihr Ausgangsverzeichnis und laden Sie die Projektdatei mitwget über den von Ihnen kopierten Link herunter:

cd ~
wget http://ftp.drupal.org/files/projects/drupal-7.32.tar.gz

Ihr Link wird wahrscheinlich am Ende eine andere Versionsnummer haben. Extrahieren Sie nach dem Herunterladen der Datei das Anwendungsverzeichnis, indem Sie Folgendes eingeben:

tar xzvf drupal*

Wechseln Sie nun in die neu extrahierte Verzeichnisstruktur und kopieren Sie mit dem Dienstprogrammrsyncalle Dateien sicher in das Webstammverzeichnis Ihres Servers. Wir verwenden den Punkt in diesem Befehl, um das aktuelle Verzeichnis anzugeben. Dies ist erforderlich, um einige versteckte Dateien zu kopieren, die wir benötigen:

cd drupal*
sudo rsync -avz . /var/www/html

Jetzt haben Sie die Originalversion der Dateien in einem Verzeichnis in Ihrem Home-Ordner, falls Sie jemals darauf verweisen müssen. Wir werden in das Web-Stammverzeichnis wechseln, um unsere Installation anzupassen:

cd /var/www/html

Anpassen der Drupal-Dateien für Sicherheit und einfache Installation

Das webbasierte Installationsskript erfordert, dass wir einige Änderungen an unserem Drupal-Verzeichnis vornehmen, um den Vorgang korrekt abzuschließen. Wir sollten dies vorher aus dem Weg räumen, damit wir nicht zwischen dem Webbrowser und der Befehlszeile hin und her wechseln müssen.

Zuerst müssen wir ein neues Verzeichnis unter dem Unterbaumsites/default mit dem Namenfiles erstellen:

mkdir /var/www/html/sites/default/files

Als nächstes sollten wir die Standardeinstellungsdatei in den Dateinamen kopieren, den Drupal für die aktive Konfiguration verwendet:

cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php

Diese aktive Einstellungsdatei benötigt vorübergehend einige zusätzliche Berechtigungen während des Installationsvorgangs. Wir müssen dem Gruppeneigentümer vorerst Schreibrechte erteilen (wir werden den Gruppeneigentümer vorübergehend dem Webbenutzer zuweisen). Wir werden dies nach erfolgreicher Installation entfernen:

chmod 664 /var/www/html/sites/default/settings.php

Als nächstes müssen wir dem Webbenutzer den Gruppenbesitz unserer Dateien übertragen, der in Ubuntuwww-data beträgt. Wir möchten der gesamten Drupal-Installation die folgenden Eigentumsrechte geben:

sudo chown -R :www-data /var/www/html/*

Ihr Server ist jetzt entsprechend konfiguriert, um das webbasierte Installationsskript auszuführen.

Schließen Sie das webbasierte Installationsverfahren ab

Der Rest der Installation findet in Ihrem Webbrowser statt. Öffnen Sie Ihren Browser und navigieren Sie zum Domainnamen oder zur IP-Adresse Ihres Servers:

http://server_domain_or_IP

Sie sehen die Startseite der Drupal-Installation:

Drupal choose profile

Sofern Sie keinen Grund haben, dies nicht zu tun, wählen Sie die "Standard" -Installation und klicken Sie auf "Speichern und fortfahren". Klicken Sie auf die nächsten Schaltflächen zum Fortfahren, bis Sie zur Seite für die Datenbankkonfiguration gelangen. Geben Sie die Details ein, die Sie bei der Konfiguration Ihrer Datenbank und Ihres Benutzers verwendet haben.

Für dieses Handbuch haben wir eine Datenbank mit dem Namendrupal, einen Datenbankbenutzer mit dem Namendrupaluser und ein Kennwort mit dem Namenpassword verwendet. Sie sollten in der Phase der Benutzererstellung ein anderes Kennwort ausgewählt haben. Klicken Sie erneut auf "Speichern und fortfahren", wenn Sie Ihre Datenbankdetails eingegeben haben:

Drupal database config

Note: Wenn Sie auf "Speichern und fortfahren" klicken, besteht die Möglichkeit, dass Sie zur gleichen Datenbankkonfigurationsseite zurückgeleitet werden. Aktualisieren Sie in diesem Fall einfach die Seite. Die Datenbank wird konfiguriert und das Profil installiert.

Oben auf der Seite wird ein Infokasten angezeigt, der Sie darüber informiert, dass es jetzt angebracht ist, die Berechtigungen der Einstellungsdatei zu ändern. Wir werden das gleich tun. Im Moment müssen Sie einige grundlegende Informationen zu Ihrer Site einrichten. Füllen Sie die Felder mit den entsprechenden Werten für Ihre Site aus:

Drupal configure site

Klicken Sie ein letztes Mal auf die Schaltfläche "Speichern und fortfahren", um die Installation abzuschließen. Sie können Ihre Site jetzt besuchen, indem Sie zu Ihrem Domain-Namen gehen:

Drupal completed install

Sie haben die Drupal-Installation erfolgreich abgeschlossen.

Die Berechtigungen für unsere Einstellungsdatei müssen jedoch immer noch zurückgesetzt werden, damit nicht autorisierte Benutzer keine Änderungen vornehmen können. Beschränken Sie auf Ihrem Server den Schreibzugriff auf die Datei, indem Sie Folgendes eingeben:

chmod 644 /var/www/html/sites/default/settings.php

Dadurch sollten weitere Änderungen an der Einstellungsdatei gesperrt werden.

Fehlerbehebung

Wenn die letzte Phase der Drupal-Installation nicht abgeschlossen ist, überprüfen Sie Ihre Fehlerprotokolle:

sudo tail /var/log/apache2/error.log

Wenn Sie einen Fehler wie diesen sehen:

[Wed Nov 12 13:40:10.566144 2014] [:error] [pid 7178] [client 108.29.37.206:55238] 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

Dies zeigt an, dass die Installation nicht erfolgreich abgeschlossen wurde. Es gibt eine Reihe von Ursachen und Korrekturen für diesen von Drupal dokumentierten Fehler:

Einige der wahrscheinlichsten Korrekturen umfassen das Bearbeiten der/etc/php5/apache2/php.ini-Datei, um diemax_execution_time zu erhöhen:

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

Datei:

max_execution_time = 300

Möglicherweise möchten Sie die Browser-Installation auch in einem anderen Browser als Chrome versuchen, z. B. Safari. Browser-Cookie-Einstellungen können die Installation beeinträchtigen.

Unabhängig davon müssen Sie nach der Implementierung Ihres Fixes die vorhandene Drupal-Datenbank und die vorhandene/var/www/html/sites/default/settings.php-Datei entfernen, durch Standardkopien ersetzen und die Installation erneut starten. If you have any data or settings worth preserving, make backups.

Dazu können Sie sich bei MySQL undDROP DATABASE drupal; anmelden und dann dem vorherigen Datenbankabschnitt erneut folgen, um die Datenbank zu erstellen und die Berechtigungen dafür zu erteilen.

Sie könnencp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php auch erneut ausführen, um die Einstellungsdatei zu ersetzen. Stellen Sie sicher, dass Sie den Befehlchmod 664 /var/www/html/sites/default/settings.php ausführen, um auch die richtigen Berechtigungen erneut festzulegen.

Besuchen Sie dann Ihre IP-Adresse erneut - möglicherweise in einem anderen Browser - und versuchen Sie die endgültige Installation erneut.

Fazit

Sie haben jetzt eine solide Basis, um Ihre Drupal-Site zu erstellen. Drupal ist unglaublich flexibel und ermöglicht es Ihnen, das Erscheinungsbild und die Funktionalität der Website an Ihre Bedürfnisse und die Bedürfnisse Ihrer Benutzer anzupassen.

Um einige Ideen zu erhalten, wie Sie von hier aus vorgehen können, besuchen Sie unsereDrupal tags page, in denen Sie Tutorials finden, die Ihnen auf Ihrem Weg helfen. Dort finden Sie auch einen Frage- und Antwortbereich, in dem Sie Hilfe von der Community erhalten oder Beiträge zur Community leisten können.

Related