WordPress umziehen: Dank WP-CLI schnell und unkompliziert

WordPress treibt nicht nur über 25% aller Websites dieser Welt an, sondern ist auch bei unseren Kunden das mit Abstand beliebteste Content-Management-System (CMS). Wir zeigen Ihnen, wie Sie mit Ihrer WordPress-Website auf ein andere Webhosting umziehen, ohne dass dabei Daten verloren gehen. WP-CLI macht’s möglich.

Mit WP-CLI ist der Umzug einer WordPress-Website schnell erledigt.

Mit WP-CLI ist der Umzug einer WordPress-Website schnell erledigt.

WP-CLI steht für «WordPress Command Line Interface». Mit dem Open-Source-Tool lässt sich eine WordPress-Installation komplett über die Kommandozeile verwalten. In unserem Artikel WP-CLI: WordPress einfach auf der Kommandozeile verwalten erklären wir, wie Sie WP-CLI auf Ihrem Webhosting installieren.

Mit einer kompletten WordPress-Installation umziehen

Der Umzug einer kompletten WordPress-Website besteht aus den folgenden drei Schritten:
1. Datenbank exportieren
2. Daten transferieren
3. Installation am neuen Ort konfigurieren

Ist sowohl auf den alten wie auch auf den neuen Server Zugriff per SSH möglich und jeweils WP-CLI installiert, kann’s losgehen. Wir gehen davon aus, dass die Website am neuen Ort unter der gleichen Domain wie vorher erreichbar sein soll.

1. Datenbank exportieren

Als Erstes exportieren wir die Datenbank auf dem alten Server. Wir verbinden uns dazu per SSH zum alten Server und wechseln ins Verzeichnis, in dem sich die WordPress-Installation befindet. Mit dem Befehl wp db export exportieren wir die Datenbank. Die exportierte Datenbank befindet sich danach im aktuellen Verzeichnis und trägt den Namen name_der_datenbank.sql.

2. Daten transferieren

Da die alte WordPress-Installation per SSH erreichbar ist und auch der neue Server per SSH angesprochen werden kann, ist das Zwischenspeichern der WordPress-Dateien auf dem lokalen Rechner nicht nötig. Wir verbinden uns per SSH auf den neuen Server, wechseln ins Verzeichnis in welches wir WordPress installieren möchten und führen folgenden Befehl aus:

scp -rv benutzer@alterserver.tld:pfad/zu/dateien/ .

Dabei ersetzen wir benutzer@alterserver.tld mit den Zugangsdaten zum alten Server. Der Teil pfad/zu/dateien/ entspricht dem Pfad, in dem die WordPress-Dateien auf dem alten Server gespeichert sind.

Die Option -r bewirkt, dass Dateien und Verzeichnisse rekursiv kopiert werden. Dank -v gibt das Programm scp aus, was es gerade macht.

3. Installation am neuen Ort konfigurieren

Die von WordPress benötigten Dateien befinden sich bereits am gewünschten Ort. Nun muss noch die zuvor exportierte Datenbank importiert werden. Dazu erstellen wir eine neue Datenbank und notieren uns den Datenbanknamen, den Datenbankbenutzer sowie das entsprechende Passwort.

Danach öffnen wir mit vim wp-config.php die Datei wp-config.php im Editor Vim, starten mit i (insert) den Editiermodus und ändern die Datenbank-Zugangsdaten:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'Datenbankname');

/** MySQL database username */
define('DB_USER', 'Datenbankbenutzer');

/** MySQL database password */
define('DB_PASSWORD', 'Passwort');

Mit :wq (write und quit) speichern und schliessen wir die Datei.

Nun können wir die Datenbank per WP-CLI importieren:
wp db import name_der_datenbank.sql

Damit ist der Transfer abgeschlossen. Wenn die Domain bereits auf den neuen Server zeigt, ist die WordPress-Website unter der gewohnten Adresse erreichbar. Soll die Website doch unter einer neuen Domain erreichbar sein, genügt ein wp search-replace 'altedomain.tld' 'neuedomain.tld'.

Zum Abschluss löschen wir noch die Datei name_der_datenbank.sql, damit diese nicht öffentlich erreichbar ist:
rm name_der_datenbank.sql

Weitere Tipps zum Thema WordPress finden Sie auch in unserem Supportcenter.

Nicht bei uns: Wenn eine Kündigung zur Odyssee wird

