Content Management Systeme Ein Vergleich bekannter Open-Source-CMS Seminarvortrag von Thorsten Köppinger Januar 2010 Übersicht • Was ist ein Content Management System ? • Die wichtigsten Vorteile, die für den Einsatz eines CMS sprechen • Was ist eigentlich Open Source ? • CMS – Open Source vs. Lizenzsoftware • • - Besondere Vorteile von Open Source Systemen - Besondere Vorteile von kommerziellen Systemen Die Content Management Systeme im Einzelnen: - Joomla! - TYPO3 - Drupal - Plone Der Vergleich WAS IST EIN CONTENT MANAGEMENT SYSTEM? • • • • • • • grob übersetzt: Inhaltsverwaltungssystem, Kurzform CMS dient zur gemeinschaftlichen Erstellung und Bearbeitung von Inhalten Inhalte bestehen aus Text- und Multimedia-Dokumenten, dienen meistens für die Generierung von Webinhalten Autor kann ohne Programmier- oder HTML-Kenntnisse Inhalte erstellen bei ausschließlichen Web-Anwendungen wird der Begriff Web-Content-ManagementSystem benutzt medienneutrale Datenhaltung - als PDF- oder als HTML-Dokument abrufbar klassischen Redaktionssysteme DIE WICHTIGSTEN VORTEILE, DIE FÜR DEN EINSATZ EINES CONTENT MANAGEMENT SYSTEMS SPRECHEN • • • • • • Intuitive und Bedienerfreundliche CMS Oberflächen garantieren hohe Effektivität Sie kümmern sich um den Inhalt - das CMS erledigt den Rest Einfache Rechtevergabe aufgrund von Benutzernamen und Passwort Maximaler Grad an Flexibilität Qualitätssicherung vor der Veröffentlichung Schnelle Integration bestehender Daten und Datenbanken WAS IST EIGENTLICH OPEN SOURCE? • • • bedeutet "quelloffen„ oder auch "offene Quelle„ gilt als Open Source, wenn bestimmte Lizenzkriterien erfüllt sind Anwender hat weitläufig eingeräumte Verwertungsrechte. Merkmale von Open-Source-Software (OSS) • • • • • • • Software liegt in lesbarer und verständlicher Form vor (Quelltexte einer höheren Programmiersprache) OSS darf verändert und in der veränderten Form auch weitergegeben werden Verändern durch offengelegten Quelltext ohne weiteren Aufwand möglich Open Source lebt von aktiver Beteiligung der Anwender OSS darf beliebig kopiert, verbreitet und verwendet werden Für OSS gibt es keine Nutzungsbeschränkungen (Nutzeranzahl, Anzahl Installationen, Anwendergruppen) keine Zahlungsverpflichtungen gegen den Lizenzgeber durch Vervielfältigung oder Verbreitung Diese Merkmale werden detailliert in der Open Source Definition (OSD) der Open Source Initiative festgelegt. Freie Software – Open-Source-Software Freie Software • • Programm wird kostenlos angeboten Quelltext muss nicht offen dargelegt werden Open-Source-Software • • • Quelltext muss für jedermann verfügbar und veränderbar sein Programm kann kostenlos angeboten werden, kann aber auch mit Kosten verbunden sein Ist an Kriterien, die in der Lizenz stehen, gebunden Um den Namenskonflikt zwischen Freie Software und Open – Source – Software zu umgehen, werden in jüngerer Zeit auch häufig die Begriffe FOSS und FLOSS (Free (/ Libre) and Open – Source – Software) verwendet. CMS – OPEN-SOURCE VS. LIZENZSOFTWARE Besondere Vorteile von Open Source Systemen • • • • • Frei verfügbarer Quellcode Kostenlose Weitergabe Weltweite Entwickler- und Nutzercommunities Zukunftssicherheit Bedingungslose Unabhängigkeit Besondere Vorteile von Kommerziellen Systemen • • • • Nutzerorientierte Entwicklung Abgesichert hoher Servicestandard Zentralisiertes Know-How Gewährleistung Die hier vorgestellten CMS im Überblick • Joomla! 1.5.15 • TYPO3 4.2.10 • Drupal 6.14 • Plone 3.3.1 Joomla! • • • • • Hervorgegangen aus dem Open-Source-Projekt Mambo basiert auf PHP Version 1.0.0 erschien am 1.September 2005 und war Mambo, allerdings mit einigen Erweiterungen kombiniert Mit Version 1.5 trennte man sich von den Mambowurzeln, es entstand ein gänzlich eigenes, neues CMS. Veröffentlicht am 22. Januar 2008 In 2010 soll Version 1.6 erscheinen Systemanforderung, Installation und Aktualisierung • • • • • Apache Webserver PHP 4.3.10+ MySQL 3.23+ Entpacken der Quelldateien ins htdocs-Verzeichnis des Webservers Installation erfolgt über Webbrowser Administration • Aufgeteilt in Back- und Frontend • Zugriff auf die einzelnen Bereiche über das Kontrollzentrum • Installation von Erweiterungen wie Module, Templates Sicherheit • • • • • Nutzung von globalen Variablen in PHP Unsichere Serverkonfiguration Zahlreiche Drittkomponenten verursachen meistens sicherheitsrelevante Probleme Nutzer versucht Fehlermeldungen durch Zurückschrauben oder gar deaktivieren von Sicherheitseinstellungen zu unterbinden Hilfe in den Nutzergemeinden zur Beseitigung programmierbedingter Sicherheitsmängel Inhaltserstellung und –betrachtung im Joomla! Back- und Frontend Inhaltserstellung und –betrachtung im Joomla! Back- und Frontend TYPO3 • • • • • basiert auf PHP wurde ursprünglich von Kasper Skårhøj entwickelt zwei Teams arbeiten zur Zeit an den Versionen 4 und 5 über 4000 Erweiterungen (News, Shop-Systeme, Diskussionsforen, etc.) mit Drupal und Joomla! eines der bekanntesten Content-Management-Systeme Systemanforderung, Installation und Aktualisierung • • • • • • • • Apache Webserver PHP 4 oder 5, ab Version 4.2.0 wird PHP 5.2 benötigt MySQL Datenbank Entpacken der Quelldateien ins htdocs-Verzeichnis des Webservers Installation erfolgt über Webbrowser mit Hilfe eines Webinstallationstools Bei Aktualisierungen sollte zuerst ein Backup erstellt werden Nach aufspielen der neuen Version wird die Datenbank verglichen und aktualisiert Blick ins Changelog, um über wichtige Änderungen informiert zu sein, die den Betrieb negativ beeinflussen könnten Administration • • • Aufgeteilt in Back- und Frontend Funktionen beinhalten z.B. ein Rollen- und Rechtesystem, eine Nutzerverwaltung, usw. Installation von Module, Templates Sicherheit • • • • • • • • Verfügt im Kern schon über mehrere Sicherheitsmerkmale Anmeldung werden protokolliert Detaillierte Benutzerverwaltung Bei Sicherheitssensitiven Ereignisse kann sich der Administrator automatisch Benachrichtigungen per Mail schicken lassen Weitere Sicherheitsfunktionen als Erweiterungen einbaubar Sicherheitsrisiken gehen am ehesten von den Erweiterungen aus Auf typo3.org befinden sich eine Menge Erweiterungen Status und Downloadanzahl dienen als Anhaltspunkt, wie sicher die Erweiterung ist Drupal • • • • • • • konzipiert vom belgischen Informatiker Dr. Dries Buytaert Basiert auf PHP Unterstützt den Aufbau von Communities Nutzer können eigene Weblogs anlegen, sich in Foren austauschen oder Artikel veröffentlichen Drupal steht seit 2001 als Open-Source zur Verfügung Wird unter anderem vom Weißen Haus als Internetpräsenz genutzt Besteht aus einem Kern mit Grundfunktionalität, erweiterbar mit Modulen Systemanforderung, Installation und Aktualisierung • • • • • • • • Apache Webserver PHP 4.3.5+ MySQL 3.23+ Entpacken der Quelldateien ins htdocs-Verzeichnis des Webservers Installation erfolgt über Webbrowser Umkopieren und –benennen einer Konfigurationsdatei nötig Bei einer Aktualisierung sollten die Drupaldateien und Datenbank(en) gesichert werden Um von einer alten Version (4 oder 5) auf die aktuelle Version aufzuwerten, muss immer zuerst die letzte Version des eigenen Versionbaumes aufgespielt werden, bevor man eine Version höher aufspielt Administration • Nicht Aufgeteilt in Back- und Frontend • Ansicht und Funktionen nach dem Anmelden abhängig von Benutzerrechten • Administratorbereich ist seit Version 5.0 unterteilt in eine Sicht nach Aufgaben und eine Sicht nach Modulen • Arbeitsablauf und Benutzerverwaltung sind im Kern enthalten, können aber über Erweitungen ausgebaut werden • Installation von mehreren Hundert Erweiterungen wie Module, Themes von drupal.org Sicherheit • • • • Besitzt eine ausreichende Benutzerverwaltung Sicherheitsmodul analysiert die Installation auf eventuelle Sicherheitsmängel, welche durch veraltete Module entstehen können Update Status Modul informiert über Aktualisierungen installierter Module und Themes Administratoren wird empfohlen, sich auf der Mailliste für Sicherheitsankündigungen einzutragen Plone • • • • • Basiert auf der Programmiersprache Python Baut auf dem Open-Source Anwendungsserver Zope auf (Z Object Publishing Environment) Zope eignet sich sehr gut zum Erstellen dynamischer Webseiten Unterstützt verschiedene WYSIWYG-Editoren Plone Collective – Sammlung von Zusatzprodukten für den freien Einsatz auf Ploneseiten. Systemanforderung, Installation und Aktualisierung • • • • • • • • Zope beinhaltet Zserver als Webserver Programmiersprache Python Als Datenbank dient die Objekt-Datenbank ZODB Installation in ein beliebiges Verzeichnis Zur Bearbeitung der Webseite muss eine Ploneinstanz erzeugt werden und die Seite im Zope Management Interface hinzugefügt werden Bei Aktualisierungen sollte das komplette Ploneverzeichnis gesichert werden Zu beachten ist, das Version älter als 2.5.X zuerst auf 2.5.X aktualisiert werden müssen, da die Entwickler mit Plone 3.0 den Quellcode verändert haben und ältere Versionen unter 2.5.X nicht mehr unterstützt Bei Hosting ist zu beachten, das der Webhoster Plone anbietet, da man sonst keine Instanz starten kann und die Webseite somit nicht betreiben kann Administration • Aufgeteilt in Back- und Frontend, allerdings nicht deutlich voneinander abgegrenzt • Nutzer bekommen Rollen zugewiesen • Zeitgesteuerte Veröffentlich von Inhalten möglich • Ereignissteuerung (neuer Artikel eingestellt – Mail an Administrator) Sicherheit • • • Sicherheitsframework in Zope enthalten, welches auf Rollen aufbaut Für jedes einzelne Objekt kann eine Rolle für den Zugriff bestimmt werden und anschließend wird diese Rolle dem Benutzer zugewiesen Nutzer arbeitet im Vergleich zu PHP nicht direkt im Dateisystem, sondern in einer virtuellen Umgebung, welche nur auf Wunsch des Entwicklers verlassen werden kann – verhindert Zugriffe auf Serverdaten • Wahl des CMS hängt vom Einsatzgebiet ab • Kenntnisstand der Benutzer / Administratoren sind entscheidend Joomla! TYPO3 Drupal Plone Installation Webserver + Datenbank muss konfiguriert sein Webserver + Datenbank muss konfiguriert sein Webserver + Datenbank muss konfiguriert sein Bringt eigenen Webserver und DB mit - ZOPE Einarbeitungszeit Leicht und schnell erfordert Fachwissen auf Entwicklerseite, durch skalierbare Oberfläche für Redakteure einfach zu bedienen Leicht, einfacher Grundaufbau Umfangreich Einsatzgebiet Geeignet für kleinere Projekte dank schneller Einarbeitung Prädestiniert für große Internetplattformen, Marktplätze, Portallösungen Für kleinere und mittlere Unternehmen geeignet Intranet, - Extranet und Portalseiten (NASA, Porsche, CNN) Sicherheitsaspekte Skriptsprache PHP verursacht Sicherheitslücken Sicherheitsrisiken am ehesten durch Erweiterungen Sicherheitsmängel durch veraltete Module Sehr sicher dank geringer Anzahl bekannter Sicherheitslücken Sicherheitsaspekte sind bei allen CMS durch eine hohe Anzahl an Sicherheitsmodulen erweiterbar Es gibt noch eine Menge anderer CMS ( hier eine kleine Auswahl ) System Requirements Database License Operating System Programming Language Web Server Security Content Approval Email Verification Login History Support Commercial Support Public Forum Third-Party Developers Ease of Use Drag-N-Drop Content WYSIWYG Editor Management Content Scheduling Workflow Engine Built-in Applications Search Engine Time Tracking Commerce Inventory Management Subscriptions BIGACE 2.7 MySQL Open Source Platform Independent PHP Apache CompactCMS 1.4.0 MySQL Open Source Platform Independent PHP Apache gekko 0.7 MySQL Open Source Platform Independent PHP Apache Moodle 1.9 MySQL Open Source Platform Independent PHP Any PostNuke 0.75 Gold MySQL Open Source Platform Independent PHP Apache WordPress 2.2.1 MySQL Open Source Platform Independent PHP Apache No Yes Limited No No No No No Yes Yes Yes Yes Yes No No Yes Free Add On Free Add On Yes Yes No No Yes No No Free Add On No Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes No Yes Yes Yes Yes Yes No Yes Yes Yes No Limited No No No No No Yes Yes Free Add On Free Add On No Yes No No No No No Yes Yes Yes Free Add On Yes Free Add On No No No No No No Yes No No No No No Haben Sie noch Fragen? Vielen Dank für Ihre Aufmerksamkeit!