Dank vorgefertigter Open-Source-Software legen Sie im Internet einen überzeugenden Auftritt hin. Ihre Webseite holt ihre Inhalte dynamisch aus einer Datenbank, die Nutzer melden sich selbst an, laden Dateien hoch und veröffentlichen Artikel.
Zählen Sie sich zu den fortgeschrittenen Anwendern, haben Sie eventuell schon einmal mit HTML, CSS-Stylesheets und PHP experimentiert, würden sich aber nicht als Webentwickler bezeichnen. Dennoch basteln Sie hin und wieder an einer einfachen Webseite für Freunde oder einen Verein. In diesem Fall bringen Sie die nötigen Vorkenntnisse mit, um das zu tun, was wir hier beschreiben, nämlich ein Content Management System (kurz CMS) aufzusetzen. Der Name deutet es an: Die Webseite will Inhalte dynamisch verwalten, zu denen Artikel, Bildergalerien und Dateien gehören. Der Funktionsumfang eines CMS geht über den einer herkömmlichen Webseite deutlich hinaus, die Betreuung erfordert jedoch einigen Einsatz von Ihnen. Der Vorteil: Ist die Seite einmal aufgesetzt, füttern nicht Sie diese mit Inhalten, sondern lassen das die Benutzer des Vereins oder der Firma übernehmen.
Anders als statische HTML-Seiten verwalten Content Management Systeme ihre Webseiten dynamisch, indem sie diese auf der Grundlage von Datenbankinhalten erzeugen. Als Administrator einer solchen Seite weisen Sie neuen Benutzern bestimmte Rechte zu. Veröffentlichungen dieser Benutzer erscheinen dann – je nach Einstellung – (semi-)automatisch auf der Startseite. Die im Browser angezeigte Webseite verändert sich also durch die Aktionen der Benutzer, wie Sie es von Community-Webseiten kennen.
Im Alleingang ein Content Management System zu programmieren, ist zwar theoretisch möglich, aber sehr aufwändig. Aber das müssen Sie gar nicht: Es gibt zahlreiche Fertiglösungen, die zudem unter freien Lizenzen stehen! Zu den bekanntesten gehören Joomla, Drupal und Typo3. Inhalte verwalten Sie aber auch in WordPress wunderbar (das eher ein Blog ist) oder in einem MediaWiki, einer installierbaren Wiki-Lösung im Stil der Wikipedia.
Bei den Systemen handelt es sich quasi um vorprogrammierte Webseiten – oder Fertigbauhäuser, wenn Sie ein Bild wollen. Diese bieten schon von Hause aus sehr viele Funktionen an (Benutzerverwaltung, Artikel- und Kommentarfunktion, Suche), weitere fügen Sie meist nach Belieben über Module hinzu (Abbildung 1). Ein CMS ist in der Regel modular aufgebaut – als Administrator wählen Sie aus, welche Module auf der Webseite erscheinen. Sie sehen dann etwa die letzten Kommentare, gepostete Bilder, die beliebtesten Artikel oder einen Twitter-Feed.

