PHP

1.2 Ein kurzer Blick in die Geschichte

Während die Firma Sun in den neunziger Jahren behauptete: „Der Computer ist das Netz“, wollte die Firma Microsoft erst ruhen, wenn auf jedem Schreibtisch ein Computer mit Windows steht. Dieser Teil der Geschichte hat sich erfüllt. Microsoft könnte „ruhen“ und sucht auch tatsächlich aktiv nach neuen Märkten und Produkten.

Der Rechner, um den es Microsoft ging, war immer eine Mixtur aus Datendateien und Binärdateien. Die Dateien mit den binären Inhalten nennt man Programme. Sie wurden von den Kunden gekauft und installiert, um damit die Daten bearbeiten zu können. Microsoft Office erlebte einen Siegeszug durch die meisten Büros dieser Welt.

Der Rechner, um den es der Firma Sun ging, war eher ein Dumb Tube. Ein billiges, dummes Endgerät mit einem Bildschirm, einer Tastatur, einer Maus und einem Zugang ins Internet. Die Programme und die Daten sollten sich nicht auf diesem Rechner befinden, sondern irgendwo im Netz.

Die Philosophie von Microsoft tendierte also mehr in die Richtung meines, die Philosophie von Sun mehr in die Richtung unser.

Die Triebfedern dieser Philosophien waren in beiden Fällen wirtschaftliches Interesse. Microsoft verkaufte in erster Linie im Konsumentenbereich Software für PC, Sun dagegen im Unternehmensumfeld Server-Hardware und die passenden Programme dazu.

Mitte der neunziger Jahre erfolgte die explosionsartige Verbreitung des eigentlich schon in den sechziger Jahren erfundenen Internets unter anderem durch HTML (Hyper Text Markup Language, die Sprache, in der Webseiten geschrieben werden) und die Entwicklung von Webservern und Webclients (Browsern).

Das Internet selbst ist nur ein Satz von Spielregeln, der von verschiedenen Geräten verstanden und so geschickt kombiniert werden kann, dass dieses Netz in kürzester Zeit den gesamten Planeten überzog.

Ohne eine E-Mail-Adresse war der einzelne Mensch nicht erreichbar, und ohne eine Website war eine Firma nicht nur altmodisch, sondern in den Augen vieler Kunden nicht mehr existent. Die ganze Welt drängelte also in kurzer Zeit in dieses Netz, um ein Teil davon zu werden. Filme wie Matrix1 wurden Kassenschlager, und 19842 von George Orwell wurde erfolgreich verdrängt.

Die, die es gewohnt waren, Programme zu kaufen, kauften HTML-Editoren und erstellten damit Internetseiten. Die anderen schrieben den HTML-Code meist lieber gleich selbst in einem ohnehin vorhandenen Texteditor. Die Webagentur war geboren, bei der man Websites in Auftrag geben konnte.

Beide Gruppen hatten allerdings das Problem, dass HTML-Seiten statisch sind. Um den Inhalt der Seite zu ändern, muss man sie am heimischen PC bearbeiten und danach wieder auf den Server kopieren.

Das war nicht nur unbequem und teuer, damit waren auch Webauftritte wie eBay oder Amazon unmöglich.

Beide Gruppen fanden mehr oder weniger gute Lösungen für das Problem.

In der meines-Fraktion entstanden schnell binäre Programme, mit denen man HTML-Seiten erzeugen konnte und diese dann per automatisiertem Verfahren auf den Server lud. In die Seiten wurden interaktive Elemente wie Besucherzähler u.Ä. eingebaut.

Die unser-Fraktion entdeckte Java Applets und damit die Möglichkeit, ein Programm zu schreiben, das zentral auf einem Server liegt und über einen Browser bedienbar ist. Auf dieser Lösung beruhten ganze Geschäftsideen wie Online-Broking und Flugbuchungskonzepte.

Beide Gruppen versuchten auf verschiedene Arten, ihre Marktanteile auszubauen. Das Ergebnis war ein recht stabiler Markt für beide, in dem »Religionskämpfe« über das richtige Betriebssystem (Windows, Linux, Mac OS X) ständig die Versionsnummern der Programme hochtrieben und sich die Kunden daran gewöhnten, dass das alles nicht so einfach ist.

