Installation der 5 verbreiteten Content Management Systeme

WordPress, Contao, TYPO3, Drupal, Joomla!

WordPress, Contao, TYPO3, Drupal, Joomla!

Open Source Content Management Systeme werden im grossen Stil zum Aufbau und zur Pflege von Websites seit gut 10 Jahren eingesetzt. In diesem Artikel geht es um die Installation jedes Systems auf einem Root-Server.

Wir wollen nicht auf die Vor- oder Nachteile der einzelnen Systeme eingehen. So unterschiedlich sind die fünf Systeme, von der technischen Seite her betrachtet, gar nicht :). Mit jedem dieser Systeme können kleine und auch grosse Websites erstellt werden. Die Realisierung ist eine Frage von Budget, Ressourcen, Wünschen, Erwartungen und Zielvereinbarungen.

Alle oben genannten CMS benötigen eine Datenbank (meist MySQL) und sie bestehen aus einer Sammlung von PHP Skripten und externen Bibliotheken. Zur Installation müssen ausser dem eigentlichen Webspace (vhost), ein Datenbank User Account und eine Datenbank zur Verfügung stehen.

Im deutschsprachigen Raum haben sich die Systeme WordPress, Joomla!, TYPO3, Contao und Drupal durchgesetzt.

Inhalt

Datenbank

Zum Thema Datenbank gibt es ein paar Dinge zu sagen. Zunächst gibt es natürlich auch andere Datenbanken neben MySQL, beispielsweise PostgreSQL, Microsoft SQL Server oder Oracle. Ein relativ neuer Name in diesem Kreis ist MariaDB.

MySQL ist vermutlich immer noch das am weitestens verbreitete Open Source Datenbanksystem. Die Firma MySQL AB, die hinter der Entwicklung von MySQL stand, wurde 2008 von Sun Micosystems übernommen, die wiederum 2010 von Oracle gekauft wurden. Seit der Übernahme durch Oracle wird der Unterschied von der freien zur kommerziellen Version von MySQL immer grösser zu lasten der freien Version. Michael Widenius, der Gründer von MySQL AB gründete daher im Jahr 2012 die unabhängige MariaDB-Foundation, die das gleichnamige Datenbanksystem MariaDB entwickelt. MariaDB wird bereits von einigen Linux-Distributionen als Standard-Installation benutzt und auch unter Ubuntu gibt es MariaDB Installationspakete.

Vermutlich werden nach und nach die freien MySQL Versionen durch MariaDB ersetzt werden. Da wir in diesem Blog mit der Installation von MySQL (und PHP) begonnen haben, werden wir bis auf weiteres auch dabei bleiben. Alle beschrieben Beispiele laufen auch mit dem MariaDB Server.

PHP

PHP kann als Servermodul (so wie in unserer Installation) oder als CGI-Programm eingesetzt werden. Je nach Anforderung ist das Eine oder das Andere „besser, schneller, sicherer, etc“. Ich werde in einem späteren Blogeintrag beschreiben, wie Sie PHP als CGI einsetzen und vor allem warum (Bei der TYPO3 NEOS Installation wird beispielsweise PHP in der CGI Version benutzt)

Für die Installation und den Betrieb der oben angegebenen CMS ist die Betriebsart von PHP in diesem Stadium nicht wichtig.

Datenbank und User anlegen

Wie bereits im OwnCloud Artikel beschrieben, geht das recht einfach über die Konsole.

Rufen Sie den MySQL Monitor auf und erzeugen Sie ein Benutzerkonto und eine Datenbank. Im folgenden Beispiel heisst der Benutzer cmsuser und die Datenbank cmsdb. Nehmen Sie sich bitte die Zeit und lesen ein paar Zeilen über Passworte.

Wählen Sie Namen oder tauschen Sie einfach den String cms durch den Namen des CMS aus.

mysql -u root -p
Enter password:
mysql> CREATE USER 'cmsuser'@'localhost' IDENTIFIED BY 'IHRPASSWORT';
mysql> CREATE DATABASE cmsdb;
mysql> GRANT ALL ON cmsdb.* TO 'cmsuser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit

Ich lege mir also fünf Datenbanken nebst Usern und Passworten an:

  • DBUser: wpuser DB: wpdb Passwort: …
  • DBUser: joouser DB: joodb Passwort: …
  • DBUser: t3user DB: t3db Passwort: …
  • DBUser: ctuser DB: ctdb Passwort: …
  • DBUser: duser DB: ddb Passwort: …

zurück nach oben

Virtueller Server

Legen Sie sich wie im Blogeintrag Viele virtuelle Server auf einem Root-Server beschrieben, einen oder mehrere virtuelle Server an.

