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: …
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
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
- 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.
- 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.
- 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.
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.
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
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.
Die Website ist nun im „Roh- oder Auslieferungszustand“ und optional mit Beispieldaten gefüllt.
Das Admin Interface finden Sie unter http://[domainname]/administrator
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:
- Die offizielle Installationsanweisung von TYPO3 Neos
- Manuelle Installation von TYPO3 Neos
- TYPO3 Neos: Flow Fehlermeldung – PHP settings date.timezone
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.
Eine Beispielwebsite wird bei der Installation von Contao standardmässig nicht erstellt, den Administrationsbereich finden Sie unter http://[domainname]/contao.
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.
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. wordpress.org, de.wordpress.org @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. joomla.org, joomla.ch, joomla.de @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. contao.org @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. drupal.org, drupalcenter.de @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. typo3.org, neos.typo3.org @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.
Schreibe einen Kommentar