Breaky.de stellt CMS von Joomla auf WordPress um

Joomla zu WordPressSeit 2004, quasi seit Mambo, dem Joomla Vorläufer, bevorzugte ich Mambo/Joomla als CMS Grundlage für die meisten Webseiten, welche ich erstellt habe. Nun beschäftige mich schon länger mit dem Wechsel auf ein anderes CMS,einfach um mich weiterzubilden und neue Technologie zu lernen.

Zum Import benutzte ich Frédéric GILLES „FG Joomla To WordPress Premium“ Plugin. Das funktionierte reibungslos.

Mit der Umstellung von Breaky.de mittel einfachem Import von Joomla und einigen kleinen Anpassungen am Theme, ist der erste Schritt getan, und ich überlege, auch weitere Seiten nach und nach umzustellen.

gtmetrix3

Joomla, Cloudflare, Google AMP und das mit gutem PageSpeed und YSlow?

gtmetrix3Kurz: Ja. Das geht! Wie, das möchte ich hier kurz beschreiben. Die Optimierung von Joomla-Seiten beschäftigt mich schon sehr lange. Angefangen habe ich damit als Joomla noch Mambo hieß.

Da Google immer wieder neue Rankingkriterien einführt und bestehende ablöst, ist die Optimierung von Webseiten ein beständiger Prozess, welcher eigentlich nie abgeschlossen wird.
Um aktuell ein gutes Ranking und eine gute Benutzbarkeit, unabhängig vom verwendeten Gerät zu erzielen, sollte man meiner Meinung nach auch folgenden Punkte abdecken:
– https
– CDN (mit Cloudflare)
– Google AMP (Accelerated Mobile Pages)

– >90% PageSpeed Score bei GTmetrix
– >90% YSlow Score bei GTmetrix
cloudflare page rule1Zunächst sollte man sein Joomla ausmisten und alles Unnötige rauswerfen, z.B. unbenutzte Plugins, Komponenten, alte Templates und Module. Dann installiert man 2 Plugins, um Cloudflare nutzen zu können:
CloudFlare Plugin http://extensions.joomla.org/extension/cloudflare und das Cloudflare Universal SSL Plugin https://www.simbunch.com/products/free-extensions/cloudflare-for-joomla.
Dann erstellt man sich ein kostenloses Cloudflare Konto und fügt die gewünschte Webseite hinzu. Nachdem man die DNS-Einstellungen nach der Schritt-für-Schritt Anleitung von Cloudflare angepasst hat und die beiden Plugins aktiviert hat, sollte es eigentlich laufen. Nach ein paar Stunden erhält man auch sein SSL Zertifikat und kann die Webseite nun über HTTPS erreichen. Damit die Seite immer über HTTPS aufgerufen wird, erstellt man einfach eine Page-Rule ind Cloudflare.
Nun kann man langsam anfangen die Optimierungsfunktionen von Cloudflare einzuschalten und zu prüfen, ob die Webseite das mitmacht 🙂
Gleichzeitig kann man bei GTmetrix prüfen, wieviel Pluspunkte es bringt.
Wichtig ist, dass man nicht mehrere Funktionen zur Optimierung von Javascript, CSS und HTML benutzt. Lange habe ich JCH Optimize benutzt um gute Werte zu erreichen. Das ist nun mittlerweile nahezu überflüssig, weil man mit dem Cloudflare CDN bessere Werte erreicht.
Nun kann man das Plugin „wbAMP Community Edition“ http://extensions.joomla.org/extensions/extension/site-management/seo-a-metadata/wbamp-community-edition installieren und entsprechend konfigurieren.
Wann man nun die im Plugin beschriebene AMP-Validierung mit Google Chrome durchführt, bekommt man einen Script-Fehler: „The tag ’script‘ is disallowed except in specific forms.“ und die Validierung schlägt fehl. Nach langem Suchen und Probieren habe ich dafür folgende Lösung gefunden:
Grund dafür ist der Rocket-Loader in Cloudflare, der versucht Javascript zu optimieren. Das ist natürlich bei AMP-Seiten Blödsinn. Deshalb einfach per Page-Rule in Cloudflare die AMP Seiten vom Rocket-Loader ausschließen und schon läuft das. Die AMP-Validierung funktioniert nun problemlos.amp valide
Gleichzeitig werden sehr gute Werte beim Seitentest mit GTmetrix erzielt.