Setzen Sie die Besitzer- und Gruppenzugehörigkeit auf den User und die Gruppe des Webservers (jeweils www-data). Als Domain benutze ich serverblogger.ch.

sudo chown -R www-data:www-data /var/www/serverblogger.ch/public_html

An dieser Stelle kommt es darauf an, wer der Administrator des virtuellen Servers sein wird, wie die Dateien kopiert werden, etc. Wenn es jemand anders als Sie ist, so muss/sollte der virtuelle Server die Besitzer- und Gruppenzugehörigkeit dieses Users haben und der User sollte Mitglied der Gruppe des Webservers sein. Dazu mehr in einem späteren Blogeintrag.

Es ist hilfreich (bei TYPO3 Neos zwingend) das Modul Mod_rewrite zu aktivieren

a2enmod rewrite

zurück nach oben

Installation der Content Management Systeme

Jedes der CMS besitzt ein browserbasiertes Installationsprogramm.

Sie müssen auf der jeweiligen Projekthomepage den Quellcode downloaden, in Ihr DocumentRoot Verzeichnis (meist /public_html) entpacken und dann im Browser die entsprechende Domain aufrufen

  1. Beim Auspacken müssen Sie darauf achten, ob die Dateien in ein eigenes Verzeichnis ausgepackt werden oder nicht. Das WordPress Archiv wird beispielsweise in ein Unterverzeichnis wordpress entpackt. Es gibt keine richtige oder falsche Art zu Entpacken. Entwickeln Sie einfach ein pragmatisches System, durch das Sie und! Ihre Kollegen durchsteigen. Ich sammele die Quellarchive beispielsweise in meinem Home Verzeichnis, entpacke sie dort und kopiere die Daten dann an ihr eigentliches Ziel. Das ist nicht atemberaubend effizient aber übersichtlich.
  2. Vergessen Sie nicht die ausgepackten Dateien mit der „richtigen“ Besitzer- und Gruppenzugehörigkeit zu versehenchown -R www-data:www-data /var/www/meinewebsite.ch/public_html

    Das -R sorgt dafür, dass alle Unterordner und die darin enthaltenen Dateien ebenfalls bearbeitet werden.

  3. Hilfreich beim hin- und herkopieren ist seit nunmehr 20 Jahren auch immer noch der Midnight Commander. Sie installieren ihn mit dem Befehl apt-get install mc.

zurück nach oben

1. WordPress – Installation auf einem Root-Server

Den Quellcode gibt es auf https://de.wordpress.org/.

Download:

wget https://de.wordpress.org/wordpress-4.0.1-de_DE.tar.gz

Auspacken:

tar -xvzf wordpress-4.0.1-de_DE.tar.gz -C /var/www/[domainname]/public_html/

Aufruf im Browser:

Das Installationsprogramm erscheint. Füllen Sie die Formulare mit den entsprechenden Daten aus.

Installation Screen 1
Installation Screen 1
Eingabe der Zugangsdaten
Eingabe der Zugangsdaten
Start der eigentlichen Installation
Start der eigentlichen Installation
Eingabe der Website Informationen
Eingabe der Website Informationen
Erfolgreiche Installation
Erfolgreiche Installation
Administrationsbereich
Administrationsbereich
Website nach der Installation
Website nach der Installation
Die Website ist nun im „Roh- oder Auslieferungszustand“ und bereits mit jeweils einem Beispielpost versehen.

„So, und nun genug geschwafelt – jetzt nichts wie ran ans Bloggen!“

Dem will ich nichts hinzufügen 😉

Das Admin Interface finden Sie unter http://[domainname]/wp-admin

zurück nach oben

Joomla!- Installation auf einem Root-Server

Den Joomla! Download gibt es auf joomla.org. Ein komplett deutsche Version finden Sie auf jgerman.de (funktioniert nur mit MySQL).

Download:

wget http://downloads.sourceforge.net/jgerman/Joomla_3.3.6-Stable-Full_Package_German.tar.gz

Auspacken:

tar -xvzf Joomla_3.3.6-Stable-Full_Package_German.tar.gz -C /var/www/[domainname]/public_html/

Aufruf im Browser:

Das Installationsprogramm erscheint.

1. Konfiguration
1. Konfiguration
2. Datenbank
2. Datenbank
FTP-Konfiguration
FTP-Konfiguration
Zusammenfassung
Zusammenfassung
Erfolgreiche Installation
Erfolgreiche Installation
Administrationsbereich
Administrationsbereich
Website mit Beispieldaten
Website mit Beispieldaten
Die Website ist nun im „Roh- oder Auslieferungszustand“ und optional mit Beispieldaten gefüllt.

Das Admin Interface finden Sie unter http://[domainname]/administrator

