Seite wählen

NETWAYS Blog

PHP – beschleunigt!

Wer kennt sie nicht – langsame PHP Seiten. Obwohl mittlerweile Speicher und Rechenleistung keine Rolle mehr spielen kommen manche PHP Applikationen nicht richtig in die Gänge.
Hier könnte der Zend Community Edition Server abhilfe schaffen. Ein kompilierter Apache mit einem Satz ausgewählter Module und ein aktuelles PHP5 bieten eine robuste Basis für die Auslieferung. Der Zend CE Server ist kostenfrei und kann auf der Herstellerseite von Zent heruntergeladen werden.
Im Hintergrund werkeln ein Apache2 für PHP und ein lighttpd für ein Admininterface welches komfortable Einstellungen in PHP erlaubt. Weiterhin ist der Zend Optimizer+ integriert, ein PHP Opcode- und Pagecacher welcher die Seite ziemlich fix generiert.
Auf Distributionen, welche keine aktuelle PHP Version bereitstellen, kann das Packet eine eigenständige Laufzeitumgebung für PHP Anwendungen bieten ohne sich zu tief ins System zu verwurzeln.
Die Installation geht schnell von statten. Man brauch nur den Installer Zend und schon gehts los:

root@rt:/usr/local/src# ls
ZendServer-5.0.3_Tarball_B3-php5.3.3-linux-glibc23-x86_64
ZendServer-CE-php-5.3.3-5.0.3-linux-glibc23-x86_64.tar.gz
root@rt:/usr/local/src# cd \
ZendServer-5.0.3_Tarball_B3-php5.3.3-linux-glibc23-x86_64/
root@rt:/usr/local/src/ZendServer-5.0.3_[...]# bash install.sh
Welcome to Zend Server installation script!
Please specify an installation path [/usr/local]:
[...]

Leider verursachen die Installierten neuen Bibliotheken Probleme, der Ursprungszustand ist schnell wiederhergestellt:

root@rt:~# rm -f /etc/ld.so.conf.d/zend_server.conf
root@rt:~# rm -f /usr/local/zend/lib/libcrypto.so.0.9.8
root@rt:~# /etc/init.d/ssh restart

Gesteuert werden die Dienste mit einem eigenen Script:

root@rt:~# /usr/local/zend/bin/zendctl.sh -h

Danach ist der Server einsatzbereit. Konfiguration und Wartung gestalten sich Apache üblich. Alle wichtigen Konfigurationen befinden sich unter /usr/local/zend (Standardinstallation).



Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

Puppet: Server-Management ganz nach Rezept

Mit der Serverlandschaft wächst auch der damit verbundene Verwaltungsaufwand. Konfigurationsmanagement soll helfen ihn zu reduzieren. Hierzu bietet Puppet einen modernen und flexiblen Ansatz. Über genau dieses Thema hat Thomas Gelf nun einen Artikel im neuen Admin Magazin 06/2010 des Linux Magazins veröffentlicht.
Konfigurationsverwaltung wurde in den letzten Jahren auch im OpenSource-Umfeld wieder ein großes Thema. Das unter der GPL lizenzierte und hauptsächlich von Luke Kanies geschriebene Puppet dürfte wohl jenes Tool sein, welches in diesem Bereich gegenwärtig am meisten von sich reden macht. Grundsätzlich gilt, dass so ein Tool nur dann eine echte Ersparnis bedeutet, wenn man wirklich mit ausufernden Administrationskosten zu kämpfen und eine ziemlich große Server-Landschaft mit zudem auch noch recht ähnlichen Servern zu pflegen hat. Geradezu prädestiniert ist eine solche Lösung also für Anbieter von Clouddiensten. Nichtsdestotrotz kann Puppet aber dennoch vor allem auf längere Sicht auch für kleinere Umgebungen lohnend sein. Im Gegensatz zu anderen Tools aus dieser Familie hebt sich Puppet vor allem dadurch hervor, dass es grundsätzlich unabhängig vom Betriebssystem eingesetzt werden kann.
Puppet läuft mittlerweile unter fast allen gängigen Linux-Distributionen und fühlt sich auch unter Solaris, einigen BSDs sowie unter OS-X durchaus wohl. Zudem ist seit Version 2.6 erstmals eine rudimentäre Windows-Unterstützung verfügbar. Passende Rezepte setzen die gewünschte Konfiguration auf dem jeweiligen System um. Puppet besteht genaugenommen aus einer deklarativen Sprache, also einer Bibliothek mit welcher die gewünschte Konfiguration realisiert werden kann, sowie Client- und Server-Komponenten zur Verteilung derselben. Die Abhängigkeiten zwischen den zu konfigurierenden Komponenten stellt Puppet in den Vordergrund – und verschiebt die Details zur Konfiguration in die tieferen Schichten seines Modells. Man kann Puppet somit als Abstraktionsschicht zwischen dem Administrator und seinen Systemen betrachten. Den ganzen Artikel mit ausführlicher Beschreibung der Architektur, Hostnamen, Ressourcen und Stored Configurations finden Sie jetzt im Admin Magazin Ausgabe 06/2010.
Viel Spaß beim Lesen & Ausprobieren!
Abbildung unten rechts: Dashboard, welches den grafischen Verlauf der Puppet-Durchläufe für das Beispielszenario anzeigt