Abbildung 1: Zusätzliche Funktionen fügen Sie einem Content Management System wie Drupal über Module hinzu. Dazu gehört auch die Möglichkeit, Bilder anzuzeigen.
Um ein CMS zu nutzen, brauchen Sie oft nicht mal Programmierkenntnisse. Über eine grafische Konfigurationsoberfläche, die im Browser läuft und einen Haufen Optionen anbietet, passen Sie das CMS an Ihre Wünsche an – Sie richten also Ihr Fertighaus ein, um im Bild zu bleiben. Dazu sollten Sie das Benutzerhandbuch zum CMS genau studieren, das Sie gewöhnlich auf der Webseite finden. Ist die Laube fertig, kommen Freunde, Bekannte oder Vereinsmitglieder zu Besuch. Sie richten sich selbst Accounts ein und bringen Leben auf die Webseite, indem sie Artikel verfassen, Kommentare schreiben oder Bilder posten (Abbildung 2). Für die Optik bieten die meisten Systeme zahlreiche vorgefertigte Lösungen an, von denen Sie eine zu Ihrem Themengebiet passende auswählen: Wollen Sie etwa eine Technikseite aufsetzen, erweist sich ein Blümchenlayout meist als falsche Wahl.
Bevor Sie ein CMS aufsetzen, sollten Sie genau wissen, was Sie damit vorhaben. Die frei verfügbaren Systeme bringen zwar alle ähnliche Grundfunktionen mit, aber wenn Sie spezielle Wünsche haben, prüfen Sie im Vorfeld, ob die gewählte Lösung diese erfüllt. Wollen Sie zum Beispiel einen RSS-Feed von einer anderen Seite einbinden oder benötigen Sie eine Bildergalerie, durchforsten Sie die Liste mit Plug-ins nach brauchbaren Lösungen. Drupal bietet zum Beispiel mehrere Module zum Hochladen von Bildern an. Es ist ärgerlich, wenn Sie ein System aufsetzen, um nach einer Weile zu bemerken, dass ein von Ihnen angestrebtes Feature nicht oder ganz anders funktioniert als Sie es wünschen. Zudem sollten die Plug-ins “aktuell” sein, also mit der neuesten Version des CMS technisch harmonieren.
Eigenes CMS aufsetzen
Im Grunde funktioniert das Aufsetzen eines CMS recht einfach. Grob gesagt, schieben Sie einen Haufen von Dateien auf einen Server und rufen dann eine bestimmte Datei auf, die den Einrichtungsprozess in Gang setzt. Wie das im Detail aussieht, schildern wir weiter unten. Beim Server muss es sich nicht um einen alleinstehenden Rechner handeln, der im Rechenzentrum vor sich hin rödelt. Vielmehr mieten Sie für wenige Euro im Jahr so genannten Webspace (siehe Kasten Webspace) bei einem Webhoster Ihrer Wahl – unter [1] stoßen Sie auf eine Liste mit möglichen Kandidaten. Neben einer monatlichen Grundgebühr verlangen diese meist noch eine Einrichtungsgebühr sowie eine Extragebühr für die Webadresse (Domain). Sie suchen sich eine Adresse, die noch frei ist (www.easylinux.de ist zum Beispiel schon weg) und melden sich dann beim Webhoster an. Haben Sie bereits eine Domain und ein wenig Webspace, prüfen Sie, ob Ihr Webhoster nicht ohnehin die vom CMS benötigten Datenbanken und Sprachinterpreter anbietet. Andernfalls müssen Sie einen so genannten KK-Antrag stellen, um Ihre Domain zu einem fremden Webhoster mitzunehmen, der diese Dienste in petto hat.
Webspace
Zwar lässt sich auf einem Root-Server ein komplettes Betriebssystem mit allen Schikanen installieren, das müssen Sie dann aber alles über eine SSH-Verbindung erledigen. Im Webspace läuft meist schon ein Webserver wie Apache, der gleich mehrere Kunden bedient. Das ist nicht nur wesentlich günstiger, als einen Root-Server zu betreiben, Sie sparen sich auch das Aufsetzen dieser Dienste. Da sich Ihr Webspace aber meist die Ressourcen eines physikalischen Rechners mit anderen Webseiten teilt, gibt es eventuell Probleme, wenn eine benachbarte Webseite viele Zugriffe erfährt – das bleibt aber eher die Ausnahme.
Worauf müssen Sie noch achten? Während Ihr Webbrowser HTML-Dokumente und JavaScript-Code eigenständig liest und interpretiert, bestehen dynamische Systeme meist aus Webseiten, die eine bestimmte Skriptsprache verwenden. Auf dem Webspace muss daher eine Runtime Environment laufen, welche die vom CMS verwendeten PHP-, Perl- und Python-Skripte versteht. Diese Interpreter gibt es meist in Form von Modulen für den Webserver (Apache ist hier die verbreitete Standardlösung), der die dynamischen Seiten überhaupt erst im WWW abrufbar macht. Daneben brauchen fast alle diese Systeme eine Datenbankanbindung, auf dem Zielrechner muss also eine Datenbank laufen – etwa PostgreSQL oder MySQL (Abbildung 3).