zurück nach oben

TYPO3- Installation auf einem Root-Server

TYPO3 gibt es in zwei Geschmacksrichtungen

  • Das TYPO3 CMS in der aktuellen Version 6.2.x. Es ist das „klassische“ TYPO3, wie es im deutschsprachigen Raum verbreitet ist.
  • Die Version TYPO3 NEOS in der Version 1.1.x- TYPO3 NEOS ist mehr oder weniger als Unfall entstanden. Während der Entwicklung der Version 5 des TYPO3 CMS wurden aus unterschiedlichen Gründen komplett neue Wege beschritten. Die Version 5 entfernte sich daher immer mehr von den Verfahrensweisen des TYPO3 CMS. In der Konsequenz beschloss man, die Version 5 als eigene TYPO3 Version auszulagern und beim TYPO3 CMS von der Version 4 direkt nach 6 zu springen. TYPO3 NEOS basiert auf dem TYPO3 Framework FLOW und stellt nach eigenen Aussagen die Zukunft von TYPO3 dar.

Ich gebe in diesem Blogeintrag mal der Zukunft den Vorrang und installiere TYPO3 NEOS.

Wir müssen auf unserem Root-Server ein paar Vorbereitungen treffen und Git, sowie den „PHP Abhängigkeitsmanager“ Composer installieren.

apt-get install git

Den Composer installiere ich in meinem Home Verzeichnis /home/novatrend

curl -s https://getcomposer.org/installer | php

Dann wechsele ich in das gewünschte Verzeichnis (cd /var/www/serverblogger.ch/public_html) und lasse mir vom Composer TYPO3 NEOS installieren.

sudo php /home/novatrend/composer.phar create-project --no-dev typo3/neos-base-distribution TYPO3-Neos-1.1

Wenn die folgenden Meldungen erscheinen, lassen Sie sich von ein paar Fehlermeldungen nicht irritieren. Es waren in menem Fall nur Hinweise, die keinen Einfluss auf die Installation hatten.

Installing typo3/neos-base-distribution (1.1.2)
  - Installing typo3/neos-base-distribution (1.1.2)
    Cloning 1bfbeb21f3a924c732a6ee33ed9b59bbbe5e1a4f
...
... viel mehr Meldungen
...
  - Installing typo3/neos-kickstarter (1.1.x-dev 827c4cc)
    Cloning 827c4cc17bb116b1560410eb4c2f72e233d86b97

Writing lock file
Generating autoload files
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]? Y

Die Dateien sind jetzt heruntergeladen und ich setzte noch die Eigentumsrechte

chown -R www-data:www-data /public_html

Es dauerte eine Weile, bis ich den Quellcode an der richtigen Stelle hatte. Hilfreich waren dabei:

Hinweis auf die Datei mit dem Passwort
Hinweis auf die Datei mit dem Passwort
Datenbank Konfiguration
Datenbank Konfiguration
Administrator Account erstellen
Administrator Account erstellen
Eine Seite importieren oder neu erstellen
Eine Seite importieren oder neu erstellen
Erfolgreich installiert
Erfolgreich installiert
TYPO3 DEMO Website
TYPO3 DEMO Website
Administrationsbereich
Administrationsbereich
Der Administrationbereich befindet sich unter http://[domainname]/neos.

zurück nach oben

Contao- Installation auf einem Root-Server

Den Contao Quellcode gibt es auf contao.org

Download:

Ich habe kein Datei-Archiv gefunden, die Installationshilfe schlägt jedoch den Befehl

curl -L http://download.contao.org | tar -xzp

vor, der ein Verzeichnis contao-3.4 erstellt und die Dateien einzeln läd.

Auspacken:

entfällt, da die Dateien einzeln geladen werden.

Aufruf im Browser:

Das Installationsprogramm erscheint nach dem Aufruf von http://[domainname]/contao/install.php.

Füllen Sie die Formulare mit den entsprechenden Daten aus.

Lizenz akzeptieren
Lizenz akzeptieren
Installer Passwort
Installer Passwort
Datenbankkonfiguration
Datenbankkonfiguration
Datenbank Update
Datenbank Update
Erfolgreiche Installation
Erfolgreiche Installation
Admin User erstellen
Admin User erstellen
Frontent (noch keine Website angelegt)
Frontent (noch keine Website angelegt)
Administrationsbereich
Administrationsbereich
Eine Beispielwebsite wird bei der Installation von Contao standardmässig nicht erstellt, den Administrationsbereich finden Sie unter http://[domainname]/contao.

zurück nach oben

Drupal- Installation auf einem Root-Server

Den Drupal Quellcode gibt es auf drupal.org – Eine deutschsprachige Installation wird vom drupalcenter.de zur Verfügung gestellt. Ich benutze im Beispiel die Version von drupalcenter.de.