In solchen Situationen gibt es immer einen dritten Weg. In unserem Fall ist das unter anderem die Entstehung von Open Source-Scriptsprachen wie PHP3. Rasmus Lerdorf hatte das Ziel, seine Homepage mit interaktiven Elementen zu versehen, und heraus kam eine neue Programmiersprache. PHP wurde von Anfang an optimiert auf die perfekte Zusammenarbeit mit der Datenbank MySQL, die ebenfalls unter der GNU/GPL4 stand.

Glücklicherweise gab es das Betriebssystem Linux und einen Webserver namens Apache, die die benötigte Infrastruktur auf dem Server boten. Das Anzeigemedium beim Kunden war der Browser, der mit Sicherheit vorhanden war. LAMP (Linux, Apache, MySQL, PHP) wurde bald das Synonym für datenbankgestützte, interaktive Auftritte im Internet.

Wie in einem kreativen Rausch entstanden verschiedenste Systeme, die es ermöglichten, Inhalte nur mithilfe eines Browsers zu organisieren, wie Forenseiten, Communities, Online-Shops, Voting-Seiten und ähnliche Dinge.

Nach den »harten« Sachen wie Linux und Apache entstanden nun die »weichen« Produkte.

Die neunziger Jahre neigten sich dem Ende zu, die Internetaktienblase platzte, und plötzlich kam es darauf an, ganz klassische Geschäftsmodelle mit ganz klassischen Methoden zu etablieren.

Immer wenn es der Wirtschaft nicht gut geht, schaut sie auf die Kosten und überlegt, ob es Möglichkeiten gibt, diese zu senken. Es gab und gibt zahlreiche Möglichkeiten!

Die PHP-Anwendungen, die es damals gab, hatten Verbreitungszahlen, die in die Millionen gingen. Als Beispiele seien hier nur die Projekte phpBB5 und phpMyAdmin6 genannt. Das eine hat sich zum Quasistandard für Foren-Software entwickelt, das andere als Standard für das Bearbeiten von MySQL-Datenbanken per Webinterface.

Der Quellcode der Sprache PHP selbst und der Quellcode der Anwendungen wurde durch die enorme Zahl von Nutzern und Entwicklern immer schneller immer besser. Je offener ein Projekt gestaltet wurde, desto erfolgreicher wurde es.

Einzelne Gurus konnten Unternehmen in kürzester Zeit immense Kosten sparen.

Statische HTML-Seiten galten als alt, teuer und überholt. Dynamisch musste es sein! In diesem Umfeld bewegen wir uns jetzt seit einem Jahrzehnt. Linux, Apache, MySQL und PHP sind in der Industrie akzeptiert. Die Suche nach professionell verwertbaren PHP-Anwendungen begann.

Bei dieser Suche schaut man auf:

  • Eine einfache Installation
  • Eine gute Wartbarkeit des Quellcodes
  • Die Sicherheit des Quellcodes
  • Die Benutzerfreundlichkeit
  • Die einfache Erweiterbarkeit
  • Die einfache Entwicklung
  • Die einfache Einarbeitung für neue Entwickler
  • Standardisierte Schnittstellen zu anderen Programmen
  • Die Kosten
  • Die Unabhängigkeit vom Lieferanten

Der besondere Vorteil von PHP-Anwendungen ist die Unabhängigkeit von Hardware und Betriebssystem. LAMP existiert auch als WAMP für Windows, MAMP für den Apple und auf zahlreichen anderen Plattformen.

Und jetzt kommt endlich Joomla! ins Spiel.

Joomla! – wie kam es dazu?

Die australische Firma Miro7 entwickelte im Jahre 2001 ein Content Management System namens Mambo. Sie stellte dieses System als Open Source-Software zur Verfügung, um es auszutesten und für eine weite Verbreitung zu sorgen. Im Jahre 2002 spaltete die Firma ihr Produkt Mambo in eine kommerzielle und eine Open Source-Version. Die kommerzielle Variante nannte man Mambo CMS, die Open Source-Version Mambo Open Source oder kurz MOS. Ende 2004 haben sich alle Beteiligten darauf geeinigt, dass MOS ganz offiziell Mambo genannt werden darf und dass man gemeinsam eine erfolgreiche Zukunft für das sich damals am schnellsten entwickelnde CMS gestaltet.

Die Vorteile der kommerziellen Variante lagen für Firmen in erster Linie in der erhöhten Sicherheit und in der Tatsache, dass sie die Firma Miro als Ansprechpartner hatten, die auch die weitere Entwicklung unterstützen würde.