Schutz vor Crypto-Trojaner: Datensicherung ganz einfach

Zu allererst sollte man sein System so aktuell wie möglich halten. In den allermeisten Fällen werden die Crypto-Trojaner, wie z.B. Teslacrypt, Teslacrypt2, oder auch Locky über manipulierte MS Office Dateien (Word und Excel) auf das System gebracht. In diesen Dateien befinden sich Makros, welche den eigentlichen Virus herunterladen. Seit der MS Office Version 2003 werden Makros allerdings nicht mehr automatisch ausgeführt. Beim Öffnen der Datei wird aktive nachgefragt, ob das Makro ausgeführt werden darf. Bei einem Dokument, aus einer Quelle, welche man nicht kennt, und wenn das Dokument ansonsten auch leer ist, sollte man das natürlich nicht machen!

Hier ein kleines Script zu komfortablen Dateisicherung auf eine, am besten jedoch mehrere externe USB-Festplatten. Wichtig ist, dass die Festplatte nach der Sicherung wieder vom System getrennt wird, da der Cryptotrojaner alle verbundenen Laufwerke und Netzwerkpfade verschlüsselt.
Voraussetzungen:
Man weiß wo seine wichtigen Daten liegen.
devcon.exe muss auf dem System installiert sein – Download hier [1]. Detaillierte Infos dazu hier [2].
Eine Batch-Datei erstellen mit diesem Inhalt und den Inhalt an das eigene System anpassen.

 

echo USB HDD verbinden!
REM USB Platte verbinden vorher mit „devcon listclass USB“ die ID suchen hier z.B.: VID_13FD*PID_1840
REM den individuellen Pfad zur devcon.exe finden, hier z.B. C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe
„C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe\devcon.exe“ enable USB\VID_13FD*PID_1840
REM Datenauswählen und auf Platte kopieren
robocopy „c:\Quellpfad1“ „F:\Zielpfad1″ /S /ZB /MT:8 /FFT /DST /R:5 /Log+:“C:\log1.txt“
robocopy „d:\Quellpafd2“ „F:\Zielpfad2″ /S /ZB /MT:8 /FFT /DST /R:5 /Log+:“C:\log2.txt“
echo fertig kopiert!
REM USB HDD wieder trennen
„C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe\devcon.exe“ disable USB\VID_13FD*PID_1840
echo USB HDD getrennt!

 

Das Script als Administrator ausführen und schon hat man seine Daten auf der externen Platte und die Platte ist vom System getrennt und somit sicher vor Verschlüsselung durch Crypto-Trojaner. Das Script eignet sich besonders für den Taskplaner (Aufgabenplanung) um periodisch automatische Sicherungen zu erstellen.

  Wichtig ist, das die Festplatte natürlich so kurz wie möglich mit dem System verbunden ist.

[1] http://support.microsoft.com/kb/311272/de
[2] https://www.administrator.de/wissen/usb-wechseldatentr%C3%A4ger-devcon-entfernen-reaktivieren-164936.html

1&1 limitiert Managed-Server Kunden mit begrenzter Dateianzahl und schafft so unnötig Gefahrenpotenzial

Ich bin seit mehr als 15 Jahren Kunde bei 1&1. Ich habe einen Managed-Server bei 1&1 mit 12 Cores 24 GB RAM und 2 TB Platz. 