Vergangene Woche bin ich auf die aktuelle Kolumne von Peter Hogenkamp in der Netzwoche aufmerksam geworden. Sie trägt den Titel «Du entkommst uns nicht, Du dummer Kunde!» und handelt von Peters Erlebnis ein Hosting und eine Domain zu kündigen. An dieser Stelle nochmals merci für die positive Erwähnung, Peter.

Leinenzwang bei der Kündigung: Schlechte Laune vorprogrammiert.

Leinenzwang bei der Kündigung: Schlechte Laune vorprogrammiert.

Auweia: Retention Specialists

Vor knapp zwei Jahren sorgte eine Tonaufnahme für Furore, die einen sogenannten «Retention Specialist» bei der Arbeit zeigten. Retention Specialists haben die Aufgabe, abwanderungswillige Kunden zum Verbleib zu bewegen. Das Modell scheint zu funktionieren, zumindest kurzfristig. Anders lässt sich das Aufkommen solcher Jobs im deutschsprachigen Raum nicht erklären.

Wir halten nichts von solchen Praktiken. Uns ist es wichtiger, dass auch ehemalige Kunden ein positives Bild von uns haben. Ausserdem können wir uns unzählige, spannendere Aufgaben für unsere Mitarbeiter vorstellen, als Kunden an der Kündigung zu hindern. Zum Beispiel die ständige Verbesserung unserer Produkte, damit der Wunsch nach einer Kündigung überhaupt nicht erst aufkommt ;)

Erinnern und zwar rechtzeitig

Wir informieren unsere Kunden vor der automatischen Erneuerung eines Vertrags frühzeitig per E-Mail. So bleibt genügend Zeit um den Vertrag zu kündigen, wenn keine Verlängerung gewünscht ist.

Kündigungen sind bei uns bequem per my.cyon-Konto möglich und bei Domains wird der benötigte Auth-Code automatisch angezeigt, wenn die aktuelle Rechnungsperiode beglichen ist. Wir legen also keinem Kunden Steine in den Weg, wenn er zu einem anderen Anbieter wechseln möchte.

Termin verpasst? Rechnen Sie mit Kulanz

Wir wissen, dass es manchmal einfach nicht reicht, einen Vertrag rechtzeitig zu kündigen. Darum stornieren wir bis zu 30 Tage nach der Verlängerung eines Webhostings den Vertrag ohne Wenn und Aber. Alles was es dazu braucht ist eine kurze E-Mail an mail@cyon.ch mit der Angabe der Kundennummer und des Webhostings, das gekündigt werden soll.

Da uns Domainnamen von der jeweiligen Registrierstelle automatisch in Rechnung gestellt werden, gilt diese Kulanz leider nicht für Domains. Die Nutzung mit anderen Diensten oder der Transfer zu einem anderen Anbieter ist aber jederzeit möglich, die Verlängerung einer Domain hat damit keinen Lock-in-Effekt.

5 einfache Tipps für eine schnellere Website

Ein Thema beschäftigt uns Website-Betreiber immer: Geschwindigkeit. Mit dem Sommer, womöglich Sommerferien und Tagen am Wasser bleibt den meisten nur wenig Zeit, ihre Website zu optimieren. Deshalb gebe ich Ihnen heute fünf Kurztipps, wie Sie Ihrer Website ohne viel Aufwand bessere Performance verschaffen.

5 einfache Tipps für eine schnellere Website

1. Server entlasten

Websites, hinter denen ein klassisches CMS (Content-Management-System) auf PHP/MySQL-Basis steht, können ganz schön ressourcenintensiv sein, um Inhalte an den Besucher zu schicken. Das muss nicht sein. Mit einem Caching-Plugin muss der Server die einzelnen Seiten nicht bei jedem Aufruf neu berechnen. Oder Sie setzen anstatt auf ein traditionelles CMS gleich auf ein Flat-File-System. Besser noch: Generieren Sie Ihre Website lokal auf Ihrem Rechner und legen Sie diese statischen Inhalte auf dem Webhosting ab. Static Site Generators machen’s möglich.

2. PHP 7 nutzen