Die Vorteile der Open Source-Version sind, dass sie »frei« ist und dass eine riesige Gemeinde von Benutzern und Entwicklern für eine zügige Weiterentwicklung sorgt. Außerdem ist es für Unternehmen natürlich möglich, Mambo als Basis zu nehmen und darauf aufbauend eigene Lösungen zu entwickeln.

Im Jahre 2005 gab es auf allen Seiten Überlegungen, eine Stiftung für die Open Source-Variante von Mambo einzurichten, um die Existenz und Weiterentwicklung zu sichern.

Im Herbst 2005 wurde auf der Mambo-Projektseite die Gründung einer Mambo-Foundation als Meldung veröffentlicht. Nach positiven Reaktionen in den ersten Stunden stellte sich heraus, dass die Stiftung von Miro in Australien gegründet und das Entwicklerteam nicht in die Gründungsmodalitäten einbezogen wurde. Daraufhin entbrannten heiße Diskussionen in den Foren der Community, und ein paar Tage lang gab es keine Äußerung vom Entwicklerteam.

Nach kurzer Zeit veröffentlichte das Entwicklerteam eine Stellungnahme unter der URL opensourcematters.org und kündigte an, dass es sich vom neutralen Software Freedom Law Center8 beraten lassen und eine Weiterentwicklung von Mambo unter eigener Verantwortung planen würde. Schon damals geisterte die Idee einer verbesserten Mambo- Version mit neuer Quellcode-Basis durch die Foren.

Wie in einer zerrütteten Ehe entwickelte sich schnell ein Rosenkrieg zwischen der von Miro dominierten Mambo-Foundation, der plötzlich das Entwicklungsteam abhanden gekommen war, dem Entwicklungsteam selbst, das natürlich einen neuen Namen für den Fork benötigte, und einer erhitzten internationalen Community von hunderttausenden Benutzern, die sich teilweise mit harten Worten in Blogs, Foren und den jeweiligen Projektseiten beharkten.

Beide Projekte wurden weitergeführt. Der Fork wurde Joomla! genannt.

Das Joomla!-Team legte einen sehr großen Wert auf die Einhaltung von demokratischen Regeln. Das neue Projekt benötigte ein Logo, und so wurde ein Wettbewerb in der „neuen“ Community ausgerufen. Im neuen Forum hatten sich bis dahin in ein paar Tagen 8.000 Benutzer registriert. Die Vorschläge und die Ergebnisse sind natürlich online zu sehen9.

Die Mambo-Foundation stellte schnell ein neues Entwicklerteam vor.

Am 17.9.2005 wurde die Version 1.0 von Joomla! veröffentlicht.

Aus der Welt der so genannten Third Party-Entwickler, also Programmiergruppen, die Mambo-Komponenten entwickelten, wechselten die Projekte Simpleboard (heute FireBoard), Docman und viele andere schnell zu Joomla! und haben dadurch das Vertrauen in das neue Projekt bekräftigt. Aus der Vorsilbe „mos“, die in vielen Variablen und Begriffen benutzt wurde, wurde schnell „jos“.

Eine ausführliche Zusammenfassung der Ereignisse in englischer Sprache finden Sie im Internet10.

Joomla! gehört zwei Jahre nach seiner Gründung zu den populärsten Open Source-Projekten der Welt.

Allerdings sind in diesen zwei Jahren durch die Neuorganisation viel Zeit mit organisatorischen Grabenkriegen und interkulturellen Mißverständnissen vertan worden.

Das Web 2.0 feierte seine Siegeszüge. Von Benutzern erzeugter Inhalt wurde immer wichtiger. Second Life mit seiner virtuellen Umgebung wurde weltweit bekannt. Die Programmiersprache Ruby und insbesondere Ruby on Rails wurden mehr und mehr zur Entwicklung von Webseiten genutzt. Programmierschnittstellen spielten eine immer größere Rolle.

In diesem Bereich sah und sieht Joomla 1.0.x einfach schon ein bischen alt und grau aus. Es ist zwar nicht am Ende seiner Weiterentwicklungsmöglichkeiten, aber die Benutzer schielten manchmal schon ein wenig traurig auf die Fähigkeiten von Systemen wie Plone, Typo3, Drupal und vielen anderen, die nicht das Problem der schieren Größe und der Umorganisation hatten und die neuen Techniken stetig in ihre Projekte aufnahmen.