Hinweis Stand 28.11.2014:

In der /etc/php5/apache2/php.ini von Ubuntu 14.04 muss noch etwas geändert werden (https://www.drupal.org/node/2115155#comment-9071843), damit die Webinstallation problemlos durchläuft:

[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=0 // <- Diese Zeile muss aktiv sein

Danach ein Webserver Neustart – service apache2 restart

Download:

wget http://www.drupalcenter.de/files/drupal-7.34-DE.tar.gz

Auspacken:

tar -xvzf drupal-7.34-DE.tar.gz -C /var/www/[domainname]/public_html/

Aufruf im Browser:

Das Installationsprogramm erscheint. Füllen Sie die Formulare mit den entsprechenden Daten aus.

Auswahl des Drupalcenter.de Installationsprofils
Auswahl des Drupalcenter.de Installationsprofils
Sprachauswahl
Sprachauswahl
Datenbankkonfiguration
Datenbankkonfiguration
Website konfigurieren
Website konfigurieren
Drupal Installation fertiggestellt
Drupal Installation fertiggestellt
Frontend
Frontend
Administrationsbereich
Administrationsbereich
zurück nach oben

Fazit – Installation der fünf CMS auf einem Root-Server

Ich installiere nicht oft fünf Open Source CMS hintereinander weg auf einem Root Server und so war es für mich auch ganz interessant, die verschiedenen Ansätze in den Programmen zu sehen. Die absolut einfachste Installation war die von WordPress.

Joomla! und Drupal warfen während des Installationsvorgang ein paar Fragen auf, die aber einfach zu lösen sind. Nach der Installation bieten die drei Systeme eine fertige Website, die dann im Administrationbereich konfiguriert und mit Inhalt befüllt werden kann.

Contao ist ebenfalls gut zu installieren, erstellt allerdings keine Website während der Installation.

TYPO3 Neos schliesslich besitzt ebenfalls einen wunderbar einfach zu bedienenden Webinstaller, allein der richtige Download der Dateien und die Vorbereitung des virtuellen Webservers waren schlecht beschrieben. Das ist schade, denn das System an sich sieht sehr vielversprechend aus und verdient eine bessere Dokumentation!

  • WordPress 4.x: Sehr einfache Installation mit charmanter Benutzerführung. Es wird eine Website erstellt, die bereits sinnvolle Beispieldaten enthält. Websitewordpress.org, de.wordpress.org Twitter@wordpress @wp_deutschland
  • Joomla! 3.3.x: Sehr einfache Installation, teilweise für Neulinge verwirrend (beispielsweise: Brauche ich den FTP Layer? Welche Beispieldaten sind für meinen Zweck sinnvoll? Soll ich das Installationsverzeichnis löschen?). Es wird eine Website erstellt, die optional unterschiedliche Beispieldaten enthält. Websitejoomla.org, joomla.ch, joomla.de Twitter@joomla @joomlade
  • Contao 3.4: Sehr einfache Installation, teilweise für Neulinge verwirrend (beispielsweise: Warum lege ich ein Installer Passwort an? Soll ich ein Datenbank-Update während der Installation einspielen? Wo ist die eigentliche Website?). Es wird keine Website während der Installation erstellt. Websitecontao.org Twitter@contaocms @leofeyer
  • Drupal 7: Sehr einfache Installation. Es wird eine Website erstellt. Einziger Haken sind die Standardeinstellungen der php.ini in Ubuntu 14.04., in der ein Parameter geändert werden musste. Drupal hat eine optische Trennung zwischen Front- und Backend. Es wird eine Website abhängig vom Installationsprofil, in meinem Fall von drupalcenter.de ohne Beispieldaten erstellt. Websitedrupal.org, drupalcenter.de Twitter@drupal, @drupalcenter
  • TYPO3 Neos 1.1.2: Schlecht dokumentierte Vorbereitung des eigentlichen Installationsvorgangs. Ein Root-Server ist empfehlenswert, da Parameter in php.ini und vhost Konfigurationsdateien gesetzt werden müssen. Während der einfachen, webbasierten Installation im Anschluss besteht die Möglichkeit zur automatischen Erzeugung einer Demoseite. Websitetypo3.org, neos.typo3.org Twitter@typo3 @typo3neos

Falls Sie hilfreiche Links, HowTo’s, Bücher, Events für die ersten Schritte mit den einzelnen Systemen kennen, so freue ich mich auf Feedback.

Autor: Hagen Graf

consultant, author, trainer, solution finder, web architect, developer, open source lover, visionary, orator, the good old webmaster. Able to simplify!

Kommentar verfassen