Abbildung 3: Dienste wie Drupal setzen neben einer PHP-Umgebung unter anderem einen laufenden Webserver sowie eine Datenbankanbindung voraus.
Prüfen Sie im Vorfeld nicht nur, welche Software Ihr CMS benötigt, sondern auch, welche Version davon. Unterstützt der Webhoster zum Beispiel nur eine veraltete Variante des Apache-Servers, läuft das CMS dort nicht. Neuere Versionen machen hingegen meist keine Probleme. Die Mindestanforderungen für das CMS müssen also erfüllt sein, zudem sollte Ihr Provider genügend Platz für die Dateien anbieten. Während das CMS selbst nur wenig Speicherplatz braucht, können die von den Nutzern hochgeladenen Inhalte – etwa Videos, Fotos und Dateien – diesen schnell sprengen.
Schließen Sie zu Beginn besser keinen zu kostspieligen Vertrag mit dem Webhoster ab, der Ihnen 10 Datenbanken und Milliarden von GByte Traffic (Datenvolumen) im Monat sichert. Webseiten wachsen meist nur langsam, es gibt später noch immer die Möglichkeit, den Vertrag für eine handvoll Euros upzugraden.
Butter bei die Fische
Besitzen Sie eine Domain – hier im Beispiel verwenden wir die Domain “www.textmaschine.com” – wird es Zeit, Ihr CMS aufzusetzen. Wir entscheiden uns für das recht beliebte Drupal [3], das extrem viele Module mitbringt [4]. Aber egal ob Sie WordPress, Kajona, Joomla, MediaWiki oder eine der zahllosen anderen Lösungen verwenden – der Weg ist stets derselbe. Nun also Drupal.
Zunächst besuchen Sie die Webseite des Projekts und laden das ZIP-Archiv herunter, das die Dateien des System enthält [5]. Über die Webseite [6] erfahren Sie zudem, welche Dienste Drupal voraussetzt (Abbildung 4). Wir greifen zu Version 6.25, da unser Webserver kein PHP5 beherrscht, welches die Version 7 von Drupal voraussetzt. Achten Sie beim Download auch darauf, eine deutsch lokalisierte Variante zu nutzen, die einen deutschsprachigen Installer mitbringt. Sie finden Drupal und weitere CMS-Pakete auch auf der Heft-DVD.
Das Archiv entpacken Sie auf dem lokalen Rechner und lesen genau die Installationsanleitung auf der Webseite [7]. Sie brauchen anfangs einen FTP-Client, um die entpackten Daten auf Ihren Server bzw. in Ihren Webspace zu verschieben. Installieren Sie am besten FileZilla, das Sie auf der Heft-DVD finden, und starten Sie das Programm.

Abbildung 4: Drupal setzt, wie andere Content Management Systeme auch, bestimmte Dienste auf dem Server voraus. Diese müssen zudem in einer bestimmten Version vorliegen.
Die Oberfläche von FileZilla verwirrt nur im ersten Moment, die Software ist recht logisch aufgebaut (Abbildung 5). Der Webhoster stattet Sie in der Regel mit Log-in-Daten für Ihren Webspace aus, mit deren Hilfe Sie sich per FTP auf dem Server anmelden. Dazu verwenden Sie die Felder Server, Benutzername, Passwort sowie Port in der oberen Reihe. Die Daten erhalten Sie meist via E-Mail oder in Briefform von Ihrem Webhoster, der Standard-FTP-Port trägt die Nummer 22. Darunter sehen Sie ein leeres Feld, das sich erst mit Leben füllt, sobald Sie sich bei einem FTP-Server anmelden. Dieser Bereich protokolliert den Vorgang und zeigt Fehlermeldungen, wenn der Vorgang scheitert. Darunter im linken Bereich (unter Lokal) erscheinen die Dateien Ihres lokalen Dateisystems – navigieren Sie in das entpackte Verzeichnis mit den Drupal-Dateien.
Die rechten beiden Felder (unter dem Bereich Server) sind anfangs hingegen noch leer. Sie füllen sich mit Leben, indem Sie die FTP-Anmeldedaten von Ihrem Provider in die Felder oben eingeben und auf Verbinden klicken. Im Fall unserer Beispielwebseite erscheint schließlich ein Ordner mit dem Namen der Domain auf der rechten Seite.