Seit zwei Jahren wird Joomla! in der Version 1.0.x nicht wirklich weiterentwickelt, sondern es wurden in erster Linie Sicherheitsupdates mit kleineren Code-Änderungen herausgegeben. Zwei Jahre Wartezeit auf eine neue Version sind kein Aushängeschild für das Projekt. Joomla! wurde in dieser Zeit oft totgesagt, belächelt, und in der Fachpresse erschienen teilweise hämische Artikel über das Thema: „Wie ruiniere ich ein tolles Softwareprojekt?“.

Mit der neuen Version Joomla! 1.5 ist dem Projektteam allerdings in sehr guter Wurf gelungen. Nachdem nun wirklich alles in Forum, Mailing Listen, E-Mail und persönlichen Treffen ausdiskutiert wurde, sieht heute die Zukunft von Joomla! besser aus als je zuvor.

Der Umstieg von der Version 1.0.x auf 1.5.x wird auf der einen Seite noch viel Kraft kosten, da durch den geänderten Quellcode keine vollständige Abwärtskompatibilität besteht. Es wird aber auf der anderen Seite Joomla! endgültig in die Liga der Business-tauglichen Content Management Systeme katapultieren. Die Strategie, aus Joomla! einen Baukasten zu erstellen (Joomla! Framework), mit dem Entwickler an den neuen Entwicklungen teilnehmen können, ist geschickt gewählt und wird sich auszahlen.

Endlich ist es auch möglich, verschiedene Authentifizierungsmethoden zu wählen, barrierefreie Websites in unterschiedlichen Sprachen zu erstellen und an der allgegenwärtigen Mashup-Welle11, die jetzt auch deutlich in die Unternehmen schwappt, teilzunehmen. Auch der Weg zur Komponentenentwicklung in einer Umgebung wie Eclipse ist nun möglich.

Bei der vorhandenen Community-, Entwickler- und Installationsdichte wird Joomla! viele Bereiche dieses Marktes einfach abdecken. Viele Hosting-Provider bieten Joomla! heute schon vorinstalliert ihren Kunden an, und die neue Version 1.5 ist zur Version 1.0.x zumindest so kompatibel, dass es keine ernsthaften Probleme bei einem Umstieg von einfachen Websites geben wird.

 

15 Eigene Komponenten, Module, Plugins

Sie wollen mit Joomla! ein Problem lösen, für das es noch keine fertige Komponente gibt? Sie sind beispielsweise Autohändler und benötigen eine über die Joomla!-Administration pflegbare Auflistung Ihrer Gebrauchtwagen auf Ihrer Website? Oder eine Liste Ihrer Niederlassungen? Erweitern Sie einfach den Funktionsumfang um neue Komponenten, Module und Plugins. Was auf den ersten Blick sehr kompliziert aussieht, ist auch mit PHP-Anfängerwissen durchaus machbar.

Nach den Erfahrungen im Template-Bau in Kapitel 13 können Sie sich bestimmt schon vorstellen, was auf Sie zukommt. Diesmal liegt der Schwerpunkt allerdings nicht auf der Gestaltung, sondern auf der Programmierung.

Exkurs

Seit 01.01.2008 wird PHP 4 offiziell nicht mehr weiterentwickelt. Daher sollten Sie alle neuen Erweiterungen nach den Empfehlungen für die Version PHP 5 umsetzen. Joomla selbst ist in der Version 1.5 zu beiden Standards kompatibel. Wenn Sie mehr erfahren möchten: http://gophp5.org/.

15.0.1 Model – View – Controller

Mit Joomla! 1.5 wurde ein Konzept (Muster) für die Erstellung von Erweiterungen eingeführt: das Model-View-Controller-Muster, abgekürzt mit MVC. In der modernen Software-Entwicklung wird dieser Ansatz benutzt, um eine gewisse Ordnung in die Dinge zu bekommen.

Fast immer, wenn es um Aufgaben einer Software geht, benötigt man drei Bereiche:

  • Ein Datenmodell (engl. Model)
  • Eine Präsentation (engl. View)
  • Eine Programmsteuerung (engl. Controller)

Also liegt es nahe, diese drei Bereiche zu standardisieren. Da Programmierer auf solche Vorgaben eher allergisch reagieren, muss es echte Vorteile geben. Schauen wir uns die einzelnen Begriffe näher an.