Ich bin aus allen Wolken gefallen, als ich plötzlich keine Joomla-Updates mehr installieren konnte…
Ich konnte plötzlich auch per FTP keine Dateien auf den Server kopieren. 
Nach langem Überlegen bin ich darauf gestoßen, im 1&1 Controlcenter mal nach dem Speicherplatz zu schauen – und siehe da: Speicherplatz war nur zu 11% verbraucht. Was ich dann entdeckt schockierte mich: Dateianzahl: 1.048.576 von 1.048.576 verwendet – Noch freie Dateien: 0
1&1 schränkt also die Nutzung des gemieteten Servers massiv ein! Das Verhältnis von Speicherplatz zur Dateianzahl sollte bei einem Webserver, der in der Regel viele kleine Dateien enthält, schon in einem sinnvollen Verhältnis stehen!
Eine solche Sperre ist neben der Unfairness dem Kunden gegenüber auch eine Gefahr für das ganze Internet, weil so kritische Sicherheitslücken unter Umständen nicht mehr gefixt werden können, da das Dateilimit erreicht wurde.
Begründet hat der Support 1&1 das mir gegenüber so:
„Das Limit besteht um sicherstellen zu können, dass ein tägliches Backup des Servers erfolgt.
Läge das Limit höher kommt es zu Komplikationen und es kann kein Backup mehr sichergestellt werden.
Das Limit kann daher nicht erhöht werden.“

Diese Aussage verstehe ich nun wirklich nicht. Das klingt ein wenig sehr nach Ausrede für Laien.
Ich kann doch keine volle Kiste Bier anpreisen und verkaufen, bei der sich zu Hause herausstellt, dass man technisch bedingt nur 2 Flaschen entnehmen kann…
Ich bin gespannt ob 1&1 mir doch noch entgegenkommt oder ich nach 15 Jahren den Hosting-Provider wechseln sollte.

Habt Ihr ähnliche Erfahrungen gemacht? Welche Hoster könnt Ihr für Joomla empfehlen?

Breaky.de mit neuer CMS Version – Joomla 2.5 nach 3.x Upgrade Anleitung

In den letzten Tagen war ich damit beschäftigt, breaky.de zu entschlacken und zu aktualisieren. Das Update von Joomla 2.5 auf die 3.3.x stand sowieso an. Da meine www.breaky.de ja eine meiner meist besuchtesten Seiten ist, nahm ich mir viel Zeit und ging das Update vorsichtig an.

QUATSCH. 😀

Backup&GO 😀 -> MySQL-DUMP und FTP-Kopie (auf Akeeba Backup verlasse ich mich da nicht.)

Lesen Sie den Artikel unbedingt erst bis zum Ende durch, bevor Sie das Upgrade starten.

Bis zum Ende lesen erspart viel Leid und Arbeit.

Das aller-aller-Wichtigste beim Update von 2.5 auf 3.x ist das Template auf die neue Version zu bringen. Ohne Template für die 3.x Version kann man es gleich vergessen.

Ich führte das Update direkt im Joomla-Backend durch. Nachdem ich auf die aktuelle Joomla 2.5.28 aktualisiert hatte, alle Komponenten, Plug-Ins und Module auf aktuellem Stand waren, startete ich die Vorbereitungen auf das Upgrade von Joomla 2.5 auf Joomla 3.

Wichtige Punkte vor dem Upgrade sind:

– Nicht benutzte, alte Komponenten, Module und Plug-Ins deinstallieren

– Nochmals alle aktiven Komponenten, Module und Plug-Ins auf Aktualisierungen checken. Nicht nur per Joomla – Erweiterungen – Aktualisieren, sondern direkt beim Programmierer auf der Webseite. Es ist wichtig, Erweiterungen, welche nicht mit Joomla 3.x kompatibel sind vor dem Update aus zu sortieren.

– Joomla – Erweiterungen – Aktualisieren: die Option „Cache leeren“ benutzen.

– Falls ein wichtiger Bestandteil der Webseite nicht mit Joomla 3.x kompatibel ist, sofort alternative Erweiterungen suchen. Das Update auf Joomla 3.x ist aus Sicherheitsgründen unbedingt notwendig. Gibt es keine gleichwertige Erweiterung, welche Joomla 3.x unterstützt, ist es besser darauf zu verzichten als die alte 2.5er Version weiter zu nutzen.