Abbildung 5: FileZilla ist ein hervorragender FTP-Client, der auch unter Linux funktioniert. Mit ihm verschieben Sie Dateien auf den Webserver, ändern Zugriffsrechte und bearbeiten den Code.
Nun bereiten Sie alles auf die Datenübertragung vor. Im rechten Bereich klicken Sie zunächst auf das Verzeichnis mit dem Domainnamen, um in das Wurzelverzeichnis für den Webspace zu gelangen. Bei einigen Anbietern lagern Sie die Dateien in einem gesonderten Verzeichnis namens htdocs, bei anderen unter www oder public_html.
Sind Sie unsicher, was die Wahl des richtigen Ordners auf dem Server angeht, legen Sie einfach eine kleine Datei namens index.php im Texteditor an und schreiben Sie
<?PHP phpinfo (); ?>
hinein. Schieben Sie diese in den Ordner, von dem Sie glauben, dass Sie ihn direkt über das Aufrufen der Webadresse erreichen – im Beispiel also http://www.textmaschine.com. Geben Sie die URL ein, sollte eine vom Server generierte Liste mit den PHP-Eigenschaften in Ihrem Browser erscheinen (Abbildung 6). Sie wissen nun a), dass der Server PHP beherrscht, und b), dass die Datei im korrekten Verzeichnis liegt. Löschen Sie diese wieder, bevor Sie die Drupal-Dateien in den Webspace verschieben.

Abbildung 6: Wissen Sie nicht genau, welches das Wurzelverzeichnis auf Ihrem Server ist, testen Sie das mit einer PHP-Datei. So erfahren Sie auch gleich, welche PHP-Version auf dem Server läuft.
Nun könnten Sie eigentlich loslegen, müssen aber im Fall von Drupal 6.25 noch einen nervigen Installations-Bug beseitigen (Abbildung 7). Die etwas unverständliche Fehlermeldung zeigt einen Fehler in Zeile 891 der Datei /modules/taxonomy/taxonomy.module an, die auf dem Server liegt:
$term = clone $term;
Nach längerer Suche fanden wir heraus, dass die Zeile offenbar PHP5-Code enthält, wir aber PHP4 einsetzen müssen [8]. Daher ändern wir die Datei schon im Vorfeld, bevor diese auf dem Server landet und dem Installer auffällt. Rufen Sie die lokale Datei, die Sie im entpackten Drupal-Verzeichnis auf Ihrem Rechner finden, im Editor Kwrite auf (Abbildung 8). Suchen Sie die Zeile 891, kommentieren Sie die benörgelte Zeile aus und setzen Sie die alte Klon-Funktion ein:
// auskommentiert $term = clone $term;
$term = drupal_clone($term);
Nach dem Speichern der Datei markieren Sie sämtliche entpackten Dateien auf der linken Seite von FileZilla, klicken mit der rechten Maustaste auf diese und wählen Hochladen aus dem Kontextmenü.

Abbildung 7: Eine Fehlermeldung im Installer zwingt uns eine Google-Suche auf. In diesem Fall hat zum Glück schon jemand eine Lösung für das Problem parat.

