Dem Markus seine Spielwiese

From GeeklogWiki
Revision as of 22:38, 27 September 2008 by Markus (talk | contribs) (Sicherheit)

Jump to: navigation, search

Template:Infobox Software

Joomla! (engl. dschuumla, seltener auch dt. juumla) ist ein populäres freies Content-Management-System (CMS), das aus dem Open-Source-Projekt Mambo hervorgegangen ist und inzwischen in den unterschiedlichsten Anwendungsbereichen weltweit zum Einsatz kommt.

Joomla ist Freie Software und steht unter der GNU General Public License. Es ist in PHP 5 geschrieben und verwendet MySQL als Datenbank (weitere Datenbankschnittstellen stehen in Entwicklung).

Joomla! gehört zusammen mit Typo3 und Drupal zu den bekanntesten Open-Source-CMS.<ref>Google Trends</ref>

Geschichte

Nach erheblichen Differenzen mit der australischen Firma Miro, die die Namensrechte an Mambo besaß, verabschiedete sich am 17. August 2005 der Großteil der damals am Mambo-Projekt beteiligten Entwickler von Mambo. Um das System dennoch weiterentwickeln zu können, wurde der Code von Mambo 4.5.2.3 in ein neues Projekt mit dem Namen Joomla! übernommen und zu Joomla! 1.0.x (Stable) weiterentwickelt.

Das Entwicklerteam gründete eine Seite mit dem Namen OpenSourceMatters um die Nutzer, Entwickler, Webdesigner und die Community mit Informationen zu versorgen. Der Teamleiter zu dieser Zeit, Andrew „MasterChief“ Eddie, der das Projekt kurzzeitig verließ und am 15. August 2007 zurückkehrte, schrieb einen offenen Brief<ref>Template:Internetquelle</ref> an die Gemeinschaft, der auch im öffentlichen Forum auf mamboserver.com publiziert wurde.

Die erste Version (Joomla 1.0.0) von Joomla! wurde am 16. September 2005 angekündigt. Es handelte sich dabei im Prinzip um eine umbenannte Mambo Version, kombiniert mit einigen Erweiterungen. 2005 einigte man sich darauf, die gemeinsamen Wurzeln mit Mambo zu zerschneiden und ein gänzlich eigenes und neues CMS zu entwickeln.

Die Entwicklung der neuen Version, die mit 1.5 versioniert wird, dauerte mehr als zwei Jahre. In der Zwischenzeit wurde die Version 1.0 aktiv weiterentwickelt. Am 22. Januar 2008 wurde nach einigen RC-Versionen der erste Stable Release von Joomla! 1.5 veröffentlicht.

Joomla steht als Open Source zur Verfügung. Den Joomla-Entwicklern ist diese Entwicklungsphilosophie sehr wichtig, weshalb der offizielle Slogan „... because open source matters“ verwendet wird. Inzwischen wird Joomla für viele tausende Websites der unterschiedlichsten Art auf der ganzen Welt eingesetzt. Neben anderen bekannten CMS wie z. B. Drupal, Mambo und Typo3 ist Joomla! eines der meistverwendeten CMS weltweit. Joomla! hat eine starke Online-Community, die ihre Mitglieder aktiv unterstützt. Außerdem gibt es auch im deutschsprachigen Raum Unternehmen, die kommerziellen Support anbieten und Entwicklung professionell betreiben.

Joomla hat den englischen Packt Publishing Open Source Content Management System Award im Jahr 2006 in der Kategorie "Overall Winner" und 2007 in der Kategorie "Best PHP Open Source Content Management System" gewonnen.

Versionen