Modell (Model)

Das Modell enthält die darzustellenden Daten. Die Herkunft der Daten ist unerheblich. Das Modell weiß nichts über die Ausgabe der Daten und hat auch keine Ahnung davon, wie diese Daten verändert werden.

Präsentation (View)

Die Präsentation stellt die Daten des Modells dar. Es muss eine Verbindung zwischen Modell und Präsentation geben, damit etwas dargestellt werden kann.

Steuerung (Controller)

Ja, was wird die Steuerung machen? Sie steuert das Ganze, reagiert auf Benutzereingaben oder andere Ereignisse, verwaltet die Modelle und die Präsentationen und gibt ihre Informationen an Präsentationen weiter.

15.0.2 Wo ist der Vorteil von MVC?

Wie bereits oben angedeutet, kommt gerade im Falle von Joomla! eine gewisse Ordnung in die Dinge. War es mit Joomla! 1.0 üblich, so zu programmieren, wie man Lust hatte, ist das mit Joomla! 1.5 nicht mehr erwünscht. Das hat nichts mit Bevormundung zu tun, sondern mit den Anforderungen der Benutzer, also mit Ihnen!

Sie wollen:

  • Barrierefreie Websites (overrides)
  • Suchmaschinenfreundliche URLs
  • Verteilte Authentifizierung
  • Internationalisierung
  • Sicherheit und Wartbarkeit
  • Wiederverwendbarkeit
  • mehr, mehr, mehr ...

Genau dieses mehr, mehr, mehr ist der Grund dafür, Ordnung im System zu schaffen. Solange Sie eine Firma mit einem Mitarbeiter haben, können Sie die Verwaltung noch im Kopf, mit einem Zettel und einem Stift erledigen. Haben Sie 10 Mitarbeiter, wird das schon schwierig. Wenn Ihre Firma jetzt vielleicht auch noch »brummt« und anfängt zu wachsen, brauchen Sie irgendein System zur Verwaltung!

MVC ist so ein System, in unserem Falle aber für Software. Es soll ein Programmdesign ermöglichen, das spätere Änderungen erleichtert und eine Wiederverwendbarkeit von Code ermöglicht. Es ist nicht unumstritten, aber auch nicht schlecht. Wenn sich alle dran halten, ist es gut!

Quell religiöser Diskussion sind natürlich Fragen wie:

  • Wohin soll meine Geschäftslogik? In den Controller oder in das Model?
  • Wie ist das mit wiederverwendbaren Dialogen? In den View?
  • Wie regeln wir mehrere Views (Tabelle, Einzelansicht, Frontend, Backend)?

Da eine vergleichbare Struktur in Joomla! 1.0 nicht existierte, ist dieses »Mantra« und vor allem seine Durchsetzung in meinen Augen die größte Leistung, die Joomla! 1.5 bzw. das Projektteam dahinter vollbracht haben. Die Zukunft wird zeigen, ob die Benutzer und Entwickler das auch so sehen. :-)

Wo ist er also, der Vorteil für alle?

Ganz einfach, Sie kennen das von sich selbst. Wenn die Küche, der Keller, das Auto, der Dachboden erst einmal aufgeräumt sind, ist es relativ einfach, diesen Zustand beizubehalten. Im Falle von Software ist das die Grundvoraussetzung, überhaupt wachsen zu können und pflegbar zu sein. Und Joomla! steht immer noch am Anfang seiner Möglichkeiten. Das heißt, wenn sich heute jemand (das Joomla!-Projektteam) die Arbeit gemacht hat und Joomla! 1.0 aufgeräumt hat, wird es für Sie in Zukunft deutlich einfacher, Joomla! an Ihre Wünsche anzupassen.

1Download siehe Anhang (hier in der Online Version direkt an der Kapitelseite).

 

2.5 Lokale Serverumgebung einrichten

Video zu diesem Buchkapitel:

2.5 Lokale Serverumgebung einrichten

 

Um Joomla! lokal auf Ihrem PC installieren zu können, müssen Sie eine Serverumgebung, wie oben beschrieben, bereitstellen.

Windows

