Level 6 - Das System - Drupal CMS herunterladen

Geschrieben von Joachim Namyslo

Eine Schauspielerin in historischem Kleid betritt eine Bühne im Scheinwerferlicht.

Lesedauer: 2 Minuten

Es ist soweit. Das Fundament ist gegossen (Ubuntu), der Türsteher steht (Apache), der Koch hat den Herd vorgeheizt (PHP), die Gedächtnisse sind aktiv (MariaDB & Postgres) und der Logistiker (Composer) wartet auf Anweisungen.

Jetzt holen wir den Star auf die Bühne.

Wir laden das Drupal CMS herunter. Wichtig: Wir laden keine Zip-Datei. Wir nutzen Composer. Warum? Weil Drupal aus tausenden kleinen Bausteinen besteht (Symfony, Guzzle, Twig). Composer weiß genau, welche Versionen zusammenpassen.

Das Bauland vorbereiten (Rechte setzen)

Unter Linux gehört der Ordner /var/www (wo Webseiten wohnen) standardmäßig dem root-Benutzer. Wenn du als normaler User (sherpa) dort etwas speichern willst, knallt dir Linux die Tür vor der Nase zu: "Permission denied".

Wir ändern das. Wir sagen dem Server: "Dieser Ordner gehört jetzt mir und der Webserver-Gruppe."

Kopiere diesen Befehl (er nutzt die Variable $USER, um automatisch deinen Namen einzusetzen):

sudo chown -R $USER:www-data /var/www

Und wir stellen sicher, dass wir (und der Webserver) dort auch schreiben dürfen:

sudo chmod -R 775 /var/www
  • chown: Change Owner (Besitzer wechseln).
  • chmod: Change Mode (Rechte ändern). 775 bedeutet: Ich darf alles, die Gruppe darf alles, der Rest darf nur gucken.

Die Werkzeugkiste (Unzip & Git)

Damit Composer die Pakete auspacken kann, braucht er kleine Helferlein, die auf manchen Minimal-Servern fehlen. Wir installieren sie schnell nach:

sudo apt install unzip zip git -y

Der Download (Composer Action)

Jetzt kommt der Befehl, der alles verändert. Wir sagen Composer: "Erstelle ein neues Projekt basierend auf dem Paket drupal/cms. Packe es in den Ordner /var/www/cms."

Tippe ein:

composer create-project drupal/cms /var/www/cms

Was jetzt passiert: Lehn dich zurück. ☕ Du wirst sehen, wie hunderte Zeilen Text über deinen Bildschirm rattern.

  • Downloading drupal/cms...
  • Installing symfony/http-kernel...
  • Installing guzzlehttp/guzzle...

Das ist Composer bei der Arbeit. Er rennt durch das Internet, holt die neuesten, sichersten Versionen aller Bibliotheken und baut dir daraus das modernste CMS der Welt zusammen.

Wichtig: Falls er dich am Ende fragt: "Do you want to remove the existing VCS (.git) history?" -> Antworte mit Y (Yes). Wir wollen ein frisches Projekt ohne die Entwicklungs-Historie von Drupal selbst.

Der Inventar-Check

Wenn der Cursor wieder blinkt und keine roten Fehlermeldungen zu sehen sind: Glückwunsch!

Schauen wir nach, was wir bekommen haben:

ls -la /var/www/cms

Du siehst jetzt eine Struktur wie:

  • composer.json (Der Bauplan)
  • vendor/ (Hier liegen die Bibliotheken)
  • web/ (Hier liegt das eigentliche Drupal, das öffentlich sichtbar sein wird)

Warum funktioniert die Seite noch nicht?

Wenn du jetzt deine Server-IP im Browser aufrufst, siehst du immer noch die alte Apache-Standardseite ("It works!"). Warum? Weil unser Kellner (Apache) immer noch auf das alte Regal /var/www/html starrt. Er weiß noch nicht, dass das 5-Gänge-Menü jetzt im neuen Raum /var/www/cms/web serviert wird.

Wir müssen dem Kellner einen neuen Laufzettel geben. Das machen wir im nächsten Level.