Anhang
A.3 Template - Einschübe
Submitted by Hagen Graf on 7. January 2008 - 17:28Das <jdoc>-Element bietet Ihnen die Möglichkeit, dynamische Bereiche in Ihren Templates anzusprechen, ohne auch nur einen einzigen PHP-Befehl zu benutzen (siehe Tabelle A.2).
Template-Code | Wirkung | |
<jdoc:comment> | Kommentarzeile | |
<?php echo '<?xml version="1.0" encoding="utf-8"?'.'>'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php | Dokumententyp-Deklaration (XHTML-Header) | |
HEAD | ||
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" /> | Angabe des korrekten Inhaltstyps | |
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/ <link rel="stylesheet" href="<?php echo $this->baseurl ?>/ <link rel="stylesheet" href="<?php echo $this->baseurl ?>/ | Setzen der CSS-Datei | |
<?php if($this->direction == 'rtl') : ?> <link href="<?php echo $this->baseurl ?>/templates/rhuk_milkyway/css/template_rtl.css" rel="stylesheet" type="text/css" /> <?php endif; ?> | Setzen der CSS-Unterstützung für »rechts-nach-links«-Sprachen | |
BODY | ||
<jdoc:include type="message" /> | Joomla!-Systemnachrichtenanzeige | |
<jdoc:include type="modules" name="[position]" style="[Stil]" /> | Laden des Moduls an der (siehe Kapitel 13) | |
<?php if($this->countModules('left')) : ?> <?php endif; ?> | Bedingungsanweisung: Wenn es an der Stelle | |
<jdoc:include type=component /> | Anzeigen der Komponente. Der Name der Komponente ergibt sich aus der URL. | |
Tabelle A.2: <jdoc:...>-Einschübe in der index.php eines Templates
- 4243 Aufrufe
French
A.8 Sicherheit ohne globale Variablen
Submitted by Hagen Graf on 7. January 2008 - 17:25Ältere Versionen von Mambo und Joomla! verlangten standardmäßig eine PHP-Einstellung mit dem Namen register_globals = on. Bei diesem Schalter geht es um die Sichtbarkeit globaler Variablen, die unter anderem von außen per Formular oder GET-String in die Programme gelangen können.
Diese Einstellung birgt grundsätzliche Sicherheitsprobleme, und es ist besser, wenn Sie die Einstellung register_globals = off verwenden. Obwohl dieser Schalter Sie nicht vor allen Problemen schützt, hilft er doch schon ungemein, die Sicherheit zu erhöhen.
Es war und ist möglich, diese Einstellung auch in älteren Mambo- und Joomla!-Versionen zu verwenden. Seit Joomla! 1.0.11 wird sogar im Administrator Interface mit einer deutlichen Warnmeldung auf die on-Variante hingewiesen und die off-Einstellung empfohlen.
Bei Joomla! 1.5.x ist, wie bereits in Joomla! 1.0.11, standardmäßig register_globals = off vorgesehen. Der Kern von Joomla! wird sicher und stabil mit dieser Einstellung funktionieren.
Zu Thema Sicherheit finden Sie ebenfalls Hinweise auf der joomla.org-Website. Es gibt für Joomla! 1.0 eine Administrator's Security Checklist, die auch komplett für Joomla! 1.5 gilt 4.
Exkurs
Bezüglich Ihrer Erweiterungen müssen Sie herausbekommen, ob diese ebenfalls mit der Einstellung funktionieren. Zum heutigen Zeitpunkt benutzen manche Erweiterungen noch globale Variablen. Seit dem Erscheinen von Joomla! 1.0.11 (September 2006) sind allerdings auch viele Kunden durch die deutliche Hinweismeldung auf das Problem aufmerksam geworden, und so werden die betroffenen Erweiterungen vermutlich schnell angepasst.
- 7908 Aufrufe
French
A.7 Migration von Joomla! 1.0.x zu Joomla! 1.5
Submitted by Hagen Graf on 7. January 2008 - 17:24Viele von Ihnen haben vielleicht schon eine Joomla! 1.0.x- oder Mambo 4.5.x-Website und wollen jetzt auf Joomla!1.5 umsteigen.
Grundsätzlich haben Sie es nun mit mehreren Problemen zu tun:
- Sicherung der gesamten Website
- Die allgemeinen Quellcode-Dateien müssen aktualisiert werden.
- Zusätzliche Komponenten, Module und Mambots/Plugins müssen aktualisiert werden.
- Eventuelle eigene Programmänderungen müssen aktualisiert werden.
- Ihre Inhalte müssen das Update ohne Schaden überdauern.
- Inhalte mit Sonderzeichen müssen nach UTF8 konvertiert werden.
Sie sehen anhand der Auflistung, dass ein Update grundsätzlich eine umfangreiche Sache werden kann. Es ist umso einfacher, je mehr Sie mit den Standard-Komponenten arbeiten und umso schwieriger, je individualisierter Ihre Website ist. Es gibt momentan keine allgemein gültigen Regeln für die Updates, sodass Sie zunächst Informationen sammeln und einen individuellen Update-Plan für Ihre Seite erstellen müssen.
Daten sichern
Bevor Sie irgendwelche Pläne machen und Migrations-Komponenten ausprobieren, sollten Sie Ihre Datenbank und die Dateien sichern. Benutzen Sie das entsprechende Tool Ihres Providers, um einen MySQL-Dump zu erzeugen. In den meisten Fällen wird dies das Programm phpMyAdmin sein, das auch in der XAMPP lite-Umgebung genutzt wird. Klicken Sie auf den Reiter Exportieren, markieren Sie alle Tabellen und kreuzen Sie in der Checkbox Struktur alle Felder an. Wählen Sie bei der Checkbox Daten Vollständige INSERTS aus. Im unteren Bereich müssen Sie die Checkbox Senden und das gewünschte Format ankreuzen. Wenn es der Provider ermöglicht, sollten Sie hier die gezippte Variante vorziehen. Komprimierte Dateien im Datenbankbereich können durchaus 95 % kleiner als die normale Datenbank sein! Bestätigen Sie Ihre Auswahl durch einen Klick auf den Button OK (Abbildung A.3).

