Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.
 
Inhaltsverzeichnis
Vorwort
Teil I Grundlagen
1 Einleitung
2 Testumgebung einrichten
3 Live-Umgebung einrichten
4 Website planen
Teil II Joomla! benutzen
5 Website-Frontend kennenlernen
6 Administrations-Backend bedienen
7 Content verwalten
8 Contentpflege konfigurieren
9 Menüs aufbauen
10 Layout und Design anpassen
11 Benutzerverwaltung einrichten
12 Mehrsprachigkeit aktivieren
13 System konfigurieren
Teil III Joomla! erweitern
14 Erweiterungen aktivieren
15 Offizielle Joomla!-Komponenten
16 Empfohlene Erweiterungen
17 Joomla! als Content-Management‐System
18 Joomla! als Community-Plattform
19 Joomla! als Online-Shop
Teil IV Joomla! warten
20 Wartung allgemein
21 Joomla! und Content deployen
22 Sicherheit ausbauen
23 Performance- und Suchmaschinenoptimierung
24 Notfallmaßnahmen
Teil V Joomla!-Erweiterungen entwickeln
25 Grundlagen zur Erweiterungsentwicklung
26 Templates entwickeln
27 Plugins entwickeln
28 Module entwickeln
29 Komponenten entwickeln
30 Erweiterungen veröffentlichen
Stichwortverzeichnis

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Joomla! 3 von von Richard Eisenmenger
Das umfassende Handbuch
Buch: Joomla! 3

Joomla! 3
Pfeil 2 Testumgebung einrichten
Pfeil 2.1 Umgebungen und Deployments
Pfeil 2.1.1 Entwicklungs-, Test- und Live-Umgebung
Pfeil 2.1.2 Deployments und Updates
Pfeil 2.2 XAMPP installieren
Pfeil 2.2.1 XAMPP unter Windows installieren
Pfeil 2.2.2 Control Panel und XAMPP-Dateistruktur unter Windows
Pfeil 2.2.3 XAMPP unter OS X installieren
Pfeil 2.2.4 XAMPP unter Linux, Ubuntu, Linux Mint installieren
Pfeil 2.2.5 Control Panel und XAMPP-Dateistruktur unter OS X oder Linux
Pfeil 2.2.6 Problembehandlung bei fehlerhaftem Apache-Start
Pfeil 2.3 Datenbank einrichten
Pfeil 2.4 Joomla!-Download und -Installation
Pfeil 2.4.1 Joomla! herunterladen und entpacken
Pfeil 2.4.2 Joomla!-Installation ohne Unterverzeichnis erreichen
Pfeil 2.4.3 Joomla! installieren
Pfeil 2.4.4 Problembehandlung bei unvollständiger Joomla!-Installation
Pfeil 2.5 Testumgebung konfigurieren für Fortgeschrittene
Pfeil 2.5.1 Testumgebung von außen erreichbar machen
Pfeil 2.5.2 Geschummelten E-Mail-Versand unter Windows einrichten
Pfeil 2.6 Installationsalternative: der Bitnami Joomla! Stack
Pfeil 2.7 Installationsalternative: virtuelle Entwicklungsumgebung
 
Zum Seitenanfang

2    Testumgebung einrichten Zur vorigen ÜberschriftZur nächsten Überschrift

Sie installieren ein vollständiges Joomla!-Entwicklungssystem auf Ihrem Arbeitsrechner. Dort lässt sich nach Belieben experimentieren und testen, bevor Sie die fertige Website auf dem Live-Server des Webhosters aufspielen.

Nach dem sehr theoretischen Einstieg im Einleitungskapitel setzen Sie sich in diesem Teil des Buchs endlich vor den Rechner und richten sich eine vollständige Entwicklungsumgebung ein. Denn obwohl Ihre Joomla!-Website am Ende natürlich live im Internet auf den Servern Ihres Webhosters läuft, lohnen ein paar Trockenübungen auf dem heimischen oder Büro-PC. Damit lernen Sie das System besser kennen und probieren alles erst mal aus, bevor die ideale Konfiguration live eingestellt wird.