Jasper Reporting – Distribution

Jasper-ReportingDer vorerst letzte Teil unserer Jasper Serie widmet sich der automatischen Erzeugung und Versendung von Berichten mit Hilfe des JasperServers.  Die Konfiguration des Schedulers erfolgt über das Webinterface und erlaubt neben der Speicherung von bestimmten Reportparametern auch die Speicherung der versendeten Berichte auf dem Server.
Reports auf Basis von beweglichen Daten, wie in unserem Beispiel die NDO, sollten ergänzend zur Versendung besser gespeichert werden, da der entsprechende Bericht ja nicht wiederherstellbar ist!
Bevor die erzeugten Berichte versendet werden können, muss noch die SMTP-Konfiguration des integrierten Quartz-Schedulers erfolgen. Hierfür werden SMTP-Server und ggf. User und Passwort in der Datei js.quartz.properties angepasst. Die Datei befindet sich im Verzeichnis /apache-tomcat/webapps/jasperserver.
Ein Beispiel:
[code lang=“java“]
report.scheduler.mail.sender.host=localhost
report.scheduler.mail.sender.username=
report.scheduler.mail.sender.password=
report.scheduler.mail.sender.from=jasper@netways.org
report.scheduler.mail.sender.protocol=smtp
report.scheduler.mail.sender.port=25
[/code]
Nach Neustart des Servers sind die Einstellungen aktiv und mögliche Probleme sind im Logfile des Tomcat-Servers (/apache-tomcat/logs) zu sehen.
post14_screen1Das Webinterface ermöglicht über die entsprechende Schaltfläche die Anlage von Jobs, nachdem ein entsprechender Report ausgewählt wurde.
Im ersten Übersichtsfenster erfolgt die Einstellung der Ausführungszeit und bei Aktivierung der „Calendar Recurrence“-Box wird eine Vielzahl von weiteren Optionen zur zeitgesteuerten Ausführung angezeigt.
post14_screen2post14_screen3Verfügt der gewählte Report über Parameter, so können die entsprechenden Einstellungen im nächsten Übersichtsfenster gesetzt werden. So kann ein Bericht unter Anlage verschiedener Jobs und Definition der Parameter für verschiedene Kunden erstellt und personalisiert zugestellt werden.
post14_screen4Der Bereich Output dient der Vorauswahl der erzeugten Formate und ggf. Lokation für verschiedene Sprachen sowie Angebe des Server-Ordners der zur Speicherung der Berichte verwendet werden soll. Ergänzend kann hier noch der Emailtext für den Empfänger eingegeben werden.
post14_screen5Sobald die Einstellungen gespeichert worden sind, zeigt ein kleines Uhrensymbol neben dem Bericht den entsprechenden Job an. Bevor der Bericht automatisiert an den Kunden versendet wird, empfiehlt sich eine Testphase auf ein eigenes Mailkonto und manueller Weiterleitung der Reports. Gerade am Anfang können Kleinigkeiten für einen unschönen Seitumbruch oder eine Fehlselektion der Daten verantwortlich sein.
Im nächsten Blog-Post werde ich die vergangenen Artikel nochmals zusammenfassen und ggf. auf Frage eingehen, die uns bis dahin erreicht haben und in den Kommentaren unbeantwortet geblieben sind.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.