Abbildung A.3: Datenbank sichern mit phpMyAdmin
Die Inhalte der Datenbank werden nun extrahiert und Ihnen zum Download angeboten. Die Datei enthält alle SQL-Befehle, um die Tabellen in einer anderen Datenbank mit Ihren Inhalten zu erzeugen, stellt also eine optimale Art der Sicherung der Dateien dar (Abbildung A.4).

Abbildung A.4: Download der DB-Sicherung
Über phpMyAdmin können Sie die Daten wieder einlesen. Klicken Sie auf den Link SQL, wählen Sie die Datei mit den gesicherten Daten aus und klicken auf den Button OK. Alle SQL-Befehle, die in der Datei stehen, werden nun ausgeführt und Ihre Daten wieder rekonstruiert (Abbildung A.5).

Abbildung A.5: Einlesen der gesicherten Daten
A.7.1 Dateien sichern
Außer den Daten in der Datenbank sollten Sie natürlich auch die Quellcode-Dateien sichern. Benutzen Sie ein FTP-Programm Ihrer Wahl und kopieren Sie den gesamten Joomla!-Ordner.
A.7.2 Das Migrationsskript
Es gibt eine Migrations-Komponente, die in die alte Joomla!-Version 1.0.x installiert werden muss. Mit dieser Komponente erzeugen Sie durch einen Klick auf das Icon Dump it drei ZIP-Dateien:
- Ein komplettes Backup der gesamten Website
- Ein Backup der Core-Komponenten
- Ein Backup der Third Party-Komponenten
Speichern Sie diese Dateien an einem sicheren Ort.
Diese Dateien enthalten die originalen unveränderten Daten Ihrer Joomla! 1.0.x-Website. Dies betrifft insbesondere den Zeichensatz!
A.7.3 Neuinstallation Joomla! 1.5.0
Erstellen Sie einen neuen Ordner und kopieren Sie alle Joomla! 1.5.0-Dateien in diesen Ordner.
Installieren Sie Joomla! 1.5.0 mit dem Webinstaller bis zum Schritt 6 (Abbildung A.6).