– Suchmaschinenoptimierung (SEO) deaktivieren, alle Optionen

– Komponenten – Suchindex leeren

– Komponenten – Umleitungen löschen (in den Papierkorb) das kann dauern

– Site – Wartung – Globales Einchecken: alle offenen Punkte einchecken

So. nun  geht’s ans „Eingemachte“.

Unter Komponenten – Joomla-Aktualisierung, stellen wir bei „Optionen“ statt „Langzeit-Support (empfohlen)“ „Kurzzeit-Support“ ein.

Danach sollte direkt angezeigt werden: „Es wurde eine neue Joomla!-Aktualisierung gefunden“. Wenn man alle bisherigen Punkte korrekt abgearbeitet hat, kann man nun auf „Aktualisierung installieren“ klicken.

Die wichtigsten Schritte nach den Upgrade:

– unter Erweiterungen – Templates: das neue Site Template Aktivieren und zum Standard machen

– sowie unter Erweiterungen – Templates: das „isis“ Administrator Template aktivieren und zum Standard machen

– Erweiterungen – Datenbank: Reparieren

– Erweiterungen – Aktualisieren: Cache leeren, Aktualisierungen suchen. Aktuelle Aktualisierungen installieren.

Hinweise für Nutzer der JoomGallery 2.x:

Vor dem Joomla-Upgrade unbedingt auf die aktuelle Version 2.1.6 upgraden.

Nach dem Upgrade auf Joomla 3.x einfach die JoomGallery 3.2 drüber installieren. Wichtig ist, danach in der JoomGallery die zur Detail-Anzeige genutzten Plugins ebenfalls zu aktualisieren bzw. neu zu installieren.

Bei Fehlern nach dem Upgrade unbedingt die JoomGallery Konfiguration Schritt-für-Schritt prüfen und korrigieren.

Danach sollte die Seite wieder mit dem neuen Template und Joomla 3.x laufen. Bei mir funktionierte das so.

Habt Ihr Probleme oder Fragen dazu?

Migration von Joomla 1.5 auf 2.5 mit JUpgrade, ein Erfahrungsbericht

Vorhanden war ein aktuelles Joomla 1.5.25, mit den folgenden installierten Komponenten: Joomgallery, PhocaGuestbook, AkeebaBackup, JComments und AutoTweet (free).
Nach Backup, Registrierung bei redcomponent.com, Download und Installation der JUpgrade-Komponente 2.5.0 ging der Prozess auch offensichtlich reibungslos ohne Fehlermeldung zu Ende.
Die Komponenten mussten alle, sofern überhaupt möglich, händisch, mittels Migrationsscripten oder Datenbank-Tabellen-Kopierens migriert werden.
Das Upgrade der Joomgallery klappte fast prima mit dem Migrationsscript von der Joomgallery Homepage. Die im Script vorgegebenen Pfade für die alten Ordner musste ich anpassen, das klappte aber problemlos. Mein Problem war ein defektes Bild, welches ich vor dem Update nicht entdeckt hatte. Also vorher immer die Wartung der Joomgallery laufen lassen. Aber auch das Problem bekam ich im 2. Anlauf gelöst.
PhocaGuestbook habe ich nicht migriert, sondern komplett neu gemacht, war sowieso kein Eintrag drin. Gästebücher scheinen aus der Mode zu sein…
JComment gibt es leider noch nicht für Joomla 2.5. Ich denke es lohnt sich sowieso nicht mehr eine Kommentarkomponente zu installieren, oder? 😀
Ok, ich versuch’s noch mal mit JooComments…
Die Menü-Einträge, welche auf neue oder migrierte Komponenten verwiesen, wie der Joomgallery und von PhocaGuestbook, musste ich manuell aus der Datenbank entfernen, bevor ich neue Einträge mit den selben Namen erstellen konnte.
Das Template habe ich vorher auf 2.5 Standard "konvertiert". Mit den neuen Modulpositionen muss ich mich erst noch anfreunden…
Am besten am neuen Joomla 2.5 Konzept gefällt mir der Aktualisierungs-Button. Das ist wirklich ein erheblicher Vorteil. Nachdem ich nun die kleine Seite hier mit wenigen 3rd-party Erweiterungen einigermaßen gescheit migriert bekommen hab, kann ich auch die nächsten Projekte angehen. Hoffentlich geht alles glatt, da ist ja noch die neheim-huesten.de mit fast 15.000 Fotos… Da hab ich ein wenig Bammel vor.
Ich werde berichten, wie es weitergeht.
 