Einige Abschnitte dieses Kapitels sind optional, also nicht notwendig, um das Basissystem aufzusetzen und Joomla! so schnell wie möglich mit Inhalten zu befüllen. Diese Abschnitte, insbesondere gegen Ende des Kapitels, können Sie überspringen, um vielleicht später zu ihnen zurückzukehren, um Ihre Joomla!-Installation auszubauen. Dazu zählen beispielsweise sichere Datenbankverbindungen, saubere Testinstallationen oder auch verzwickte Konfigurationen, um Ihr lokales Entwicklungssystem von überall auf der Welt, auch vom Strand auf Gran Canaria, zu erreichen. Grundsätzlich sind aber nur die folgenden Schritte notwendig, die Sie nach einigem theoretischen Hintergrundwissen auf den folgenden Seiten nacheinander in Abschnitt 2.2 bis Abschnitt 2.4 durchspielen:

  1. Serverumgebung installieren

  2. Datenbank einrichten

  3. Joomla! installieren

Am Ende dieses Kapitels sind Sie in der Lage, Entwicklungs- und Testumgebungen einzurichten, und verstehen, welche Technologien und Mechanismen hinter Webservern und Webapplikationen wie Content-Management-Systemen stecken.

Werfen Sie einen Blick auf die wichtigsten Begriffe, denen Sie in diesem Kapitel häufiger begegnen (siehe Tabelle 2.1):

Begriff Erklärung
Entwicklungsumgebung Joomla!-Umgebung, in der alles erlaubt ist: experimentieren, testen, entwickeln. Befindet sich meist auf dem persönlichen Arbeitsrechner.
Testumgebung, Staging- Umgebung Plattform, auf der alles, was in der Entwicklungsumgebung angetestet oder entwickelt wurde, gesammelt und auf Herz und Nieren geprüft wird. Dazu ist die Testumgebung technisch der Live-Umgebung so ähnlich wie möglich, damit es dort zu keinen unvorhergesehenen Überraschungen kommt.
Produktionsumgebung, Live-Umgebung angemieteter Webserver bei einem Webhoster, z. B. Root, Managed, Dedicated oder Shared Server; siehe auch Abschnitt 3.1, »Webhosting bestellen«
Deployment Vorgang der Bereitstellung von Inhalten oder Features auf der Live-Website
Release Sammlung von Inhalten und/oder Funktionalitätserweiterungen, auch Bugfixes, in einem Paket, das gesamtheitlich deployt wird
Apache der weltweit meistgenutzte Webserver, der die einzelnen Seiten einer Website ausliefert
MySQL das bekannteste Open-Source-Datenbank-System
PHP Webprogrammiersprache, in der Joomla! programmiert ist und die auf dem Apache Webserver ausgeführt wird
JavaScript Webprogrammiersprache, über die vornehmlich Frontend-Applikationen und Modifikationen am HTML-Dokument umgesetzt werden. In den letzten Jahren dient JavaScript aber auch der Entwicklung von komplexen Backend-Applikationen.
XAMPP Paket aller wichtigen Komponenten, die die Basis für die Joomla!-Website bilden: Webserver, Datenbank und PHP-Programmiersprache
IP Kurz für IP-Adresse, kurz für Internetprotokoll-Adresse; eine Zahlenkombination, die jedem ans Internet angeschlossenen Gerät (PC, Server, Tablet, Smartphone, Internationale Raumstation ISS) eine eindeutige Adresse zuweist. Diese Adresse ist für die Datenübertragung wichtig, wenn Sie z. B. im Web surfen und die Inhalte einer Webseite abrufen.
Protokoll Zwischen Computern im Internet festgelegte Übertragungsregeln. Das verwendete Protokoll steht am Anfang jeder URL, z. B. http für Standardwebsites, https für gesicherte Websites, ftp für Dateiübertragungen.
Port Kanalnummer, auf der Inhalte im Internet übertragen werden. Eine normale Website läuft z. B. auf Port 80.
Virtualisierung Ein Linux-System auf dem Windows-Rechner installieren? Die neueste Windows-Beta auf dem Mac ausprobieren? Virtuelle Maschinen erlauben es, auf Ihrem Rechner andere Computer, sogar ganze Server, zu simulieren.

