Vortrag auf der Plone Konferenz in München 2012.
Buildout hat sich als Standard sowohl für die Plone Entwicklung am eigenen Rechner als auch die Einrichtung von Plone Hosting durchgesetzt.
Der Vortrag stellt eine Konfiguration vor, die Entwicklung und Deployment vereint. Von der Entwicklung von Erweiterungen inkl. automatisierter Releases auf dem eigenen Paketserver bis hin zur Inbetriebnahme am Server. Skalierbar durch ZEO, Lastverteilung und Caching-Server. Außerdem nützliche Vorlagen und Tipps für Nachbetreuung und den ausfallsicheren Betrieb: Mail bei Fehlermeldungen, System-Monitoring, Statistiken, Backups und Wartung.
Der Vortrag richtet sich sowohl an Einsteiger die einen Überblick über die Möglichkeiten von zc.buildout gewinnen möchten als auch an "alte Hasen" die hier den ein oder anderen nützliche Tipp kennenlernen und in der anschliessenden Diskussion über Alternativen und ihre Erfahrungen berichten. Anhand praxisnaher Beispiele werden unter anderem auch oft vergessene, aber für erfolgreiche Projekte wichtige Aspekte behandelt und "best practices" vorgestellt:
* Monitoring um sofort informiert zu werden, wenn eine wichtige Komponente ihren Dienst quittiert
* Fehlerbehandlung (Welche Anfragen von Benutzern führen auf dem Server zu Fehlern und damit Unzufriedenheit)
* Regelmässige Wartung (Datenbank packen und Backup-Strategien)
Statistik mit AWStats und plone-spezifische Auswertungen
Versionsverwaltung und Releases auf öffentlichen und privaten Egg-Servern (und deren Betrieb)
* Verteilte Entwicklung mittels einheitlich generierter Beispielinhalte
* Strategie für Cronjobs und Logrotate für ein optimales Zusammenspiel der einzelnen Komponenten
Dabei werden nicht nur die verwendeten Pakete/Rezepte vorgestellt, sondern alle Teile zu einem funktionsfähigen Ganzen zusammengesetzt auf dessen Basis ein neues Projekt gestartet werden kann.
6. DAS SCM PROBLEM
x Module * y Versionen
$ bin/buildout [N]
Error: There is a version conflict.
We already have: zope.component 3.5.1
but zope.browserresource 3.12.0 requires
'zope.component>=3.8.0'.
ENTWICKLUNG > KONFIG. MANAGEMENT
13. Private Egg Server
●
Plone Software Center
●
Apache/Nginx
●
lovely.buildouthttp für Authentifizierung
●
Mehr unter [1]
ENTWICKLUNG > KONFIG. MANAGEMENT > EGG RELEASES
21. VARNISH VERSTEHEN
doc/caching.txt
$ parts/varnishbuild/bin/varnishlog c o RxURL '^/themen$'
| grep E "RxRequest|RxURL|TxStatus|TxResponse|XVarnishAction"
12 RxRequest c GET
12 RxURL c /themen
12 TxStatus c 200
12 TxResponse c OK
12 RxRequest c GET
12 RxURL c /themen
12 TxStatus c 304
12 TxResponse c Not Modified
PRODUKTIVEINSATZ > PERFORMANCE > VARNISH
25. SEO – DUPLICATE CONTENT
noindex, nofollow
server {
server_name cms.mydomain.com;
# do not index or follow content of this domain
proxy_set_header XRobotsTag 'none';
...
PRODUKTIVEINSATZ > PERFORMANCE > NGINX