Keine Detail-Bild Anzeige in Joomgallery – Joomla gehackt – Eine Lösung

Nach dem Hochladen einiger neuer Fotos in die Joomgallery (Version 1.5.7.5) stellte ich fest, dass die Detailansicht der Bilder nicht funktionierte. Das ist schon öfter vorgekommen und lag meistens daran, dass ein Plugin in Joomla Probleme machte. Die Jungs von Joomgallery.net haben das hier detailliert beschrieben.
Ich prüfte nun alle Plugins und konnte diese Ursache ausschließen. Ein Post im Joomgallery-Forum brachte mich auf die richtige Spur. http://www.forum.joomgallery.net/index.php/topic,4524.msg22915.html#msg22915
Tatsächlich befand sich auch in meiner index.php (und allen anderen php-Dateien im Verzeichnis der Webseite der angesprochene Schad-Code:
<?php
$md5 = "8a0ddcd4d228….52";
$wp_salt = array("z",’….);
$wp_add_filter = create_function(‚$‘.’v‘,$wp_salt[3]……);
$wp_add_filter(‚DZZHroRY…….wf/7999///h8=‘);
?>
Der Virus bzw. die Malware nennt sich "!SShell v. 1.0 shadow edition!" und scheint bevorzugt WordPress-Systeme zu kompromittieren.
 
Was tun?
1. Seite offline stellen.
2. Alle Passwörter ändern (Adminzugang, mySQL und FTP)
3. letztes Backup prüfen, ob es auch infiziert ist
4. letztes Backup einspielen
 
Was tun wenn kein Backup vorhanden oder kein nicht-infiziertes Backup mehr vorhanden ist?
 
1. Backup erstellen mittels Backupkomponenten (z.B. Akeeba) oder Datenbank und FTP-Inhalt kopieren
2. cleaner-script von http://www.php-beginners.com/solve-wordpress-malware-script-attack-fix.html downloaden, entpacken und in den Ordner mit der infizierten Seite legen
3. Script über "doamin.de/cleaner_2.3.php" im Browser aufrufen, die Dateien im Verzeichnis auf dem Server werden gesäubert.
4. Infektionsquelle suchen: Bei mir fand ich im Ordner "modules" ein Modul names "WP Thumb Creator" und es gab ein entprechenden Ordner dazu.
5. Modul deinstallieren
6. der php.ini folgendze Zeile hinzufügen: "disable_functions = create_function,gzinflate,eval,base64_decode"
 
Inhalt des Moduls:
<?xml version="1.0" encoding="iso-8859-1"?>
<install type="module" version="1.5.0">
  <name>WP Thumb Creator</name>
  <author>Will Smith</author>
  <creationDate>February 2001</creationDate>
  <copyright>(C) 2001</copyright>
  <license>http://www.gnu.org/copyleft/gpl.html GNU/GPL</license>
  <version>1.0</version>
  <description>A module that says hello</description>
  <files>
    <filename>mod_wp.xml</filename>
    <filename module="mod_wp">wp-thumb-creator.php</filename>
  </files>
  <params />
</install>
 
Für mehr Informationen lest hier:
Es gibt auch Informationen auf eine fehlerhafte Version von Tiny MCE, einen Joomlaeditor als Quelle (http://wordpress.org/support/topic/warning-tinymce-exploit) ich werden den Editor vorsichtshalber löschen.