Tabelle 2.1    Die wichtigsten Begriffe zur Umgebungseinrichtung und Joomla!- Installation

 
Zum Seitenanfang

2.1    Umgebungen und Deployments Zur vorigen ÜberschriftZur nächsten Überschrift

Sicher haben Sie sich schon bei einem Webhosting-Provider ein Paket gemietet, zusammen mit der Registrierung einer Domain Ihrer Wahl. Sie könnten jetzt sofort loslegen und dort Joomla! installieren – in vielen Webhosting-Umgebungen geht das sogar mit wenigen Mausklicks. Bei diesen Systemen sollten Sie sich allerdings vergewissern, was da alles eingerichtet wurde. In der Regel fahren Sie mit einer eigenen Installation sicherer, da Sie die Konfiguration genau kennen.

Doch ein Entwicklungsstart in Ihrem Webspace ist heikel, denn Sie arbeiten dann stets an der Live-Version Ihrer Website, quasi eine Operation am offenen Herzen. Verirrt sich jetzt ein Internetbesucher auf Ihre Website, findet er sie halb fertig, vielleicht sogar nicht funktionsfähig vor.

Um dieses Problem zu vermeiden, arbeitet man bei der Websiteentwicklung in verschiedenen Umgebungen, die zu bestimmten Terminen und Milestones miteinander synchronisiert werden. Ein solcher Milestone ist z. B. die Fertigstellung der Website und die Bereitstellung einer größeren Artikelsammlung zu einem bestimmten Thema. Das Freischalten in der Produktiv- oder Live-Umgebung bei Ihrem Webhoster bezeichnet man als Go-Live.

 
Zum Seitenanfang

2.1.1    Entwicklungs-, Test- und Live-Umgebung Zur vorigen ÜberschriftZur nächsten Überschrift

Eine Umgebung ist die Gesamtheit aller infrastrukturellen Aspekte, die zur Entwicklung oder Bereitstellung einer Softwareentwicklung, das betrifft auch Websites, eingerichtet sein müssen. Idealerweise gibt es drei Umgebungen (siehe Abbildung 2.1):

  • Entwicklung
    Hier verbringen Sie die meiste Zeit. Es geht sehr bunt zu: erste Joomla!-Experimente, Joomla!-Updates, Testen von Erweiterungen, Herumschrauben am Layout, Programmierung von Features, Einstellen von Inhalten. Alles, was Sie im Rahmen der Lektüre dieses Handbuchs mit Joomla! unternehmen, passiert zuerst in der Entwicklungsumgebung.

  • Test
    Oder auch Staging-Umgebung – hier wird die Website ins Reine gebracht. Während in der Entwicklungsumgebung zahlreiche Erweiterungen zum Ausprobieren installiert wurden, ist die Staging-Umgebung sauber und imitiert die Live-Umgebung möglichst genau. So ist sichergestellt, dass bei einem Go-Live alles wie geplant funktioniert. Der Begriff Staging lässt sich hier mit einer (Arbeits-)Bühne übersetzen, auf der sich alle Akteure (Joomla! und Erweiterungen) für die Generalprobe treffen.

  • Live
    Das ist die Hosting-Umgebung, in der Ihre Website schließlich im Internet abrufbar ist, auch Produktionsumgebung genannt.