Mit PHP 7 muss ein Server massiv weniger Rechenoperationen durchführen um eine Website darzustellen, als das noch mit PHP 5.6 der Fall war. Wir haben nachgemessen: In unseren Tests konnte eine WordPress-Website pro Sekunde dreimal mehr Anfragen beantworten, wenn PHP 7 aktiviert war. Die Unterstützung von PHP 7 ist unter den beliebtesten CMS mittlerweile flächendeckend. Damit ist der Geschwindigkeitsgewinn von bis zu 300% nur einen Mausklick im my.cyon-Konto entfernt.

3. HTTP/2 nutzen

Das Protokoll, das Websites antreibt, ist in die Jahre gekommen. Webentwickler behelfen sich mit Tricks um die Unzulänglichkeiten von HTTP/1.1 zu umgehen. Hier springt die Nachfolgerversion HTTP/2 in die Bresche und macht die HTTP/1.1-Performance-Tricks überflüssig. Damit Browser HTTP/2-Verbindungen akzeptieren braucht’s natürlich einen Webserver, der das schnelle Protokoll spricht. Ausserdem wird eine verschlüsselte Verbindung, also über HTTPS, vorausgesetzt. Dank unseren kostenlosen SSL-Zertifikaten haben Sie diese Voraussetzung ebenfalls mit einem Mausklick erfüllt. Verbindungen per HTTPS laufen auf unseren Servern automatisch über HTTP/2.

4. GZIP aktivieren

Textdateien lassen sich mit dem Kompressionsprogramm GZIP hervorragend komprimieren. Und da CSS, JavaScript und HTML nichts anderes als Textdateien sind, sind die Grösseneinsparungen mit aktivierter GZIP-Kompression sehenswert. Mit GZIP komprimierte Textdateien sind bis zu 90% kleiner als ihr Ursprung. Das sind spürbar weniger Daten, die übertragen werden müssen. Deshalb ist auf unseren Servern die GZIP-Kompression von Haus aus aktiviert. Falls Ihr Hosting-Anbieter das nicht macht, Apache als Webserver zum Einsatz kommt und das Modul mod_deflate installiert ist, können Sie mit folgenden Befehlen in der .htaccess-Datei Textdateitypen vom Server komprimieren lassen:

<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
</IfModule>

Quelle: KeyCDN – 18 Tips for Website Performance Optimization

5. Bilder optimieren

Fotos sind schnell einmal einige Megabyte gross. Darum sollten Sie nicht nur wie in Punkt 4 beschrieben, Textdateien komprimieren, sondern auch Bilder auf Ihrer Websites optimieren. Und das fängt schon auf Ihrem Computer an. Verkleinern Sie PNG-, GIF- und JPG-Dateien bereits, bevor Sie die Dateien auf Ihre Website laden.

Praktische Tools wie ImageOptim, ImageAlpha, TinyPNG oder Kraken.io helfen Ihnen dabei. Und falls das von Ihnen verwendete CMS selbst noch einmal verschiedene Versionen eines Bildes anlegt (ja WordPress, Du bist gemeint 😉), empfiehlt sich der Einsatz eines Plugins wie Optimus, das auch diese zusätzlichen Versionen eines Bildes automatisch optimiert.

Weitere Tipps

Möchten Sie Ihre Website noch weiter optimieren? Dann finden Sie bei KeyCDN (Englisch), Torsten Landsiedel, Stefan Wintermeyer, Google Developers oder in unserem Supportcenter-Artikel «Wie kann ich die Geschwindigkeit meiner Website optimieren?» weiterführende Tipps.

Headless CMS: Backend und Frontend entkoppelt

Der Begriff Headless CMS geistert seit einiger Zeit durchs Netz. Wir zeigen heute, was der Begriff bedeutet und in welchen Fällen dieser Ansatz Sinn macht.

Was bedeutet Headless CMS?

Mit einem traditionellen CMS (Content-Management-System) wie zum Beispiel WordPress, Drupal oder Joomla, verwalten Sie die Inhalte Ihrer Website. Das CMS stellt dabei sowohl die Administrationsoberfläche (Backend) als auch die Besucherseite (Frontend) dar.

Bei einem Headless CMS ist das anders. Ein Teil – der Kopf bzw. die Besucherseite – wird gegenüber traditionellen CMSen weggelassen. Ein Headless CMS ist damit nur noch für das Backend verantwortlich und stellt sicher, dass Inhalte verwaltet werden können.

Das Frontend wird durch ein anderes System dargestellt, das sich die Inhalte über eine eine Schnittstelle (API) vom Headless CMS holt. Das andere System kann sowohl eine mobile App, ein JavaScript-Frameworkwie React, Angular und Konsorten oder eine Website sein, die mithilfe eines Static Site Generators kreiert wird.