Version 1.0.x

  • Am 19. September 2005 wurde die Version 1.0.0 freigegeben. Merkmale sind:
    • Bereinigung von Fehlern und Sicherheitslöchern
    • Unterstützung von MySQL 4.1
  • Am 21. Juli 2007 ist die Version 1.0.13 veröffentlicht worden. In dieser Version werden fünf unkritische Sicherheitsmängel behoben sowie die Veränderung des Passwortsystem mittels des Salt-Algorithmus eingeführt. Aufgrund dieser Änderung ist ein Downgrade auf frühere Versionen nicht mehr möglich und sämtliche Fremdmodule, die mit dem Login arbeiten (z. B. Brücken zu Fremdsoftware wie ein Forum), sind nicht mehr mit dieser Version kompatibel.
  • Am 22. Februar 2008 ist die Version 1.0.15 veröffentlicht worden. Die Version schließt kritische Sicherheitslücken, die erst kurz nach Veröffentlichung der Vorgängerversion 1.0.14 bekannt wurden.

Grundlegende Funktionsweise

In der Basisversion ist Joomla zunächst vor allem ein Redaktionssystem, das es einem oder mehreren Autoren erlaubt, Texte und Bilder mithilfe von Upload- und Editierwerkzeugen online zu stellen. Die eingegebenen Daten werden dabei zunächst in einer Datenbank gespeichert und bei einem Seitenaufruf mittels der Skriptsprache PHP dynamisch zusammengesetzt. Über die Anweisung <?php mosMainBody ();?> wird dabei im Template ein Skript aufgerufen, das die Ausgabe vom Nutzer eingegebener Inhalte an einer einzelnen, definierten Stelle auf der Webseite, dem Main-Content-Bereich, initiiert.

Darüber hinaus werden schon in der Basisversion eine Reihe sogenannter Module zur Verfügung gestellt, mittels derer der Nutzer vom System automatisch Daten, wie z. B. Übersichten der zuletzt eingestellten Artikel, auf der Webseite generieren lassen kann. Diese Module werden durch PHP-Skripte des Typs mosLoadModules eingebunden. Die von den Modulen zusammengestellten Daten können so an verschiedenen, von der Position der Skriptanweisungen im Template vorgegebenen, Stellen auf der Webseite ausgegeben werden.

Mit sogenannten Komponenten, wie z. B. der in der Grundausstattung enthaltenen Kontakte-Komponente, eingegebene Daten werden dagegen beim Aufruf einer entsprechenden Seite im Browser vom Skript mosMainBody angefordert und im Main-Content-Bereich angezeigt. Auf die Darstellung dieser Daten kann dabei allerdings zum Teil nur bedingt durch Manipulation der die Ausgabe steuernden Anwendungsskripte Einfluss genommen werden.

Erweiterungen

Viele Anwender haben Erweiterungen (Module und Komponenten) für Joomla! erstellt, die sie der Nutzergemeinde meist kostenfrei zur Verfügung stellen. Auf diese Weise bietet Joomla! einen beachtlichen Funktionsumfang, der praktisch alle üblichen Anwendungen abdeckt. Neben den Vorteilen haben aber gerade diese Erweiterungen in der Vergangenheit immer wieder Sicherheitsprobleme hervorgerufen, so dass der Anwender eine gewisse Vorsicht walten lassen sollte (siehe Abschnitt Sicherheit). Zusätzlich zu den kostenfreien Erweiterungen gibt es auch einige kommerzielle Produkte für Joomla!, welche jedoch lizenzrechtlich nicht unumstritten sind.<ref name="heise open">Die Woche: Joomla! oder: die Quadratur der GPL auf heise open</ref> Zur Zeit sind auf der deutschen Website von Joomla! 434 Module und 277 Komponenten für Mambo und Joomla! in der Version 1.0.x (Stand 2. September 2007) referenziert.

Sicherheit

Geeklog wurde von anfangs für ein Sicherheitsportal entwickelt und somit selber mit viel Sicherheit in derKonzeption gebaut. Das zeigt das linuxähnliche Rechtesystem, aber auch ...

Version 1.5.x

Am 22. Januar 2008 wurde der erste Stable Release von Joomla! 1.5 über die offizielle Projektseite veröffentlicht. Der Release trägt die Versionsnummer 1.5.0 und den Codenamen Khepri, der gleichnamigen altägyptischen Gottheit, die den Sonnenaufgang verkörpert.<ref>Meldung auf der Joomla! Projektseite</ref>