Abbildung A.6: Webinstaller Migration
Wählen Sie jetzt den Radio-Button Migration Skript laden aus. Geben Sie das alte Präfix an (meistens mos_ oder jos_) und wählen Sie die alte Zeichensatzcodierung aus (Encoding). Wenn Sie sich nicht sicher sind, schauen Sie in den alten Sprachdateien nach und suchen dort nach der _ISO-Variable.
Laden Sie jetzt die »Core«-Exportdatei der Migrations-Komponente und klicken Sie auf den Button Hochladen und Ausführen.
Jetzt kommt es ein wenig auf Ihre Daten an. Normalerweise sollte eine Erfolgsmeldung kommen, und Ihre Daten sind umgewandelt worden. Erhalten Sie Datenbankfehler, ist das unter Umständen auch kein großes Problem. Versuchen Sie aus den Meldungen schlau zu werden und bessern Sie die Fehler per Hand in phpMyAdmin nach2.
Egal, was passiert, beenden Sie die Installation planmäßig mit dem Seitennamen und dem Admin-Passwort.
Was ist jetzt passiert?
Alle Core-Komponenten wie com_content, com_weblinks, com_banner, com_contact, com_newsfeed, com_poll und com_users wurden aktualisiert.
Menülinks der Core-Komponenten wurden angepasst. Die Module werden auf unveröffentlicht gesetzt. Die Anzeigeposition der Module und deren Parameter müssen überarbeitet werden.
Es wurden keinerlei Third Party-Komponenten übernommen, ebensowenig wie Dateien (Banner, Bilder, PDF-Dateien, ...).
A.7.4 Manuelle Variante
Zunächst mal die schlechte Botschaft. Mit phpMyAdmin funktioniert die einfache Änderung der Tabellen nicht, weil beim Wechseln des Zeichensatzes die Umlaute nicht korrekt übersetzt werden! Die Daten werden alle übernommen, aber der erweiterte ASCII-Zeichensatz (also Buchstaben wie Ä, Ö, Ü, ß, ä, ö, ü, ... und viele Zeichen mehr) wird nicht korrekt dargestellt.
Sie müssen also die Daten zunächst einmal durch einen Export in das UTF8-Format bringen und dann ein wenig an den Tabellenstrukturen ändern. Der Export klappt mit phpMyAdmin problemlos.
Kreuzen Sie die Checkbox bei Vollständige INSERTs an.
Die exportierten Daten müssen jetzt mit einem geeigneten Editor im UTF8-Format abgespeichert werden. (Das klappt bei nicht allzu umfangreichen Dumps sogar mit dem Windows Notepad.)
Achtung
Achten Sie darauf, nur die Daten und nicht die Tabellenstrukturen zu exportieren.
Anpassen des Joomla! 1.5 db-Schemas
Es sind wirklich nur zwei Felder, die umbenannt werden müssen!
- In der Tabelle jos_core_acl_aro heißt das Feld aro_id jetzt id.
- In der Tabelle jos_core_acl_aro_groups heißt das Feld group_id jetzt id.
Importieren der Tabellen
Diese Tabellen können importiert werden:
- jos_banner
- jos_bannerclient
- jos_bannerfinish
- jos_categories
- jos_contact_details
- jos_content
- jos_content_frontpage
- jos_content_rating
- jos_core_acl_aro
- jos_core_acl_groups_aro_map
- jos_core_log_items
- jos_core_log_searches
- jos_messages
- jos_messages_cfg
- jos_newsfeeds
- jos_poll_data
- jos_poll_date
- jos_poll_menu
- jos_polls
- jos_sections
- jos_users
- jos_weblinks
Die Tabelle jos_usertypes wird in Joomla! 1.5 nicht mehr benutzt.
Menüs und Module können entweder über phpMyAdmin oder das Admin-Interface neu konfiguriert werden.
Und das war es dann auch schon.3
Exkurs
Wenn Sie einigermaßen mit phpMyAdmin und MySQL bzw. der Sprache SQL umgehen können, werden Sie die Migration der Core-Komponenten problemlos schaffen.
Problematischer wird die Migration von Third Party-Komponenten. Ich bin mir allerdings sicher, dass auch hier schnell Migrationsskripte vorliegen werden.
Letztlich hat sich an den Tabellen außer dem Zeichensatz nicht viel verändert. Die Hauptarbeit der Komponenten-Entwickler passierte im Quellcode, der auf die neue Version angepasst werden musste.
Auf joomla.org wird ein Migrations Guide3 gepflegt. Schauen Sie hier auf jeden Fall vorbei.
- 2 Ich weiß, dass das nicht besonders hilfreich klingt, aber vielleicht beruhigt es Sie ein wenig, dass es bei einer unserer Websites auf Anhieb ohne Fehler geklappt hat. Die Geschichte der anderen Website, die mit Zusatzkomponenten gespickt war, erspare ich Ihnen an dieser Stelle und vertraue auf die Pflege und Weiterentwicklung des Installers :-).
- 10454 Aufrufe
French
A.6 Admin-Kennwort vergessen
Submitted by Hagen Graf on 7. January 2008 - 17:22Wenn Sie Ihr Admin-Kennwort vergessen haben, können Sie es in der Datenbank direkt ändern. Dazu benötigen Sie ein Tool wie phpMyAdmin. In der XAMPP lite-Umgebung rufen Sie es über die URL http://localhost/phpmyadmin in Ihrem Browser auf.
Wählen Sie dort die von Ihnen benutzte Datenbank aus. In dieser Datenbank befindet sich eine Tabelle jos_users. Suchen Sie in dieser Tabelle den Benutzer admin. Das Passwort ist mit dem MD5-Verfahren verschlüsselt1. Sie können es ändern, indem Sie in der Optionsliste links neben dem Feld den Eintrag MD5 auswählen und das Passwort im Klartext eingeben (Abbildung A.2).

Abbildung A.2: Admin-Passwort ändern
Viele Provider bieten Ihnen ebenfalls phpMyAdmin zur Pflege Ihrer Datenbank an.
- 4903 Aufrufe
French
Paris, France
Neueste Kommentare
vor 5 Tage 20 Stunden
vor 5 Tage 20 Stunden
vor 5 Tage 23 Stunden
vor 6 Tage 8 Stunden
vor 6 Tage 15 Stunden
vor 1 Woche 6 Stunden
vor 1 Woche 6 Stunden
vor 1 Woche 6 Stunden
vor 4 Wochen 2 Tage
vor 5 Wochen 4 Tage