Slides zur Session auf dem TYPO3Camp in München. In den Slides wird gezeigt, was beim Caching mit Varnish von TYPO3 Webseiten zu beachten ist und welche Probleme auftreten können.
Alle Neuerungen der am 04.08.2015 veröffentlichten Version TYPO3 CMS 7.4 auf über 74 Slides. Viel Spaß damit!
Alle weiteren Neuerungen gibt es auf: http://www.lobacher.de
(Aktualisiert am 12.08.2015)
Pünktlich zum Release der Version TYPO3 Neos 2.0.0 habe ich ein über 350 Seiten starkes Kompendium zum Thema Neos CMS veröffentlicht. Als Early-Adopter und Technologie-Junkie muss und will ich mich natürlich sehr früh ausführlich mit neuen Technologien auseinandersetzen - daher gibt es das Kompendium bereits seit der Alpha-Version. Das Ergebnis allerdings will ich schnell wieder in die Community zurückfließen lassen. Denn wenn um Neos CMS eine große Community entsteht und wir dazu beitragen können, profitieren alle Parteien davon.
Diese auf dem Markt einzigartige Zusammenstellung auf über 350 Seiten behandelt alle Aspekte von Neos CMS in ausführlicher, übersichtlicher und didaktischer Form. Sobald eine neue Version von Neos CMS veröffentlicht wird, erfährt auch das Kompendium eine Aktualisierung, sodaß sicher gestellt ist, dass sich jeder Interessierte mit Hilfe des Kompendiums mit Neos anfreunden und die ersten Gehversuche machen kann.
Viel Spaß mit dem Kompendium!
Patrick
Alle Neuerungen der am 29.09.2015 veröffentlichten Version TYPO3 CMS 7.5 auf über 65 Slides. Viel Spaß damit!
Alle weiteren Neuerungen gibt es auf: http://www.lobacher.de
Alle Neuerungen der am 04.08.2015 veröffentlichten Version TYPO3 CMS 7.4 auf über 74 Slides. Viel Spaß damit!
Alle weiteren Neuerungen gibt es auf: http://www.lobacher.de
(Aktualisiert am 12.08.2015)
Pünktlich zum Release der Version TYPO3 Neos 2.0.0 habe ich ein über 350 Seiten starkes Kompendium zum Thema Neos CMS veröffentlicht. Als Early-Adopter und Technologie-Junkie muss und will ich mich natürlich sehr früh ausführlich mit neuen Technologien auseinandersetzen - daher gibt es das Kompendium bereits seit der Alpha-Version. Das Ergebnis allerdings will ich schnell wieder in die Community zurückfließen lassen. Denn wenn um Neos CMS eine große Community entsteht und wir dazu beitragen können, profitieren alle Parteien davon.
Diese auf dem Markt einzigartige Zusammenstellung auf über 350 Seiten behandelt alle Aspekte von Neos CMS in ausführlicher, übersichtlicher und didaktischer Form. Sobald eine neue Version von Neos CMS veröffentlicht wird, erfährt auch das Kompendium eine Aktualisierung, sodaß sicher gestellt ist, dass sich jeder Interessierte mit Hilfe des Kompendiums mit Neos anfreunden und die ersten Gehversuche machen kann.
Viel Spaß mit dem Kompendium!
Patrick
Alle Neuerungen der am 29.09.2015 veröffentlichten Version TYPO3 CMS 7.5 auf über 65 Slides. Viel Spaß damit!
Alle weiteren Neuerungen gibt es auf: http://www.lobacher.de
PHP Dependency und Paket Management mit ComposerMayflower GmbH
Vortragsfolien von Dominik Liebler
Jedes moderne PHP Projekt hat Abhängigkeiten zu Drittsoftware, sei es das MVC Framework, ORMs oder auch Client-APIs für verschiedene Dienste. Composer hilft dabei den Überblick zu bewahren und dem Versionschaos zu entgehen. Im ersten Teil des Vortrags wird es darum gehen, bestehende Packages in ein Projekt einzubinden und selbst eigene Packages zu erstellen. Der zweite Teil wird beleuchten, wie man selbst ein Repository mit Hilfe von Satis oder Packagist für die eigenen Pakete einrichtet und verwaltet.
OSDC 2011 | FAI - Fully Automatic Installation by Thomas LangeNETWAYS
FAI (Fully Automatic Installation) ist eine Software zur automatischen Installation von Rechnern ohne jeglichen Benutzereingriff. Dadurch lassen sich bei der initialen Installation von einzelnen Rechnern, ganzen Rechnerpools oder größeren Clusterinstalltionen viel Zeit einsparen. Zusätzlich bietet diese Vorgehensweise eine höhere Qualität, da sich keine manuellen Fehler einschleichen können oder Rechner nach einem Ausfall schneller wiederhergestellt werden können.
FAI begann als automatisierter Netzwerkinstaller für Debian, der schon von Anfang an ein eigenes Klassenkonzept beinhaltete. Durch die konstanten Weiterentwicklung sind mit den Jahren viele Erweiterungen in das Projekt eingeflossen, sodass FAI mittlerweile auch das komplette Konfigurationsmanagement übernehmen kann. Ebenso ist FAI inzwischen nicht mehr auf Debian festgelegt, sondern kann auch andere Linux Ditsributionen wie SUSE, RedHat, CentOS und sogar Solaris installieren. Neben echter, physikalischer Hardware, können natürlich auch virtuelle Systeme installiert und konfiguriert werden.
Der Vortrag gibt einen kurzen Überblick zum Projekt und zeigt die neuesten Features der aktuellen FAI Version.
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Christian Wenz
Kommunikation mit JavaScript war lange Zeit sehr überschaubar: HTTP-Anfragen waren dank Ajax möglich, aber auch nur an den Ursprungsserver und mit weiteren Einschränkungen. Dies hat sich mittlerweile geändert: JavaScript-Code kann jetzt auch mit fremden Browsertabs und Servern reden, sofern diese mögen; ebenfalls ist eine bidirektionale Kommunikation anstelle des altbackenen Pull-Modells möglich. Auch Zugriff auf Kamera und Mikrofon sind (nach Nutzerbestätigung) möglich. Diese Session zeigt zahlreiche bekannte und weniger bekannte Kommunikationsmöglichkeiten mit JavaScript und HTML5 auf und beleuchtet Vor- und Nachteile aus dem Projektalltag.
Franz Pletz möchte mit seinem Vortrag, nachdem vor einigen Wochen bereits Martin Brotzeller in die grundlegende Shell- und UNIX-Tools-Benutzung eingeführt hat, in die Customization der eigenen Shell und in sinnvollen weiteren Tools, die den Developer-Alltag erleichtern, einführen. Dies sind einerseits Standardtools mit ungeahnter Zusatzfunktionalität, die allerdings häufig nicht bekannt sind aber auch Zusatztools, die erst neu zu installieren sind.
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...NETWAYS
Dieser Workshop ist in erster Linie für Konferenzteilnehmer gedacht, die sich für Plugin-Programmierung interessieren.
Der Workshop zeigt auf, welche überwachenswerten Daten und Parameter es auf einem NetApp-Filer gibt und wie die Zugänge zu diesen Daten (Telnet, HTTP, SNMP, SSH, XML/Webservices, Data ONTAP APIs) sind. Ingo Lantschner wird eine theoretische Einführung und Demonstration an Hand des NetApp-Simulators präsentieren und mit den Teilnehmern ein Demo-Plugin auf Basis der o.g. Erkenntnisse entwickeln, anschließend erfolgt der Upload des Plugins auf Nagios-Exchange.
Eine kleiner Reminder... PHP 5.3 und seine neuen Features. Im Rahmen dieser Veranstaltung konnte bei weitem nicht alles genannt werden, was die neue Version anbietet. Diese Session zeigte an Hand von konkreten Beispielen die Anwendung einiger dieser Features.
PHP Usergroup Rheinhessen,
Session vom 2010-04-06
Kundenzufriedenheit im E-Commerce
Kundenzufriedenheit
Unzufrieden: Schlechter als erwartet
Zufrieden: Wie erwartet oder besser als erwartet
Was will der User, damit er zufrieden ist?
Der User will vertrauen.
Der User will nicht warten.
Der User will nicht suchen, sondern finden.
Man muss User befragen,
damit man weiß, was sie wollen.
PHP Dependency und Paket Management mit ComposerMayflower GmbH
Vortragsfolien von Dominik Liebler
Jedes moderne PHP Projekt hat Abhängigkeiten zu Drittsoftware, sei es das MVC Framework, ORMs oder auch Client-APIs für verschiedene Dienste. Composer hilft dabei den Überblick zu bewahren und dem Versionschaos zu entgehen. Im ersten Teil des Vortrags wird es darum gehen, bestehende Packages in ein Projekt einzubinden und selbst eigene Packages zu erstellen. Der zweite Teil wird beleuchten, wie man selbst ein Repository mit Hilfe von Satis oder Packagist für die eigenen Pakete einrichtet und verwaltet.
OSDC 2011 | FAI - Fully Automatic Installation by Thomas LangeNETWAYS
FAI (Fully Automatic Installation) ist eine Software zur automatischen Installation von Rechnern ohne jeglichen Benutzereingriff. Dadurch lassen sich bei der initialen Installation von einzelnen Rechnern, ganzen Rechnerpools oder größeren Clusterinstalltionen viel Zeit einsparen. Zusätzlich bietet diese Vorgehensweise eine höhere Qualität, da sich keine manuellen Fehler einschleichen können oder Rechner nach einem Ausfall schneller wiederhergestellt werden können.
FAI begann als automatisierter Netzwerkinstaller für Debian, der schon von Anfang an ein eigenes Klassenkonzept beinhaltete. Durch die konstanten Weiterentwicklung sind mit den Jahren viele Erweiterungen in das Projekt eingeflossen, sodass FAI mittlerweile auch das komplette Konfigurationsmanagement übernehmen kann. Ebenso ist FAI inzwischen nicht mehr auf Debian festgelegt, sondern kann auch andere Linux Ditsributionen wie SUSE, RedHat, CentOS und sogar Solaris installieren. Neben echter, physikalischer Hardware, können natürlich auch virtuelle Systeme installiert und konfiguriert werden.
Der Vortrag gibt einen kurzen Überblick zum Projekt und zeigt die neuesten Features der aktuellen FAI Version.
Kommunikations-APIs von JavaScript (International PHP Conference/WebTechCon 2...Christian Wenz
Kommunikation mit JavaScript war lange Zeit sehr überschaubar: HTTP-Anfragen waren dank Ajax möglich, aber auch nur an den Ursprungsserver und mit weiteren Einschränkungen. Dies hat sich mittlerweile geändert: JavaScript-Code kann jetzt auch mit fremden Browsertabs und Servern reden, sofern diese mögen; ebenfalls ist eine bidirektionale Kommunikation anstelle des altbackenen Pull-Modells möglich. Auch Zugriff auf Kamera und Mikrofon sind (nach Nutzerbestätigung) möglich. Diese Session zeigt zahlreiche bekannte und weniger bekannte Kommunikationsmöglichkeiten mit JavaScript und HTML5 auf und beleuchtet Vor- und Nachteile aus dem Projektalltag.
Franz Pletz möchte mit seinem Vortrag, nachdem vor einigen Wochen bereits Martin Brotzeller in die grundlegende Shell- und UNIX-Tools-Benutzung eingeführt hat, in die Customization der eigenen Shell und in sinnvollen weiteren Tools, die den Developer-Alltag erleichtern, einführen. Dies sind einerseits Standardtools mit ungeahnter Zusatzfunktionalität, die allerdings häufig nicht bekannt sind aber auch Zusatztools, die erst neu zu installieren sind.
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...NETWAYS
Dieser Workshop ist in erster Linie für Konferenzteilnehmer gedacht, die sich für Plugin-Programmierung interessieren.
Der Workshop zeigt auf, welche überwachenswerten Daten und Parameter es auf einem NetApp-Filer gibt und wie die Zugänge zu diesen Daten (Telnet, HTTP, SNMP, SSH, XML/Webservices, Data ONTAP APIs) sind. Ingo Lantschner wird eine theoretische Einführung und Demonstration an Hand des NetApp-Simulators präsentieren und mit den Teilnehmern ein Demo-Plugin auf Basis der o.g. Erkenntnisse entwickeln, anschließend erfolgt der Upload des Plugins auf Nagios-Exchange.
Eine kleiner Reminder... PHP 5.3 und seine neuen Features. Im Rahmen dieser Veranstaltung konnte bei weitem nicht alles genannt werden, was die neue Version anbietet. Diese Session zeigte an Hand von konkreten Beispielen die Anwendung einiger dieser Features.
PHP Usergroup Rheinhessen,
Session vom 2010-04-06
Kundenzufriedenheit im E-Commerce
Kundenzufriedenheit
Unzufrieden: Schlechter als erwartet
Zufrieden: Wie erwartet oder besser als erwartet
Was will der User, damit er zufrieden ist?
Der User will vertrauen.
Der User will nicht warten.
Der User will nicht suchen, sondern finden.
Man muss User befragen,
damit man weiß, was sie wollen.
Eloísa Cartonera es una cooperativa en Buenos Aires que fabrica libros con tapas de cartón reciclado. Produce literatura latinoamericana clásica pintada a mano con diferentes diseños de colores para cada ejemplar. Después de 10 años, su modelo inspiró a más de 50 editoriales cartoneras en todo el mundo.
Este documento presenta la información de una Escuela de Formación de Soldados dirigida por el Asistente Guerrero Washington. Incluye una barra de menú, una barra de título con el nombre de la escuela y su director, y un índice de tesis.
El documento resume los principales métodos de exploración espacial actuales, incluyendo cohetes, transbordadores espaciales, sondas no tripuladas, estaciones espaciales y satélites artificiales. También menciona que el próximo gran reto es enviar una misión tripulada a Marte, aunque ya se han enviado misiones no tripuladas.
El documento presenta 7 compromisos y objetivos operacionales para mejorar la gestión escolar. Los compromisos incluyen el progreso del aprendizaje de los estudiantes, la retención estudiantil, el uso efectivo del tiempo, la incorporación de las rutas de aprendizaje, el uso de materiales educativos, y la creación de un buen clima escolar. Los objetivos operacionales buscan aumentar los niveles satisfactorios de aprendizaje, disminuir la deserción estudiantil, optimizar el uso del tiempo en el aula, capacitar
La diabetes gestacional es una intolerancia a los carbohidratos que se presenta durante el embarazo y puede o no resolverse después. Es la complicación médica más frecuente del embarazo. Se clasifica en diabetes gestacional y diabetes pregestacional. La diabetes gestacional se diagnostica mediante una prueba oral de glucosa y se trata principalmente con dieta, aunque a veces se requiere insulina. Puede causar complicaciones en la madre y el bebé.
Este proyecto de PowerPoint presenta información sobre diferentes temas tecnológicos como páginas web, blogs, virus de computadora y opciones de equipos. El documento incluye una introducción, un menú principal con diferentes secciones de la presentación, explicaciones de los temas, conclusiones y una bibliografía.
LE SUCCÈS D’UBUNTU : UN CAS D’AVANTAGE CONCURRENTIEL DYNAMIQUE DANS L’OPEN SO...Juan Matallana Camacho
L’objectif de cette recherche est d’expliquer le succès de la distribution bureautique Ubuntu-Linux. Ce travail essaie de montrer que la réussite de la distribution Ubuntu se rapproche d’un modèle d’avantage concurrentiel dynamique où des facteurs tels qu’une rivalité active, ou s’agit de competences internes, ou une nouvelle combinaison
de ressources trouvent leur place. Les informations disponibles sur le réseau montrent que Canonical, l’entreprise propiètaire d’Ubuntu, a le soutien humain et financier nécessaire pour maintenir son position.
Afin de vérifier cette hypothèse, un étude longitudinal est menée auprès de plus des 1000 nouvelles sur mouvements councurentiels des plus competitifs distributions de linux que se trouvent dans le sites de technologie parmi CNET et des autres. Le critère de selection utilisé est donné par les site Distrowatch.com, qui mantien les informations sur les téléchargements des distributions par les utilisateurs.
Les nouvelles sont collectées et organisées afin de présenter un cadre concurrentiel du secteur. Afin d’expliquer cette succès, il faut de tester des théories concurrentes dans le cadre d’avantage concurrentiel
dynamique.
El documento describe las ventajas y desventajas de particionar un disco duro para usar múltiples sistemas operativos. Las ventajas incluyen la habilidad de formatear solo una partición si el sistema operativo falla, preservando los archivos personales en la otra partición. Las desventajas son que si el disco duro falla, ambas particiones se pueden ver afectadas, y particionar puede causar mayor desgaste del mecanismo interno del disco a largo plazo.
El documento describe diferentes tipos de valores. Explica que los valores ético-morales permiten evaluar la bondad y maldad de los actos humanos, los valores religiosos permiten ponderar la relación entre Dios y los humanos, los valores estéticos permiten ponderar la relación entre belleza y arte, los valores ecológicos permiten ponderar la relación entre los humanos y la naturaleza, y los valores cívicos permiten ponderar la relación entre los ciudadanos y la ciudadanía.
Planeación SECUENCIAS DIDÁCTICAS BIEN DISEÑADASJavier Sanchez
Este documento presenta una guía para la planeación de una lección. Incluye secciones para los aprendizajes esperados, temas de reflexión, ámbitos, tipos de texto, competencias, consigna, secuencia didáctica, contenidos transversales, recursos, tiempo, productos, aspectos de evaluación, métodos, técnicas y estrategias. El documento provee una estructura completa para el diseño de una lección que cubra todos los elementos necesarios para lograr los objetivos de aprendizaje.
Webanwendungen - Installation, Konfiguration und AdministrationThomas Siegers
Web-Anwendungen sind Programme, die auf einem Server im Internet laufen und über einen Web-Browser bedient werden. Dazu gehören Blogs, Foren, Foto-Gallerien und Redaktionssysteme (CMS).
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...OPEN KNOWLEDGE GmbH
Speaker: Sebastian Reiners
Seit Java EE 7 stehen auch Enterprise-Entwicklern Server-Sent Events und WebSockets in standardisierter Form zur Verfügung. Höchste Zeit also, sich diese andere Art der Kommunikation im Web einmal näher anzusehen. Was sind Server-Sent Events und WebSockets überhaupt, was sind ihre Vorteile und wo bieten sich sinnvolle Anwendungsbereiche?
Im Rahmen der Vorstellung der unterschiedlichen Ansätze werden praktische Erfahrungen und Fallstricke, insbesondere im Zusammenspiel mit JSF und CDI veranschaulicht, sowie ein erstes Resümee gezogen.
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-adminsICS User Group
Gekürzter Vortrag der Connect 2014 Präsentation "BP307 Practical Solutions for Connections Administrators – Tips and Scripts for Your Daily Business" Tipps und Skripts rund um die Connections Installation, Konfiguration, Dokumentation und Troubleshooting. Wir zeigen Skripte die jedem Administrator das Leben erleichtern können.
Download der Skripts: http://github.com/stoeps13/ibmcnxscripting
Tipps und Skripts aus dem Leben eines Connections AdminsKlaus Bild
Gekürzter Vortrag der Connect 2014 Präsentation "BP307 Practical Solutions for Connections Administrators – Tips and Scripts for Your Daily Business" Tipps und Skripts rund um die Connections Installation, Konfiguration, Dokumentation und Troubleshooting. Wir zeigen Skripte die jedem Administrator das Leben erleichtern können. Download der Skripts: http://github.com/stoeps13/ibmcnxscripting
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
Sep 08, 2012
Continuous Delivery und Autoscaling von Enterprise Web-Applicationen in der Amazon Cloud
In diesem Vortrag zeigen wir am Beispiel des neuen Angrybird-Onlineshops, der zu Spitzenzeiten bis zu 10 Bestellungen pro Sekunde aufnehmen kann und dabei hochverfügbar ist, wie eine automatisch skalierende Cloud Infrastruktur sowie die nötigen Konzepte aussehen können.
Wir beschreiben die Herausforderungen und unsere Lösungen, um den Shop für ein Multi-Server-Setup vorzubereiten und zu betreiben. Spezielle Anforderungen an eine solche Architektur sowie die Integration von Reverse Proxies (Varnish), die Nutzung eines CDNs, verschiedene Cache-Strategien und weitere Optimierung sind ebenfalls Bestandteil dieses Vortrags. Außerdem stellen wir unsere automatisierte Cloud-Deployment-Strategien vor, angefangen von den Entwicklungsumgebungen, über den continuous Integration Server und unser Testing Framework bis hin zum A/B-Deployment in der Cloud.
ANEO RedHat Ansible und mehr.
Als Red Hat Premier Business Partner fokussieren wir uns auf
Automatisierung mit Ansible
Deployments mit Red Hat Satellite Server und Smart Management
Virtualisierung mit Red Hat Virtualization
Benutzer Management mit Red Hat IPA Server
Wir sind spezialisiert auf
Infrastruktur: Server | Storage | Backup
Software Integration und Entwicklung
Wir integrieren A mit B | Container
Hybrid Cloud Lösungen
Wer sich mit XPages-Entwicklung beschäftigt, wird über Kurz oder Lang auch auf OpenNTF und die eXtension Library stoßen.
Was ist die eXtension Library und wie kann ich die Erweiterungen in meiner Entwicklungsumgebung nutzen?
Wie können mir die zahlreichen Custom Controls auf OpenNTF helfen, den Entwicklungsaufwand zu reduzieren?
Seit Juli 2011 gibt es die Möglichkeit, aus XPages heraus auf relationale Datenbanken zuzugreifen. Was wird dazu benötigt und wie sieht der Zugriff in der Praxis aus?
Zielgruppe: Teilnehmer mit Grundlagenkenntnissen in der XPages-Entwicklung
Kenntnisse: Grundlagenkenntnisse in der XPages-Entwicklung
Dieser Workshop konzentriert sich auf WordPress-spezifische Möglichkeiten, und zeigt welche und wie wir bei der Blogwerk AG Performanceoptimierungen an unseren Blogs vorgenommen haben. Wichtige Themen dabei sind der Object-Cache mit verschiedenen Caching-Backends, Full-Site-Cachinglösungen, wie WP Super Cache und PHP-Optimierungen.
2. § Alter: 42 Jahre
§ Wohnort: Lübbecke
§ Certified TYPO3 Integrator
§ Re-Zertifiziert 2015
§ Seit 2003 als Dozent für TYPO3-Schulungen festangestellt
Oliver Thiele
Dozent bei Mittwald CM Service
TYPO3 & Varnish2
4. Reverse Proxy
Warum sollten wir einen Reverse Proxy nutzen?
§ Seiten werden sehr viel schneller ausgeliefert
§ Weniger Last auf dem Webserver
§ Höhere Ausfall-Sicherheit
§ Besseres Ranking bei Google durch das schnellere Ausliefern der
Webseiten
Präsentationstitel4
5. Probleme durch Caching?
Häufige Probleme sind:
§ Es werden für alle Besucher zu alte Inhalte ausgeliefert.
§ HTTPS-Verbindungen, bei denen die SSL-Verschlüsselung bis zum
Webserver reicht, können nicht zwischengespeichert werden.
§ Inhalte, die je nach eingeloggter Person unterschiedlich sind, dürfen
nicht gecacht werden (außer, es gibt für jeden Login einen separaten
Cache).
§ Bei falscher Konfiguration könnten Personen Inhalte sehen, die nicht
für sie gedacht sind.
§ Redakteure in TYPO3 könnten ihre Änderungen nicht sehen.
Präsentationstitel5
6. Was verhindert das Caching im Varnish?
§ Sessions / Cookies
§ no_cache=1 (GET, POST, TypoScript, …)
§ Die ungecachten cObjects USER_INT und COA_INT
§ Auslieferung unterschiedlicher Inhalte je nach Environment-Variablen
wie IP, User-Agent
§ SSL-Verschlüsselung
Präsentationstitel6
7. Sessions
Cookies, die bei TYPO3 gesetzt werden :
§ fe_typo_user Erst in der aktuellen Version nur nach Anmeldung
gesetzt
§ be_typo_user Ein einziger Aufruf vom Backend-Anmeldeformular
reicht, um das Cookie zusetzen
§ Google Analytics
§ Piwik
§ ...
Präsentationstitel7
8. no_cache
Einstellung in TYPO3
Wird gesetzt über:
§ GET/POST-Parameter
§ TypoScript Setup Einstellung
config.no_cache=1
bzw.
page.config.no_cache=1
§ Seiten-Eigenschaften
Präsentationstitel8
9. USER_INT & COA_INT
Ungecachte Content Objects (cObjects)
§ Diese Content-Objekte deaktivieren die Cache-Control-Header für
die Seite, die der Varnish benötigt, um Seiten zu cachen.
§ Vorsicht bei Verwendung von *_INT-Objekten bei der
FLUIDTEMPLATE Eigenschaft variables! Es reicht die Definition eines
*_INT-Objektes und es wird für sämtliche Backend-Layouts der
Cache deaktiviert.
§ Besser AJAX verwenden oder in einem BE-Layout mit
<f:cObject typoscriptObjectPath="lib.myUncachedElement“>
arbeiten! Hier werden nur die Seiten ungecacht ausgeliefert, in
denen über das Argument typoscriptObjectPath ein *_INT-Objekt
aufgerufen wird.
Präsentationstitel9
10. Einstellungen im TYPO3 Install-Tool
§ ['SYS']['reverseProxyIP'] = '127.0.0.1'
Hier muss die Adresse vom Varnish-Server eingetragen werden.
§ ['SYS']['reverseProxyHeaderMultiValue'] = 'first | last'
Mit dieser Änderung wird die erste/letzte X-Forwarded-For IP im
TypoScript abrufbar über
stdWrap.data = getIndpEnv:REMOTE_ADDR
§ ['FE']['dontSetCookie'] = 1
Muss nicht mehr zwingend eingetragen werden. TYPO3 setzt in
aktuellen TYPO3-Versionen das FE-Cookie nur noch bei Bedarf.
§ [FE][disableNoCacheParameter] = 0/1
Optimal wäre „0“, aber dann darf keine Extension
<input type="hidden" name="no_cache" value="1">
im Formular verwenden!
Präsentationstitel10
12. TypoScript
Setup
config {
sendCacheHeaders = 1
cache_period = 86400
}
Mit diesen Zeilen werden die Cache-Control-Header gesendet, die ein Reverse-Proxy
benötigen, um die HTML-Seiten cachen zu können.
Präsentationstitel12
14. Anmeldeverhalten
Steuert die Ausgabe der Cache-Control-Header
§ Benutzeranmeldung freigeben (Standard)
Die Seite wird nicht gecacht, wenn es einen Login gibt.
§ Benutzeranmeldung deaktivieren
Die Seite kann von einem Proxy gespeichert werden. Das Cookie fe_typo_user wird nicht
mehr ausgegeben. Sowohl eingeloggte als auch ausgeloggte Personen erhalten die selbe
Seite.
§ Anmeldung für Benutzer freigeben, aber für Benutzergruppen deaktivieren
Hier könnte ein spezieller Header ausgegeben werden, mit dem man dem Varnish mitteilt,
dass eine zweite Version der Seite zwischengespeichert werden soll.
§ Anmeldung wieder freigeben
Die Seite kann von einem Proxy nicht mehr gespeichert werden. Das Cookie fe_typo_user
wird wieder ausgegeben, auch wenn auf einer übergeordneten Seite „Benutzeranmeldung
deaktivieren“ ausgewählt war.
Präsentationstitel14
16. nginx Logfiles optimieren
IP des Clients anstatt des Servers loggen
Problem:
Normalerweise werden die IP-Adressen von einem Besucher im
access.log des Webservers gespeichert. Mit einem vorgeschalteten
Varnish-Server ist die mitgeloggte IP-Adresse immer die vom Varnish.
Lösung:
Der Varnish-Server gibt die IP des Besuchers an den Webserver per X-
Forwarded-For Header. Dieser muss dann geloggt werden.
Präsentationstitel16
17. nginx Logfiles optimieren
Webserver
§ /etc/nginx/nginx.conf (Sektion: http) oder Virtual-Host Datei
(Sektion: server)
§ set_real_ip_from 127.0.0.1; # IP of your
varnish/proxy
§ real_ip_header X-Forwarded-For; # Header from
varnish
§ /etc/varnish/default.vcl
Wenn das Loggen noch nicht klappt, im vcl_recv Abschnitt
hinzufügen:
set req.http.X-Forwarded-For = client.ip;
Präsentationstitel17
19. Reverse Proxy Pound
als https-Wrapper nutzen
§ Pound ist ein Reverse-Proxy, ein Lastverteiler und ein HTTPS-Wrapper.
§ Pound kann Anfragen auf Regeln basierend an einen oder mehrere
Webserver weiterleiten.
§ Pound kann Sitzungen erkennen, zum Beispiel durch Cookies oder
Anmelde-Zeichenfolgen.
§ Eine einmal erkannte Sitzung wird in der Folge immer an den gleichen
Webserver geleitet.
§ Man kann Pound als Lastverteiler einsetzen, um eingehende Anfragen auf
mehrere Webserver zu verteilen und so die Gesamtbelastung zu minimieren.
§ Pound reicht die Anfragen zum größten Teil komplett unverändert durch -
ist dadurch sehr kompatibel.
§ Pound verarbeitet keinerlei Anfragen selbst.
§ Pound ist kein Webcache.
Präsentationstitel19
21. Reverse Proxy Pound
Ausschnitt aus der Konfiguration
ListenHTTP
# Address Default: 127.0.0.1, for all use 0.0.0.0
# put your server's public IP address here
Address 0.0.0.0
Port 80
RewriteLocation 0 # Default 1 => infinite loop!
# HeadRemove "X-Forwarded-For“
## allow PUT and DELETE also (by default only GET, POST and HEAD)?:
xHTTP 2
Service
HeadRequire "(Host: vm-typo3.loc|Host: opcache.vm-typo3.loc)"
BackEnd
Address 127.0.0.1
Port 8000
End
End
Service
BackEnd
Address 127.0.0.1
Port 6081
End
End
End
Präsentationstitel21
23. Varnish-Konfiguration in der default.vcl
Caching prüfen
Zum Zählen der aus dem Cache ausgelieferten Seiten kann dieses
Snippet verwendet werden:
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Cache = "Hit (" +
obj.hits + ")";
} else {
set resp.http.X-Cache = "MISS";
}
}
Präsentationstitel23
24. Varnish-Konfiguration in der default.vcl
Dateien schützen (Abschnitt: vcl_recv)
/**
* Added security, the "w00tw00t" and other attacks are pretty annoying
* so lets block it before it reaches our webserver
* config, backup and other private files are also blocked
*/
if (req.url ~ "^/w00tw00t" ||
req.url ~ "^/phppath/" ||
# req.url ~ "^/pma/" ||
req.url ~ "^/phpMyAdmin" ||
req.url ~ "^/phpmyadmin" ||
req.url ~ "wp-(admin|login|content)" ||
req.url ~ ".inc.php" ||
req.url ~ "^/%70%68%70%70%61%74%68/" ||
req.url ~ ".(bak|backup|conf|log|properties|sql|tar)$" ||
req.url ~ "/Private/" ||
req.url ~
"typo3conf/ext/(.*)/Configuration/(TypoScript|FlexForms|TCA|ExtensionBuil
der)/"
) {
return (synth(403, "Not permitted"));
}
Präsentationstitel24
26. Edge Side Includes (ESI)
https://www.varnish-cache.org/docs/4.0/users-guide/esi.html
#!/bin/sh
echo 'Content-type: text/html'
echo ''
date "+%Y-%m-%d %H:%M“
<HTML>
<BODY>
The time is: <esi:include src="/cgi-
bin/date.cgi"/>
at this very moment.
</BODY>
</HTML>
Präsentationstitel26
27. Edge Side Includes
https://www.varnish-cache.org/docs/4.0/users-guide/esi.html
ESI Aktivierung:
sub vcl_backend_response {
if (bereq.url == "/test.html") {
set beresp.do_esi = true; // Do ESI processing
set beresp.ttl = 24 h; // Sets the TTL on the HTML above
} elseif (bereq.url == "/cgi-bin/date.cgi") {
set beresp.ttl = 1m; // Sets a one minute TTL on
// the included object
}
}
Tipp:
Aktivierung über Header-Daten. Diese könnten in Abhängigkeit zu einer Checkbox
bei den Seiteneigenschaften übermittelt werden.
Präsentationstitel27
30. Hilfreiche Extension „vcc“
Varnish Cache Control
Das Löschen des Varnish-Caches kann über die Extension
„Varnish Cache Control“
mit dem Extension-Key „vcc“ auch über das TYPO3 Backend erfolgen.
Mit der installierten und konfigurierten Extension kann ein Redakteur
eine Seite über einen Klick im Backend aus dem Varnish-Cache löschen.
Präsentationstitel30
32. Last-Test
mit und ohne Varnish
Dazu die Config-Dateien so einstellen, dass der Zugriff beim Varnish und Nginx nicht nur über
127.0.0.1 erfolgen kann! Nach dem Test gegebenenfalls wieder zurückstellen!
Test mit Varnish: siege -b -c 10 -t10s http://domain.tld:6081
Test ohne Varnish: siege -b -c 10 -t10s http://domain.tld:8000
Präsentationstitel32
33. Ergebnis des Siege Tests
Ohne Varnish
root@myserver ~ # siege -b -c 10 -t10s "http://dev.oliver-thiele.de:8000"
** SIEGE 3.0.8
** Preparing 10 concurrent users for battle.
The server is now under siege...
Lifting the server siege... done.
Transactions: 1086 hits
Availability: 100.00 %
Elapsed time: 9.36 secs
Data transferred: 7.50 MB
Response time: 0.09 secs
Transaction rate: 116.03 trans/sec
Throughput: 0.80 MB/sec
Concurrency: 9.96
Successful transactions: 1086
Failed transactions: 0
Longest transaction: 0.12
Shortest transaction: 0.03
Präsentationstitel33
34. Ergebnis des Siege Tests
Mit Varnish
root@myserver ~ # siege -b -c 10 -t10s "http://dev.oliver-thiele.de:6081"
** SIEGE 3.0.8
** Preparing 10 concurrent users for battle.
The server is now under siege...
Lifting the server siege... done.
Transactions: 95064 hits
Availability: 100.00 %
Elapsed time: 9.37 secs
Data transferred: 656.74 MB
Response time: 0.00 secs
Transaction rate: 10145.57 trans/sec
Throughput: 70.09 MB/sec
Concurrency: 9.66
Successful transactions: 95064
Failed transactions: 0
Longest transaction: 0.57
Shortest transaction: 0.00
Präsentationstitel34