Version 1.5 stellt für das CMS Joomla! einen Entwicklungssprung dar. Basierte der Quellcode der 1.0x-Serie noch auf Mambo, handelt es sich bei der Version 1.5 im Prinzip um ein neues CMS.

Wegen des neuartigen Aufbaus der Version 1.5 wird oft von einem sogenannten Framework gesprochen. Der Code wurde vollständig objektorientiert ausgelegt und die Komponenten folgen dem Model-View-Controller-Entwurfsprinzip. Dementsprechend steht Komponentenentwicklern eine neue API zur Verfügung, um eigene Erweiterungen für Joomla! zu entwickeln. Obwohl das Framework in der objektorientierten Version PHP 5 geschrieben wurde, ist Joomla! 1.5 auch zur Version 4 teilweise abwärtskompatibel. Dennoch wird PHP 5 für den Betrieb empfohlen, da Joomla 1.5 mit dieser Version signifikant schneller und stabiler läuft.

Ausgewählte Eigenschaften

  • Strikte Trennung von Layout/Design und funktionalem Quelltext mit dem Model-View-Controller-Entwurfsprinzip
  • Suchmaschinenoptimierung – Joomla! kann menschen- und maschinenlesbare URLs (z. B. für Suchmaschinen) erzeugen
  • Eingebaute Volltext-Suchfunktion
  • Eingebaute Caching-Mechanismen sorgen für gute Performance
  • Zahlreiche Themes ermöglichen weitgehende Anpassung des Layouts
  • Spracheinstellungen (auch mehrsprachige Sites) mit Hilfe von Lokalisierungsdaten
  • Anbindung an LDAP Server/-Authentifizierung
  • Anbindung an OpenID Server/-Authentifizierung
  • Integration von Ajax-Features mit dem Web 2.0 JavaScript-Framework MooTools

Sicherheit

Aufgrund der Popularität von Joomla wurde die Version 1.0.x oft zur Zielscheibe für Hackerangriffe. Die Angriffe nutzten zumeist Schwachstellen bei installierten Drittkomponenten aus oder waren auf fehlerhaft konfigurierte Installationen zurückzuführen. In einigen Fällen lag das Sicherheitsproblem auch direkt bei den Joomla-Kerndateien.

Aus diesem Grund hat man sich beim Design von Joomla 1.5 dazu entschlossen, die Sicherheitsarchitektur grundlegend zu überholen. Die gesteigerte Robustheit der Version 1.5 gegenüber Hackerangriffen lässt sich zum gegenwärtigen Zeitpunkt nicht bestätigen, da die neue Version noch nicht lange genug im praktischen Einsatz ist. In einem separaten englischen Wiki<ref>Security and Performance FAQs</ref> werden grundlegende Sicherheitstipps für den sicheren Betrieb von Joomla gegeben.

Eine Sicherheitslücke im Kernsystem von Joomla, die auf eine unzureichende Eingabeüberprüfung zurückzuführen war, führte nach Bekanntwerden zu ersten Hackerangriffen auf veraltete Internetpräsenzen der Version 1.5. Betroffen waren alle Versionen der Joomla 1.5 Reihe, einschließlich der Version 1.5.5. Die Sicherheitslücke wurde mit Version 1.5.6 behoben.

Version 1.6

Version Joomla 1.6 befindet sich gerade in der Entwicklung. Laut Angabe der offiziellen Entwickler ist die Veröffentlichung von Joomla 1.6 für das vierte Quartal 2008 geplant.

Joomla 1.6 wird den Support für PHP 4 einstellen und nur noch zu PHP 5.2+ kompatibel sein. Eines der neuen Hauptfeatures in Version 1.6 wird ein umfangreiches Rechtesystem sein, das auf einer Access Control List beruht.