Abbildung 8: Die bemängelte Funktion lässt sich zwar einfach ersetzen, es stellt sich aber die Frage, warum die Entwickler nichts bemerkt haben.
Installation mit Schönheitsfehlern
Nun rufen Sie im Browser wieder die Domain auf. Auf der ersten Konfigurationsseite von Drupal wählen Sie die deutschsprachige Drupal-Version als Installationsprofil, im nächsten Schirm wählen Sie Deutsch als Sprache. Dann gelangen Sie zum Punkt Systemvoraussetzungen überprüfen. Ein roter Kasten weist Sie auf Probleme mit den Rechten sowie fehlenden Dateien und Ordner hin, die Sie in FileZilla lösen.
Zunächst navigieren Sie auf dem Server (rechter Bereich) zum Ordner sites/default. Per Rechtsklick rufen Sie hier das Kontextmenü auf, wählen Verzeichnis erstellen und geben den Namen files ein. Im zweiten Schritt klicken Sie mit der rechten Maustaste auf default.settings.php und benennen die Datei über den Eintrag Umbenennen in settings.php um. Anschließend wechseln Sie in das lokale Verzeichnis mit den entpackten Drupal-Dateien und kopieren die Datei sites/default/default.settings.php in den Ordner sites/default auf dem Server. Tun Sie das nicht, erscheint bei der Installation eine Fehlermeldung. Anschließend befinden sich im Verzeichnis sites/default also die beiden Dateien settings.php und default.settings.php. Markieren Sie diese sowie den Ordner files mit gedrückter [Strg]-Taste und wählen Sie aus dem Kontextmenü den Eintrag Dateiberechtigungen. Diese setzen Sie nun auf 666 (Abbildung #10). Haben Sie das alles erledigt, kehren Sie zum Browser zurück und drücken [F5], um die Seite zu aktualisieren.

Abbildung 10: Zeigt der Installer ein Rechteproblem an, lösen Sie das meist in FileZilla, indem Sie die Rechte für Dateien und Ordner verändern.
Die rote Fehlermeldung verschwindet, und Sie landen beim Schritt Datenbank einrichten. Wie Ihre Datenbank und der zugehörige Benutzer heißen, müssen Sie über Ihren Webhoster herausfinden. Tools wie PhpMyAdmin helfen dann dabei, eine leere Datenbank anzulegen. Über Erweiterte Einstellungen geben Sie noch einen Tabellenpräfix an (etwa dru625_), um die Tabellen später der richtigen Drupal-Installation zuzuordnen. Nach dem Eintragen der korrekten Daten klicken Sie im Installer auf Speichern und fortfahren. Der Drupal-Installer legt nun eigenständig die Tabellen an, die das CMS benötigt.
Im Fenster Website konfigurieren gibt die rote Box erneut eine Fehlermeldung aus. Ändern Sie die Rechte für den Ordner sites/default auf 555 und für die beiden Dateien settings.php und default.settings.php auf 444. Dann drücken Sie erneut [F5], damit die Warnung verschwindet. Nun füllen Sie die Zeilen aus, tragen den Namen der Webseite ein, eine E-Mail-Adresse, einen Anmeldenamen mitsamt Passwort für den Administrator. Aktivieren Sie die lesbaren URLs, verlinkt das System Artikel unter ihrem Namen, was bei Google-Suchen hilft. Ein abschließender Text beglückwünscht Sie zur gelungenen Installation und zeigt einen Link an, der Sie zu Ihrer fertigen Drupal-Webseite bringt (Abbildung 11). Parallel schickt Ihnen Drupal eine E-Mail an die von Ihnen angegebene Adresse.
Sie richten Drupal nun in Ruhe ein, indem Sie sich mit dem bei der Installation definierten Log-in-Daten anmelden. Das Verwalten von Drupal benötigt recht viel Einarbeitungszeit, lesen Sie am besten eine Einführung aus dem Netz [9]. So müssen Sie dem Interface beispielsweise erst explizit Deutsch beibringen.

Abbildung 11: Herzlichen Glückwunsch, Ihr Drupal läuft nun auf dem Server. Jetzt fängt die eigentliche Arbeit erst an. Sie müssen Drupal an die eigenen Bedürfnisse anpassen.
- Stellen Sie über Administer / Site configuration / Languages die deutsche Sprache ein, indem Sie die englische deaktivieren.
- Laden Sie unter [10] die deutsche Sprachdatei für Drupal 6.25 herunter.
- Über Administer / Site building / Translate interface / Import importieren Sie die deutsche Sprachdatei in das Drupal-System. Als Mode stellen Sie Strings in the uploaded file… ein und klicken abschließend auf Import
Fortan steht Drupal 6.25 in deutscher Sprache zur Verfügung.
Module
Bilder laden Sie in Drupal nicht einfach hoch. Auch diese Aufgabe erledigt ein Modul namens img_assist[11], das Sie erst installieren müssen. Da Module oft andere Module voraussetzen (was die Modulverwaltung auch anzeigt), laden Sie auch gleich die Module image[12] und views[13] herunter. Achten Sie darauf, dass die Module, die als ZIP-Archive vorliegen, zu Ihrer Drupal-Version (6.x) passen. Entpacken Sie alle drei Archive und schieben Sie die Ordner in das Drupal-Verzeichnis /module auf dem Server. Dann rufen Sie Verwalten / Strukturierung / Module auf und aktivieren img_assist und seine beiden Verwandten. Schnell sehen Sie, dass es zahlreiche Bilderverwaltungsmodule für Drupal gibt – suchen Sie das beste also im Vorfeld aus.
Fazit
Wenn es glatt läuft und Sie die Daten für Ihre Datenbank vorliegen haben, installieren Sie ein CMS in Minuten. Einfach die Dateien in das Root-Verzeichnis des Servers kopieren, Webadresse aufrufen und den Anweisungen des Installers folgen. Das funktioniert so bei den meisten Systemen – wenn da nicht die Bugs wären.
Das Aufsetzen von Drupal 6.25 dauerte im Test länger als eine Stunde. Schuld daran waren Fehlermeldungen, die eigentlich schon den Entwickler hätten auffallen müssen. Die Bugs zu finden und zu beseitigen, nimmt Zeit in Anspruch. Die Chancen stehen jedoch nicht schlecht: Meist hatten schon Benutzer vor Ihnen das Problem, sodass Sie im Netz eine Lösung finden. Dabei können Sie sich allerdings auch leicht verzetteln.
Um ein CMS erfolgreich zu verwalten, genügt es nicht, wild in die Verwaltungsoberfläche zu klicken. Sie sollten im Vorfeld mindestens ein Benutzerhandbuch lesen. Es lohnt sich aber: Am Ende erhalten Sie zum Nulltarif ein Funktionsmonster, das auch in professionellen Umgebungen eine gute Figur macht und nur wenige Wünsche offen lässt. Scheitert die Installation, greifen Sie zu einer anderen Version des CMS – häufig befallen die Fehler nur eine bestimmte Variante. Alternativ greifen Sie zu einem simpleren CMS wie WordPress [14]. Und noch ein letzter Tipp: Schreiben Sie sich Ihr Vorgehen Schritt für Schritt auf. Später bekommen Sie sonst nicht wieder zusammen, was Sie getan haben, damit das CMS so funktioniert, wie Sie es wollen.
Glossar
-
KK-Antrag
-
KK steht für Konnektivitäts-Koordination; mit einem KK-Antrag bitten Sie um den Transfer einer Domain zu einem neuen Webhoster. Mitunter übernimmt der neue Anbieter die Kosten für diesen Domaintransfer, in einigen Fällen müssen Sie diese selbst tragen. Wie so etwas in der Praxis abläuft, lesen Sie zum Beispiel unter [2].
Infos
[1] Webhoster im Preisvergleich: http://www.webhostlist.de/webhosting/preisvergleich/
[2] KK-Antrag zum Domaintransfer: http://www.hosteurope.de/download/FAQ_Providerwechsel.pdf
[3] Deutschsprachige Drupal-Seite: http://www.drupalcenter.de
[4] Drupals Modulsuchmaschine: http://drupal.org/project/modules
[5] Drupal 6.25 zum Download: http://www.drupalcenter.de/files/drupal-6.25-DE.tar.gz
[6] Drupals Systemvoraussetzungen: https://drupal.org/requirements
[7] Drupal installieren: http://www.drupalcenter.de/handbuch/drupal6-installationsanleitung
[8] Ursache einer Fehlermeldung: http://acko.net/blog/php-5-references-fun-clone-for-php4/
[9] Drupal verwalten (Kurzübersicht): http://www.tdesch.de/?q=node/6
[10] Deutsche Sprachdatei f. Drupal 6.25: http://ftp.drupal.org/files/translations/6.x/drupal/drupal-6.25.de.po
[11] Modul img_assist: https://drupal.org/project/img_assist
[12] Modul image: https://drupal.org/project/image
[13] Modul views: https://drupal.org/project/views
[14] Artikel zu WordPress: http://linux-community.de/artikel/21433