Windows ist sehr benutzerfreundlich und weit verbreitet. Über 90% aller PC arbeiten mit Windows als Betriebssystem. Windows XP und Windows Vista sind die vorherrschenden Varianten. Leider sind weder der Webserver Apache5 noch die Datenbank MySQL6, geschweige denn PHP7 im Lieferumfang enthalten.

Sie können jedes dieser Programme einzeln installieren, Sie können allerdings auch auf ein vorkonfiguriertes Paket zurückgreifen. Das schont die Nerven und ist sehr praktisch.

In Windows XP und Windows Vista sollten Sie sich auf Ihrem System im Administratormodus anmelden. Falls Sie nicht wissen, ob Sie Administratorrechte haben, sehen Sie in Start - Systemsteuerung - Benutzerkonten nach und ändern Sie die Rechte gegebenenfalls (Abbildung 2.1.1). In Windows Vista finden Sie die Einstellung unter Start - Systemsteuerung - Benutzerkonten und Jugendschutz.

Benutzerkonto in Windows XP
Abbildung 2.1.1: Benutzerkonten in WinXP

XAMPP für Windows

XAMPP ist ein Projekt von Kai Seidler und Kay Vogelgesang. Die beiden »backen« seit mehreren Jahren eine komplette Serverumgebung mit den Zutaten Apache, MySQL, PHP, Perl und diversen sinnvollen Erweiterungen und stellen sie auf ihrer Website7 als ZIP-Archiv für gängige Betriebssysteme zur Verfügung. Das ist von immensem Vorteil für Menschen wie Sie und mich, da wir ja in erster Linie an Joomla! interessiert sind und nicht so sehr daran, wie das Drumherum funktioniert. Außerdem kann man die ganze Installation mit einem Mausklick wieder rückstandsfrei vom Windows-PC entfernen. Zur Deinstallation löschen Sie genau einen Ordner.

Aber bevor Sie es löschen, müssen Sie es zunächst installieren:

Laden Sie sich die Datei xampplite-win32-1.6.4.exe von der Buch-CD oder der Website8.

02_0060
Abbildung 2.1.2: Extrahieren auf D:

Durch einen Doppelklick auf die Datei packt sich das Archiv aus (Abbildung 2.1.2). Sie können direkt auf ein Laufwerk Ihrer Wahl auspacken. Es entsteht ein Verzeichnis xampplite (Abbildung 2.1.3).

Windows Explorer in Windows Vista Home Premium
Abbildung 2.1.3: Windows Explorer in Windows Vista Home Premium

Doppelklicken Sie auf die Datei xampp-control.exe im xampplite-Verzeichnis und starten Sie Apache und MySQL. PHP wird dabei als Apache-Modul mitgestartet (Abbildung 2.1.4). XAMPP nimmt keine Einträge in die Windows-Registry vor und setzt auch keine Systemvariablen.

xampp-control.exe ausführen
Abbildung 2.1.4: xampp-control.exe ausführen

Es kann sein, dass die Windows Firewall anspringt und entrüstet feststellt, dass Sie zwei Server gestartet haben, und fragt, ob Sie das wirklich wollen. Klicken Sie auf Nicht mehr blocken (Abbildung 2.1.5). Danach müssen Sie unter Windows Vista noch einmal explizit auf Fortfahren klicken.

Warnhinweise der Firewall unter Windows Vista
Abbildung 2.1.5: Warnhinweise der Firewall unter Windows Vista

Öffnen Sie Ihren Internetbrowser und geben Sie http://127.0.0.1/ oder http://localhost/ ein. Danach sollten Sie die XAMPP-Startseite sehen. Klicken Sie auf den Link deutsch, und es zeigt sich folgende Seite (Abbildung 2.1.6):

Startseite XAMPP
Abbildung 2.1.6: Startseite XAMPP für Windows

Das Dokumentenverzeichnis für Ihre Website ist

[Laufwerk]:\xampplite\htdocs

In diesem Verzeichnis liegen alle von einem anderen Rechner im Internet zugänglichen Dateien. Lesen Sie die beigelegte readme_de.txt-Datei von XAMPP lite zu Ihrer Sicherheit aufmerksam durch. Dort finden Sie auch weitere Informationen zu den evtl. benötigten benötigten Passwörtern.

Wenn Sie das Paket deinstallieren wollen, stoppen Sie alle laufenden Server und löschen Sie einfach das xampplite-Verzeichnis.

Exkurs