Die strikte Trennung der Umgebungen ist insbesondere bei Projekten wichtig, an denen mehrere Entwickler werkeln. Jeder arbeitet in seiner persönlichen Entwicklungsumgebung, das gemeinsame Produkt wird dann in der Testumgebung gesammelt, geprüft und für den Go-Live vorbereitet. Das komplette Paket für den Go-Live nennt man Release; der Vorgang der Live-Schaltung ist ein Deployment (deutsch: Bereitstellung, Entsendung).

Bei einem idealen Workflow wird in verschiedenen Umgebungen entwickelt und getestet; so gibt es beim Go-Live keine bösen Überaschungen.

Abbildung 2.1    Bei einem idealen Workflow wird in verschiedenen Umgebungen entwickelt und getestet; so gibt es beim Go-Live keine bösen Überaschungen.

Info: Die vierte Umgebung – Integration

Bei sehr komplexen Websites, an denen große Entwicklerteams arbeiten, wird die Testumgebung noch mal unterteilt: Die Integrationsumgebung sorgt für das Zusammenführen aller Arbeiten. Sämtliche Komponenten werden dabei in eine Umgebung integriert, häufig geschieht das mit automatischen Mechanismen und Scripts. Die Testumgebung spiegelt die Live-Umgebung dann noch genauer.

Solch eine persönliche, lokale Entwicklungsumgebung richten Sie in diesem Kapitel ein. Zur Vereinfachung wird sie mit der Testumgebung kombiniert.

Warum lokal?

Weil Sie das gesamte Joomla!-Paket mit allen Erweiterungen, eigenen Templates und vorbereitetem Content auf dem Arbeitsplatzrechner installieren können. Hier lässt sich nach Herzenslust mit dem Content-Management-System (CMS) experimentieren; Sie probieren Erweiterungen aus und testen Layoutänderungen, ohne dass das jemand, wie z. B. auf einem Live-Server, mitbekommt. Entscheidender Vorteil: Dadurch, dass alle Komponenten und alle Bilder auf Ihrem Rechner liegen, müssen keine Daten durch den engen und deshalb langsamen Internet-Flaschenhals gepresst werden – lokale Entwicklung macht Spaß, weil alles schnell geht.

Aber auch für die zukünftige Wartung der Website ist eine lokale Testumgebung hilfreich. Erscheint eine neue Version von Joomla! oder von Ihnen eingesetzten Erweiterungen, ist es ratsam, das Einspielen der Updates erst mal auszuprobieren. Ein CMS ist ein komplexes System, bei dem nur eine falsche Programmdatei genügt, um die Website funktionsunfähig zu machen. Und egal, wie viele Tests vor einem Update-Release auch durchgeführt werden, bei einem Projekt dieser Größenordnung kann auch mal etwas schiefgehen. Da wäre es ungünstig, dass Ihre Website zwei Wochen nicht erreichbar ist, bevor ein Reparatur-Patch erscheint. Darum testen Sie alles zunächst in der Entwicklungs- bzw. Testumgebung, bevor das gesamte Update mit einem Mal auf dem Live-Server eingespielt wird.

 
Zum Seitenanfang

2.1.2    Deployments und Updates Zur vorigen ÜberschriftZur nächsten Überschrift

In diesem vereinfachten Entwicklungsszenario bewegen Sie sich also in der Entwicklungs- oder Test- oder in der Live-Umgebung. Joomla! bietet von Grund auf keine Mechanismen, Umgebungen miteinander zu synchronisieren. Deshalb konstruieren Sie sich selbst den notwendigen Workflow. Dabei wird unterschieden, welche Daten überhaupt auf der Live-Umgebung eingespielt werden:

Content