Der Unterschied: Headless CMS und traditionelles CMS

Der Unterschied: Headless und traditionelles CMS.

Vom traditionellen CMS zu Headless CMS

Content-Management-Systeme wie WordPress oder Drupal sind alles andere als «headless». Die Präsentation der Inhalte ist eine wichtige Aufgabe dieser Systeme. Trotzdem lassen sich gerade die beiden Systeme auch als Headless CMS und damit als Backend für eine Website oder Applikation nutzen. Möglich macht’s jeweils eine Schnittstelle (API), über die Inhalte ausgegeben oder auch erstellt werden können. Sowohl bei WordPress als auch Drupal gehört eine solche Schnittstelle bereits zur Grundausstattung.

Nebst den altbekannten Systemen, die dank einer API zu einem Headless CMS werden können, entstehen auch immer mehr dedizierte Projekte zum Thema. PHP-basierend, und damit problemlos auf einem Webhosting installierbar, sind zum Beispiel Cockpit CMS oder Directus. Auch in der Software-as-a-Service-Branche sind Unternehmen entstanden, die entkoppelte Systeme anbieten. Diese Content-as-a-Service-Provider wie Contentful oder Prismic übernehmen damit nicht nur die Verwaltung der Inhalte sondern auch gleich das Hosting.

Wann macht ein Headless CMS Sinn?

Für eine herkömmliche Website oder einen Blog benötigt man in den meisten Fällen kein Headless CMS. Sobald aber Inhalte für verschiedene Plattformen ausgeliefert werden müssen oder Inhalte aus verschiedenen Systemen zusammengeführt werden, kann sich der Headless-Ansatz lohnen.

Vorteile eines Headless CMS

  • Unabhängig: Inhalte werden vom CMS ohne Formatierung ausgeliefert, das Ringen mit Templates und Eigenheiten des CMS entfällt. Komplette Redesigns der Website sind problemlos möglich, ohne den Inhalt verändern zu müssen.
  • Einmal erstellen, überall nutzen: Inhalte müssen nur in einem System gepflegt werden und können in vielen Unterschiedlichen Frontends (Website, App, etc.) angezeigt werden, ohne dass der Inhalt für jeden Einsatzzweck aufbereitet werden muss.
  • Einbinden in weitere Systeme: Je nach System können Inhalte nicht nur per API abgefragt sondern auch eingespeist werden. Damit lässt sich ein Headless CMS auch mit Systemen verknüpfen, die Inhalte ans System liefern.

Nachteile eines Headless CMS

  • Fehlende Funktionen: Funktionen wie Formulare, Bildergalerien oder Mitgliederbereiche müssen zusätzlich programmiert bzw. durch ein weiteres System bereitgestellt werden.
  • Aus einem System werden viele: Das Gesamtsystem wird komplexer, da es aus mehreren unabhängigen Teilen aufgebaut ist. Die Lokalisierung von Fehlern wird schwieriger.
  • Ungewohnt: Redakteure kennen den Umgang mit traditionellen Content-Management-Systemen. Mit einem Headless CMS müssen unter Umständen alte Zöpfe abgeschnitten werden.

Wie erwähnt, entwickeln sich vor allem WordPress und Drupal sehr stark im Bereich Headless CMS. Haben Sie schon Projekte mit einem Headless-Ansatz umgesetzt? Wir freuen uns auf Ihren Kommentar.

Contao 4.2: So installieren Sie die neuste Version des beliebten CMS

Vergangene Woche ist die Contao 4.2 erschienen. Neben vielen kleineren Neuerungen wurde das Backend-Theme komplett überarbeitet und kommt jetzt in einem frischen und zeitgemässen Design daher. Seit der Version 4.0 ist Contao ein Symfony-Bundle. Heute erkläre ich Ihnen, wie Sie Contao 4.2 auf einem unserer Webhostings zum Laufen bringen.

Das neue Backend-Theme von Contao lässt sich auch auf mobilen Geräten bedienen.

Das neue Backend-Theme von Contao lässt sich auch auf mobilen Geräten bedienen.

Vorbereitungen im my.cyon

Bevor wir mit der Installation loslegen, treffen wir im my.cyon noch einige Vorbereitungen.