Falls der Webserver Apache beim Start von XAMPP lite nicht startet, kann es sein, dass bereits ein anderer Dienst den Port 80 auf Ihrem Rechner belegt. Ein verbreitetes Programm ist beispielsweise Skype. Es belegt in älteren Versionen standardmäßig Port 80 und verhindert damit einen Start eines anderen Dienstes. Sie können in den Optionen von Skype die Portnummer ändern oder zuerst XAMPP lite und dann Skype starten.

Linux

Bei Linux liegen die Dinge meist einfacher. Es gibt verschiedene Distributionen mit verschiedenen Standardkonfigurationen. Meist ist unser Dreamteam vorinstalliert und muss nur gestartet werden. Es besteht auch die Möglichkeit, eine XAMPP-Version für Linux zu installieren. Meines Erachtens ist es hier allerdings sinnvoller, auf die Originalprogramme zurückzugreifen. Die Installation erfolgt mittels Paketmanager und ist sehr einfach.

OpenSUSE > 10.x

Mithilfe des Konfigurationsprogramms YaST2 können Sie überprüfen, ob Apache, MySQL und PHP bereits installiert sind. Sollte das nicht der Fall sein, wählen Sie die entsprechenden Pakete zur Installation aus und lassen Sie sie durch YaST2 installieren.

Im Einzelnen handelt es sich um die Pakete:

  • apache2, apache2-devel, apache2-mod_php5

  • mysql, php5-mysql

Sie finden diese Pakete über die Oberfläche von YaST (Abbildung 2.1.7) auf den Datenträgern Ihrer SUSE-Distribution oder auf speziellen Paketseiten im Internet9.

YaST, von einem Windows-PC aus in einer Shell aufgerufen
Abbildung 2.1.7: YaST, von einem Windows-PC aus in einer Shell aufgerufen

Starten Sie den Webserver Apache durch den Befehl:

/etc/init.d/apache2 start

Starten Sie den Datenbankserver MySQL dann über:

/etc/init.d/mysql start

Stoppen können Sie beide mit dem Parameter stop. Eine Übersicht über alle Parameter erhalten Sie mit help.

Debian/Ubuntu

Bei Debian und auch Ubuntu heißt das Mittel der Wahl apt. Mithilfe des Programms apt können Sie Apache, MySQL und PHP installieren.

apt-get install [paketname]

Im Einzelnen handelt es sich um die Pakete:

  • apache-common – Support files for all Apache webservers

  • php5 – A server-side, HTML-embedded scripting language

  • mysql-common – mysql database common files (/etc/mysql/my.cnf)

  • mysql-server – mysql database server binaries

Sie finden diese Pakete automatisch über apt im Internet oder auf der Debian-CD/DVD.

Starten Sie Apache dann durch den Befehl /etc/init.d/apache2 start und MySQL über /etc/init.d/mysql start.

Eigener Server bei einem Provider (Root Server)

Wenn Sie einen kompletten Server bei einem Provider gemietet haben, so haben Sie meist einen Shell-Zugang und die freie Wahl der Linux-Distribution, die Sie benutzen wollen. Außerdem ist das System vorkonfiguriert und enthält bereits alle notwendigen Dateipakete und Konfigurationen. Für die Konfiguration dieser Server werden meist spezielle Administrationsoberflächen wie Confixx10 oder Plesk11 benutzt. Mit diesen Tools können Sie Ihren Server und die Dienste Apache und MySQL bequem über eine Browseroberfläche starten, stoppen und konfigurieren.

 

2.2 Technische Voraussetzungen für Joomla!

Joomla! benötigt:

  • einen installierten und funktionierenden Webserver, z.B. Apache ab Version 1.13.19 oder Microsoft IIS.

  • die Skriptsprache PHP ab Version PHP 4.3. Die Unterstützung für MySQL und Zlib muss in PHP einkompiliert sein. Zlib ist eine Bibliothek, die es PHP ermöglicht, Dateipakete zu lesen, die mit dem ZIP-Verfahren komprimiert wurden.

  • das Datenbanksystem MySQL ab Version 3.23.x, bei Unicode-Zeichensätzen MySQL ab 4.1.x.

 

2.1 Client-Server-System

Client-Server-System