Für Joomla! in der Grundinstallation heißt das, Beiträge (Artikel und Textfragmente), Kategorien, Bilder. An dieser Stelle schmerzt der fehlende Deployment-Mechanismus am meisten, da Contentaktualisierungen in der Regel zum Tagesgeschäft gehören. Es bieten sich drei Möglichkeiten an:

  • Contentpflege auf dem Live-Server
    Über diese sehr unsichere Methode wird sämtlicher Content direkt auf dem Live-Server eingestellt und dafür Sorge getragen, dass er während der Bearbeitungszeit den Status Versteckt behält.

    Beiträge, Kategorien, eigentlich alle Joomla!-Elemente befinden sich entweder in einem Veröffentlicht- oder Versteckt-Status (neben Archiv und Papierkorb). Als Administrator bzw. Super-Benutzer sind versteckte Elemente im Frontend aber dennoch sichtbar. Sie fügen sich zwischen alle anderen Elemente und sind mit einem kleinen Versteckt-Icon gekennzeichnet, so ist jederzeit eine Vorschau möglich.

    Die Gefahr ist, dass nur ein Klick notwendig ist, um den Versteckt-Status aufzuheben. Für Websites von Privatpersonen oder kleineren Firmen ist das aber kein Problem und darum in diesen Szenarien ein vertretbares Risiko.

  • Copy-&-Paste-Aktionen
    Content wird in der Entwicklungs-/Testumgebung vorbereitet und dann nach Freigabe sämtlicher Elemente auf dem Live-Server dupliziert exakt nach Vorbild.

    Bilder und Download-Dateien lassen sich risikolos hochladen. Das Anlegen eines Beitrags erfolgt in einer einzelnen Copy-&-Paste-Aktion; sämtliche Meta-Eigenschaften des Beitrags werden eingestellt, bevor man das Konstrukt das erste Mal speichert. Außerdem ist es bereits bei der Beitragserzeugung möglich, den Status Versteckt zu vergeben.

    In diesem Szenario besteht das Risiko, dass beim Kopieren sämtlicher Inhalte und Einstellungen (Kategoriezuordnung, Metadaten, Veröffentlichungszeiträume etc.) etwas vergessen wird, da die Rekonstruktion per Hand erfolgt. Dem lässt sich mit einem detailliert ausformulierten Workflow entgegenwirken, der allerdings streng diszipliniert ausgeführt werden muss. Insgesamt also ein recht mühsamer, fehlerbehafteter, wenn auch erwägenswerter Prozess.

  • Ein Tool
    Wie bei anderen Content-Management-Systemen landet Joomla!-Content in einer zentralen Datenbank. Was spricht dagegen, die Joomla!-Programmierschnittstelle zu nutzen und sich selbst ein kleines Synchronisationswerkzeug zu schreiben? Teil V dieses Handbuchs geht zwar auf die Entwicklung eigener Erweiterungen ein, aber trivial ist solch ein Tool natürlich nicht. Verfahren bei doppelten Einträgen, Bildpaketierung, Integration in die Benutzeroberfläche; das alles sind Themen, die daraus ein mehrtägiges Miniprojekt machen. Dabei sollte man meinen, solch ein Tool gibt es bereits.

    Im Joomla! Extensions Directory werden Sie bedingt fündig. Das optimale Werkzeug, in dem Sie über eine benutzerfreundliche Oberfläche Menüeinträge, Beiträge und Module von links nach rechts vom Test- zum Live-Server schieben, gibt es nicht. Stattdessen finden Sie einige Komponenten, die den Export und Reimport der betreffenden Datenbanktabellen ermöglichen oder sich live mit der Datenbank einer anderen Joomla!-Instanz verbinden, um einzelne Datensätze zu kopieren. Das ist zwar nicht besonders komfortabel (Ausnahme J2XML), funktioniert in der Regel aber zuverlässig. Kapitel 21, »Joomla! und Content deployen«, geht auf diese Tools ein und zeigt Ihnen auch, wie ein händisches Deployment oder die Hammermethode mit Backup-/Restore-Mechanismen funktionieren.

Joomla!-Updates