Unter «Webhosting» > «Subdomains» legen wir eine Subdomain an. In unserem Beispiel ist «ihredomain.ch» bereits auf dem Webhosting installiert. Wir legen für diese Website die Subdomain «neu.ihredomain.ch» mit dem Zielordner «neu.ihredomain.ch» an. Um die Kommunikation zwischen der Website und Besuchern von Anfang an vor fremden Blicken zu schützen, aktivieren wir unter «Sicherheit» > «Kostenlose SSL-Zertifikate» ein SSL-Zertifikat für die Domain «neu.ihredomain.ch». Zum Schluss erstellen wir unter «Datenbank» > «MySQL» eine Datenbank und notieren den Datenbanknamen, den Datenbankbenutzer und das Datenbankpasswort. Diese Angaben benötigen wir später während der Installation von Contao.

Im nächsten Schritt melden wir uns per Konsole auf unserem Webhosting an. Die Zugangsdaten befinden sich im my.cyon unter «Webhosting» > «Übersicht» im Abschnitt «Zugangsdaten Webhosting».

In unserem Beispiel lautet der Benutzername des Webhosting-Accounts «benutzer» und die Domain «neu.ihredomain.ch». Um per SSH auf unser Webhosting zu verbinden, geben wir folgende Zeile in der Konsole ein:
ssh benutzer@ihredomain.ch
Danach wird zur Authentifizierung das Passwort für unser Webhosting verlangt, falls wir keinen SSH-Key hinterlegt haben.

Composer installieren

Nach erfolgreicher Anmeldung wechseln wir mit folgendem Befehl in das Verzeichnis bin und installieren Composer:

mkdir -p ~/bin && cd ~/bin && curl -sS https://getcomposer.org/installer | php

Danach benennen wir die Datei composer.phar in composer um, damit wir bei der Installation über Composer die Endung .phar weglassen können:

mv composer.phar composer

Contao installieren

Jetzt wechseln wir ins Verzeichnis public_html und installieren Contao in das Zielverzeichnis der Subdomain.

cd ../public_html/ && composer create-project contao/standard-edition neu.ihredomain.ch 4.2.0

Die Installation von Contao kann einige Minuten dauern. Danach wird die Datei app/config/parameters.yml generiert und wir werden gebeten, einige Parameter zu hinterlegen. Für uns sind nur database_user, database_passwordund database_name relevant, die restlichen Optionen bestätigen wir ohne Eingabe mit der Enter-Taste. Als Parameter der drei relevanten Optionen hinterlegen wir den Datenbanknamen, den Datenbankbenutzer und das Datenbankpasswort, die wir im Abschnitt Vorbereitungen im my.cyon erstellt haben.

database_host (localhost):
database_port (3306):
database_user (null): Datenbankbenutzer
database_password (null): Datenbankpasswort
database_name (null): Datenbankname
mailer_transport (mail):
mailer_host (127.0.0.1):
mailer_user (null):
mailer_password (null):
mailer_port (25):
mailer_encryption (null):
prepend_locale (false):

Damit ist Contao installiert. Um alle Aufrufe auf HTTPS umzuleiten, müssen wir noch die Datei .htaccess anpassen. Wir wechseln dazu ins Verzeichnis web und öffnen die Datei im Vim-Editor:

cd neu.ihredomain.ch/web
vim .htaccess

Natürlich kann diese Anpassung auch direkt über FTP vorgenommen werden, wir bleiben aber auf der Shell.

Mit i wie insert aktivieren wir den Bearbeitungsmodus in Vim und können die folgenden beiden Zeilen direkt nach RewriteEngine On einfügen:

RewriteCond %{HTTPS} =off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301]

Mit der Escape-Taste verlassen wir den Bearbeitungsmodus und mit :wq (write and quit) speichern wir die Datei und verlassen den Editor.

Im my.cyon unter «Webhosting» > «Subdomains» ändern wir schliesslich den Zielordner von «neu.ihredomain.ch» auf «neu.ihredomain.ch/web».

Zum Abschluss rufen wir im Browser «neu.ihredomain.ch/install.php» auf, bestätigen, dass wir die Lizenz akzeptieren, schützen das Installtool von Contao mit einem Passwort, aktualisieren die Datenbank und richten ein Administrationskonto für die Anmeldung im Contao-Backend ein. Das Backend von Contao ist danach, wie gewohnt, über «neu.ihredomain.ch/contao» zu erreichen.