Unter einem Client-Server-System versteht man eine Netzwerkstruktur, bei der Dienste von einem zentralen Server angeboten werden, auf die beliebig viele Arbeitsstationen (Clients) zugreifen können. Der Server ist für die Bereitstellung des Dienstes zuständig. Der Client kann mit dem Server kommunzieren und bietet die eigentliche Benutzeroberfläche. Der Client ist ein Internetbrowser. Die Server heißen in unserem Fall Apache und MySQL.

Ablauf eines Zugriffs auf eine Joomla!-Website im Internet

Um eine grobe Vorstellung von den Vorgängen hinter den Kulissen zu bekommen, hier eine vereinfachte Auflistung der Abläufe, um von einem Computer auf eine Joomla!-Website zugreifen zu können:

  • Internetverbindung über einen Provider herstellen.

  • Die gewünschte Website-Adresse (URL) im Browser aufrufen.

  • Der Browser nimmt Kontakt mit dem Webserver auf.

  • Der Webserver schickt eine Anfrage an den auf den Server installierten PHP-Sprach-Interpreter. Der ruft die Joomla!-PHP-Dateien auf und interpretiert sie.

  • Der PHP-Interpreter fordert die benötigten Daten bei der Datenbank an.

  • Der PHP-Interpreter erzeugt je nach Template HTML- oder XHTML-Code und gibt ihn an den Webserver weiter.

  • Der Webserver liefert die »Seite« bzw. den generierten Code an den Browser des Clients.

  • Der Browser »entdeckt« in der ihm angelieferten Seite Verweise auf CSS- und andere Dateien (Bilder, Flash-Elemente ...) und fordert diese separat beim Webserver an.

  • Während des Ladens aller benötigten Ressourcen versucht der Browser, die Seite zu »parsen« und zu »rendern«, also auseinanderzunehmen und möglichst gut darzustellen.

Sie sehen schon an diesen Abläufen, dass die Darstellung einer Joomla!-Website aus vielen Schritten besteht, die teilweise nichts mit Joomla! zu tun haben.

2.6 Vorarbeiten zur Joomla!-Installation auf einem virtuellen Server

Dieses Thema ist sehr komplex, da es mittlerweile eine unüberschaubare Anzahl von Anbietern und eine noch unüberschaubarere Kombination von installierten Apache-, PHP- und MySQL-Versionen und Webspace-Verwaltungstools gibt.

Knackpunkte bei der Installation sind

  • ein eventuell eingeschalteter Safe Mode bei PHP,

  • bei Apache die untersagte Umformung von URLs wegen der Nichtaktivierung der so genannten Apache Rewrite Engine (mod_rewrite) und

  • die Verzeichnisrechte unter Linux, die anders gesetzt werden als unter Windows.

Grundsätzlich ist der einfachste Weg, der eigentlich immer funktioniert, folgender:

  • Laden Sie sich die Datei Joomla-1.5RC3.zip auf Ihren heimischen PC und entpacken Sie alles in einem temporären Verzeichnis.

  • Laden Sie die gerade ausgepackten Dateien per FTP-Programm auf Ihren angemieteten Server. Die Dateien müssen im öffentlich zugänglichen Verzeichnis installiert werden. Meistens heißen diese Verzeichnisse htdocs, public_html oder nur html. Sie können, falls schon andere Installationen in diesem Verzeichnis sind, innerhalb des Verzeichnisses ein Unterverzeichnis angeben, in das Sie Ihr Joomla! installieren. Viele Webhoster erlauben, dass Sie Ihren angemieteten Domainnamen auf ein Verzeichnis linken. Dieser Name ist wichtig, um Ihre Website über den Browser aufrufen zu können.

  • Sie müssen herausbekommen, wie Ihre Datenbank heißt. Meistens sind eine oder auch mehrere Datenbanken in Ihrem Webhosting-Paket enthalten. Manchmal stehen Benutzername, Datenbankname und Passwort fest, manchmal müssen Sie es erst einrichten. Dazu steht Ihnen meistens eine Browser-basierte Konfigurationsoberfläche zur Verfügung. Ein Beispiel einer solchen Oberfläche sehen Sie in Abbildung 2.1.8. Sie benötigen die Datenbank-Zugangsdaten für den Webinstaller von Joomla!.

Webkonfigurator von Plesk
Abbildung 2.1.8: Webkonfigurator von Plesk

Nachdem Sie die Daten auf Ihren Server geladen haben und im Besitz der Zugangsdaten zu Ihrer Datenbank sind, kann es losgehen.

Inhalt abgleichen