Joomla 1.6 setzt die 1.5-Reihe fort und erweitert diese Version um zahlreiche neue Features. Da die Version 1.6 vollständig auf dem neuen Framework der 1.5 basieren wird, wird ein Update von Version 1.5 auf 1.6 problemlos möglich sein. Ein Wechsel von der älteren Version 1.0 auf die neue Version 1.6 wird hingegen nicht unterstützt werden und aufgrund der tiefgreifenden Veränderungen im System (seit Einführung von Joomla 1.5) nicht möglich sein.

Joomla! User Groups (JUGs)

Die sogenannten JUGs sind lokale Gruppen von Joomla-Benutzern und -Entwicklern, die sich regelmäßig zusammenfinden, um Informationen über Joomla! auszutauschen, Projekte zu planen (z. B. Workshops) und natürlich, um sich kennen zulernen und somit die soziale Komponente von Open-Source-Software zu pflegen. JUGs gibt es bisher (Stand Juli 2008) in den Städten Berlin, Köln, Nürnberg, Regensburg, in Hessen, im Ruhrgebiet, Sachsen und Schleswig-Holstein sowie in der Schweiz und in Österreich.

Der Name Joomla! (englische Lautumschreibung) leitet sich von dem Wort „Jumla“ aus der Suaheli-Sprache ab. Es bedeutet soviel wie „das Ganze“ oder auch „als ganzes“ und betont damit die Rolle der Entwickler-Gemeinschaft (Community). 2006 kamen Nutzer, Firmen und Verlage in Bonn zu einem Kongress zusammen, dem Joomla!Day.

Das offizielle Logo besteht aus dem Logobild und dem Joomla!-Schriftzug. Das Logobild repräsentiert die Vereinigung der Joomla!-Community. Es setzt sich aus vier zueinander gedrehten J zusammen. Das Joomla!-Logo ist nicht copyrightfrei und darf nur unter bestimmten Bedingungen verwendet werden. Ein Abändern des Logos ist in den meisten Fällen nicht gestattet. Das Logo darf dann in Publikationen verwendet werden, wenn sich diese an die von Joomla! vorgegebene Farbgestaltung hält.<ref>joomla!-Logo, Download und Verwendungsbeschränkung</ref>

Community

Joomla hat eine offizielle und viele inoffizielle Communities. Seit Juni 2008, weist das offizielle Joomla-Forum mehr als 299.000 Beiträge auf mit mehr als 1,3 Millionen Posts von mehr als 195.000 registrierten Mitgliedern in 40 Sprachen. Inoffizielle Seiten werden in vielen Sprachen veröffentlicht, meist mit Joomla-Erweiterungen, die regions-spezifisch sind. Bi-direktionale Text-Unterstützung für Hebräisch und Arabisch zum Beispiel finden sich häufig in Community Portalen von Drittanbietern. Inoffizielle Web-Entwickler programmieren ebenfalls Erweiterungen und Templates für den kommerziellen Vertrieb und bieten individuelle Anpassungsdienste auf Freelance-Basis an. Gewöhnlicherweise wird ein Template in einer Zip-Datei veröffentlicht, die mit Hilfe des integrierten Joomla-Installationsprogrammes installiert werden kann.

Medien

Literatur

Template:Wikibooks


Geeklog 1.4.x


Weblinks

Einzelnachweise

<references />


Kategorie:Web-Content-Management-System Kategorie:Freies Content-Management-System Kategorie:Skriptsprache PHP

af:Joomla ar:جملة! bg:Joomla! bs:Joomla! ca:Joomla! cs:Joomla! da:Joomla! en:Joomla! eo:Joomla! es:Joomla! eu:Joomla! fa:جوملا! fi:Joomla fr:Joomla! gl:Joomla! he:ג'ומלה hr:Joomla! hu:Joomla! id:Joomla! it:Joomla! ja:Joomla! ko:줌라 ku:Joomla! lv:Joomla! mk:Јоомла! ms:Joomla! nl:Joomla! no:Joomla! pl:Joomla! pt:Joomla ro:Joomla! ru:Joomla sk:Joomla sr:Joomla! sv:Joomla th:จูมลา! tr:Joomla! uk:Joomla uz:Joomla! vi:Joomla! zh:Joomla!