Erweiterung mit Composer installieren

Wir möchten die Erweiterung Contao Security Checker Bundle von 1up GmbH installieren, um unsere Contao-Installation regelmässig auf Sicherheitslücken zu durchsuchen. Wir geben in der Konsole folgenden Befehl ein:

composer require oneup/contao-security-checker-bundle

Nun müssen wir das Modul noch in der Datei AppKernel.php eintragen. Wiederum kann diese Anpassung auch direkt über FTP vorgenommen werden. Da wir bereits per SSH mit unserem Webhosting verbunden sind, ist die Änderung über die Konsole jedoch schneller erledigt.

Wir wechseln ins app-Verzeichnis:
cd ../../app/

Und öffnen die Datei AppKernel.php im Vim-Editor:
vim AppKernel.php

Mit i starten wir den Bearbeitungsmodus.

Nach der Zeile new Contao\NewsletterBundle\ContaoNewsletterBundle(), fügen wir folgenden Inhalt ein:

new Oneup\Bundle\SecurityCheckerBundle\OneupSecurityCheckerBundle(),

Mit der Escape-Taste und :wq speichern wir die Änderungen und schliessen Vim.

Erweiterung ohne Composer installieren

Wir suchen uns die Erweiterung über die Erweiterungsliste auf contao.org oder auf GitHub und stellen sicher, dass diese mit Contao 4.2 kompatibel ist.

Achtung: Wenn Erweiterungen nicht mithilfe von Composer installiert werden, müssen zusätzlich alle Abhängigkeiten für eine Erweiterung manuell installiert werden.

Wir entscheiden uns die Erweiterung EasyThemes von terminal42 gmbh zu installieren, um uns das Arbeiten im Backend zu erleichtern und so einige Klicks zu sparen.

Wir arbeiten wieder auf der Kommandozeile. Zurzeit befinden wir uns noch im Verzeichnis web. Mit folgendem Befehl verlassen wir es und rufen system/modules auf:

cd ../system/modules/

Auf GitHub finden wir den neusten Release von «EasyThemes» und kopieren den Link zum tar.gz-Archiv. Mit folgendem Befehl laden wir das Archiv auf unser Webhosting und entpacken es:

curl -L https://github.com/terminal42/contao-easy_themes/archive/2.2.2.tar.gz | tar -xzp

Mit ll können wir alle im Verzeichnis hinterlegten Dateien anschauen. Momentan heisst die Datei noch contao-easy_themes-2.2.2, dies ändern wir mit folgendem Befehl:

mv contao-easy_themes-2.2.2/ easy_themes

Wichtig: Das Verzeichnis muss den auf contao.org in den eckigen Klammern angegebenen Namen erhalten, in diesem Fall [easy_themes].

Alternativ können wir das Paket auch herunterladen, entzippen und das Verzeichnis «easy_themes» per FTP im Verzeichnis «system/modules» ablegen.

Zum Schluss müssen wir das Modul noch in der Datei AppKernel.php eintragen. Auch diese Anpassung kann direkt über FTP vorgenommen werden.

cd ../../app/
vim AppKernel.php

Mit i wechseln wir in den Bearbeitungsmodus von Vim und fügen nach der Zeile new Contao\NewsletterBundle\ContaoNewsletterBundle(), folgendes an:

new Contao\CoreBundle\HttpKernel\Bundle\ContaoModuleBundle('easy_themes', $this->getRootDir()),

Mit der Escape-Taste und :wq speichern wir die Datei und schliessen den Editor. Danach bereinigen wir alle Daten im Contao-Backend unter «System» > «Systemwartung» und loggen uns im Installtool ein, um die Datenbank zu aktualisieren. Möglicherweise ist ein Neuladen des Browser-Fensters nötig. Nun ist die Erweiterung «EasyThemes» installiert.

Contao 4.4 mit Long Term Support

Zur Zeit ist Contao 3.5 in der Long Term Support-Phase und wird bis Juni 2018 mit Bugfixes versorgt. Sicherheitsrelevante Updates erfolgen noch bis Juni 2019. Contao 4.4 wird die nächste Version mit Long Term Support sein und voraussichtlich im Juni 2017 veröffentlicht. Wer nicht auf die neuen Funktionen von Contao 4.x angewiesen ist, dem empfehle ich vorerst weiterhin Contao 3.5 zu verwenden.

Seite 1 von 9712345...102030...Letzte »