---
url: 'https://sithis.xyz/tutorials/drupal-cms-fuer-selfmade-men-und-macher/das-system-drupal-cms-herunterladen'
title: 'Level 6 - Das System - Drupal CMS herunterladen'
author:
  name: 'Joachim Namyslo'
  url: 'https://sithis.xyz/team/joachim'
  sameAs:
    - 'https://www.youtube.com/@jo_de'
    - 'https://github.com/nodedropweb'
    - 'https://www.drupal.org/u/Joachim-Namyslo'
date: '2026-08-29T19:24:42+00:00'
updated: '2026-09-05T08:51:49+00:00'
type: article
summary: 'Der Star betritt die Bühne: Wir laden Drupal CMS per Composer statt als ZIP herunter – mit korrektem Document Root und sauberer Rechteverwaltung.'
tags:
  - 'Drupal CMS für Selfmade-Men und Macher'
image: 'https://sithis.xyz/sites/default/files/2026-08/drupal-installieren.jpg'
published: true
og:
  site_name: 'Drupal TV'
  updated_time: '2026-09-05T10:51:49+02:00'
---
# Level 6 - Das System - Drupal CMS herunterladen

 

**Serie:** Drupal CMS für Selfmade-Men und Macher

## Key Facts

- Drupal CMS vs. Core: Wir nutzen drupal/cms (Starshot), weil es moderne Features und "Rezepte" mitbringt, im Gegensatz zum nackten drupal/core.
- Kein Root für Composer: Wir haben erst die Rechte des Ordners (chown) an unseren User übergeben, damit wir Composer ohne sudo ausführen können.
- Document Root: Die eigentliche Website liegt nicht im Hauptordner, sondern im Unterordner /web. Das ist ein Sicherheits-Feature (Vendor-Dateien bleiben so unerreichbar).
- Git &amp; Unzip: Diese Tools sind essenziell für Composer, da viele Pakete als Zip oder Git-Repo geladen werden.

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 &amp; 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.



Schritte

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):

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

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

```bash
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 &amp; Git)

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

```bash
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:

```bash
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?"* -&gt; 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:

```bash
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.