Die Aktualisierung von Joomla! ist kein Problem, da hier nichts zwischen Serverumgebungen synchronisiert werden muss. Das Joomla!-Update erfolgt auf Knopfdruck, sobald eine neue Version erscheint. Lässt sich also sicherheitshalber in der Entwicklungs-/Testumgebung ausprobieren und dann, ein vorher angelegtes Backup vorausgesetzt, in der Live-Umgebung nachstellen.

Updates von Erweiterungen und Templates

Mit Erweiterungen verhält es sich in der Regel wie mit dem Joomla!-Update. Sobald eine neue Version verfügbar ist, erhalten Sie eine Notification im Administrations-Backend von Joomla!, direkt im Kontrollzentrum, der Einstiegsseite des Backends (siehe Abbildung 2.2).

Vom Joomla!-Kontrollzentrum, der Backend-Startseite, gelangt man mit einem Klick zur Aktualisierung von Erweiterungen – entsprechende Benachrichtigungen erfolgen automatisch.

Abbildung 2.2    Vom Joomla!-Kontrollzentrum, der Backend-Startseite, gelangt man mit einem Klick zur Aktualisierung von Erweiterungen – entsprechende Benachrichtigungen erfolgen automatisch.

Sie verfahren hier genauso wie bei der Joomla!-Aktualisierung: Updates in der Entwicklungs-/Testumgebung ausprobieren, sämtliche Seiten prüfen, Websitefunktionalitäten testen, und wenn nichts zusammengebrochen ist, die Aktualisierungen in der Live-Umgebung durchführen. Davor legen Sie natürlich immer ein Backup an, wobei Sie durch eine andere in Kapitel 16, »Empfohlene Erweiterungen«, vorgestellte Erweiterung, Akeeba Backup, unterstützt werden.

Hinweis: Nicht alle Erweiterungen nutzen den Update-Mechanismus von Joomla!. Insbesondere für kleine Feature-Ergänzungen sollten Sie gelegentlich einen Blick auf die Website des Entwicklers werfen, um dort die aktuelle Versionsnummer zu erfahren und gegebenenfalls das Update per Hand einzuspielen.

Updates eigener Entwicklungen

Bei der Entwicklung eines eigenen Templates oder einer Erweiterung integrieren Sie den gleichen Joomla!-Mechanismus, den andere Erweiterungen aus dem Joomla! Extensions Directory verwenden. Dabei steckt in der Erweiterungskonfiguration eine Referenz zu Ihrem Update-Server, das kann ein einfaches Verzeichnis auf Ihrem Joomla!-Webspace sein. Sobald Sie im Enwicklungssystem eine neue Version des Templates oder der Erweiterung fertiggestellt und als Update bereitgestellt haben, erkennt das sofort die Aktualisierungsprüfung von Joomla! auf dem Live-System. Das funktioniert exakt wie die Aktualisierung einer beliebigen Drittanbieter-Erweiterung.

Zusammengefasst stehen, obwohl Joomla! über keine eingebauten Deployment-Funktionen verfügt, keine nennenswerten Hürden bei der geregelten Veröffentlichung von Releases im Weg. Die System- und Erweiterungen-Updates sind allesamt testbar und autark in jeder Umgebung durchführbar. Für das Content-Deployment picken Sie sich einfach eines der drei oben dargestellten Szenarien heraus.

 


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück
 Zum Katalog
Zum Katalog: Joomla! 3 Joomla! 3
Jetzt bestellen

 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: HTML5 und CSS3
HTML5 und CSS3


Zum Katalog: Schrödinger lernt HTML5, CSS und JavaScript
Schrödinger lernt HTML5, CSS und JavaScript


Zum Katalog: Einstieg in PHP 7 und MySQL
Einstieg in PHP 7 und MySQL


Zum Katalog: PHP 7 und MySQL
PHP 7 und MySQL


Zum Katalog: Erfolgreiche Websites
Erfolgreiche Websites


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2019
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de