Sie sind auf Seite 1von 108

250. AUSGABE

250. AUSGABE DIE ZEITSCHRIFT FÜR LINUX-PROFESSIONALS Alternative VPNs mit Peer-to-Peer-Chic Tinc, Freelan, Ipop und Zero

DIE ZEITSCHRIFT FÜR LINUX-PROFESSIONALS

250. AUSGABE DIE ZEITSCHRIFT FÜR LINUX-PROFESSIONALS Alternative VPNs mit Peer-to-Peer-Chic Tinc, Freelan, Ipop und Zero
250. AUSGABE DIE ZEITSCHRIFT FÜR LINUX-PROFESSIONALS Alternative VPNs mit Peer-to-Peer-Chic Tinc, Freelan, Ipop und Zero

Alternative VPNs mit Peer-to-Peer-Chic

Tinc, Freelan, Ipop und Zero Tier bauen Overlay-Verbindungen und Tunnel auf S. 44

Groupware

Mit Elan und Venture Capital:

Freie Davids kämpfen gegen Exchange und Notes S. 58

Mozilla Rust 1.0

Statisch getypte Sprache, die Wert auf Schnelligkeit und Sicherheit legt S. 84

Apache-Land

Eine fesselnde Exkursion ins ausgedehnte Reich der Apache Software Foundation

Erfolg ohne Büros: Das Geheimnis der Apachen S. 18

Hadoop 2 und Apache Spark S. 22

Apache Aurora steuert Infrastrukturdienste S. 26

Jmeter: Konkurrenzarmer Spezialist für Lasttests S. 30

Tuning-Guide für den Apache Webserver S. 36

Clouds in der Wüste: Open-Stack- Projekt schickt „Sahara“ vor S. 66

Zentral konfigurieren:

Was Etcd, Consul und Zookeeper taugen S. 72

Perl-Autor Mike Schilli verheddert sich fast in einer vermeintlich trivialen Mathe-Aufgabe S. 92 Deutschland
Perl-Autor Mike Schilli verheddert sich fast in einer vermeintlich trivialen Mathe-Aufgabe
S. 92
Deutschland
Österreich
Schweiz
Benelux
Spanien
Italien
www.linux-magazin.de
4 6,40
4 7,05
sfr 12,80
4 7,50
4 8,30
4 8,30
4
192587
306401
0 8

08/2015

Editorial

Login

Voll vernetzt

www.linux-magazin.de
www.linux-magazin.de

Jan Kleinert, Chefredakteur

Internet der Dinge, IoT, ist der Megatrend: Toaster mit IPv6-Adresse, oder die Lichtfarbe zu Hause in Buxtehude justieren, während man selbst in Usbekistan an der Bar eines Mittelklasse-Hotels hockt – der Stromversorger erfährt natürlich auch davon. Alles Nonsens für Technikfreaks? Von wegen: Auf einer Privatjacht im schönen Monte Carlo am Vorabend des Großen Preises von Monaco hatte ge- rade die erste vernetzte Champagnerflasche ihren ersten Auftritt. Hersteller des Behältnisses ist Maison Mumm. Die Pressemitteilung verspricht: „Die vernetzte Magnum ist eine Innovation für noch mehr Feierspaß.“

Kein Wunder, denn in dem Moment, indem der Korken von der vernetzten Flasche springt, „stellt ein Sensor eine Verbindung zu einem Empfänger im Audio- und Vi- deosystem des Austragsungsortes her und lässt ein interaktives Ton- und Bilder- lebnis aus, das von jedem Luxus-Nachtclub, der dieses Angebot nutzt, persönlich

angepasst werden kann.“ Solch gediegene Transparenz der oberen Zehntausend wünscht sich der schnöde Biertrinker schon lange. Da aber die Innovationen der Formel 1 ein paar Jahre später auch die Kompaktklasse erreichen, sind für normalverdienende Smart-Homiker Hopfen und Malz nicht verloren.

3

Den neuesten Transparenztrend stößt, ja: richtig gelesen, der Bauernverband von Mecklenburg-Vorpommern an. In Sachen Urbanität etwas peripher positioniert, betritt er mit Gummistiefeln mediales Neuland, indem er aus einem Saustall Livebilder via Satellit ins Internet überträgt. „Schweine-TV“ heißt das Format ungewollt vieldeutig. Welche fette Sau am Ende die Big Brother Show gewinnt, kann niemand wissen. Der bauernschlaue Verband aber darf sich als Erfinder eines hippen Drei-Buchstaben-Trends fühlen: IoA, Internet of Animals.

Technisch und rechtlich ungleich schwerer tut sich der Trend Internet of People (IoP), auch bekannt als anlass- lose Vorratsdatenspeicherung. Vor Jahren vor zwei obersten Gerichten krachend gescheitert, unternimmt die deutsche Große Koalition einen neuen Versuch, sie gegen den Widerstand von Bürgerrechtlern, Datenschützern und der Internetwirtschaft wieder in Kraft zu setzen (siehe Artikel ab Seite 78). IoP loggt die Aktivitäten aller Bürger der Informationsgesellschaft 24x7. Das hilft zwar nachweislich nicht gegen Terroristen, die anfallenden Daten lassen sich aber sicher nutzbringend auf andere Weise verwerten.

IoT, IoA, IoP: Ob es urologisch oder gesellschaftlich vorteilhaft ist, wenn beim Öffnen einer jeden Bierflasche deren Kronkorken einen Raspberry Pi dazu veranlasst, die zum Gerstensaft passende Pinkellichtfarbe im Klo anzumischen, muss sich genauso erst erweisen, wie für ein Bauern-TV-überwachtes Ferkel, das statt einer Fernsehkarriere lieber draußen die Sau rauslassen würde. Und ob der voll vorratsdatengespeicherte Bürger die versprochene Freiheit vor Verbrechern als so genussvoll erleben wird?

Ob überwachten Toaster, ob TV-Schwein wider Willen oder ob der rund um die Uhr abgenuckelte Bürger: Struk- turell interessanter als die Überwachten in der schönen IoX-Welt sind die Überwacher: Eventsüchtige Alkohol- konsumenten, Männer, die auf Schweine starren, und Polizisten, die in Suchmasken bevorzugt »alle« eintippen.

Bleibt am Ende die Frage, ob sich das Stalking stoppen lässt. Schwierig, denn: Mumm muss man haben. Schwein muss man haben. Internet und Telefon muss man haben. Biertrinker könnten ihrem Hobby in einem faradayschen Käfig frönen, der Korkensensoren ihren Plopp-Botschafter-Status entzieht. Die recht intelligenten Schweine werden wohl die Stall-Webcam durch geschickt geworfene Exkremente blind machen. Dem dauerverpetzten IoP-Bürger bleibt allein die Flucht in die Wahlkabine – solange die keiner zum Internet of Vote (IoV) umrüstet.

IoP-Bürger bleibt allein die Flucht in die Wahlkabine – solange die keiner zum Internet of Vote

08/2015

Inhalt

08/2015www.linux-magazin.de

4

0 8 / 2 0 1 5 Inhalt 08/2015 www.linux-magazin.de 4   AktuellAktuell 6 News n
 

AktuellAktuell

6

News n   Kernel   4.1   mit   Langzeit-Support n   Apple  gibt   Swift  frei n   Tine   2.0   Groupware n   Enterprise-Harddisk   mit   10   TByte n   Videokonferenzen  per   Firefox n   The  Machine   von   HP   mit   Linux

Das   zweite  Ubuntu   Phone n   Wayland  und   Weston   1.8 n   Kubuntu-Chef  beurlaubt

n

und   Weston   1.8 n   Kubuntu-Chef  beurlaubt n Die von HP als revolutionär vorgestellte

Die von HP als revolutionär vorgestellte Hard- ware The Machine läuft auf Linux.

12

Zahlen & Trends

Visionen  für  Open   Stack n   Unsichere  Smar t   Homes n   20  Jahre  Java n   Dropbox  mit   Sicherheitszertifikat n   Gimp  streitet  mit   Sourceforge n   Ubucon  sucht   Vorträge

n

Mozilla  erhöht  Kopfgeld  für   Bugs n   Trends  in   Rechenzentren

n

für   Bugs n   Trends  in   Rechenzentren n Mark Collier, COO der Open Stack

Mark Collier, COO der Open Stack Foundation, erläuterte seine Vision für Open Stack.

Die Apache Software Foundation liegt nicht faul auf der gegerbten Tierhaut, sondern fördert nach Kräften eine florierende Community aus großen und kleinen Projekten. Der Schwerpunkt unternimmt eine organisierte Reise in das großflächige Apache-Reservat, gibt einen stammes- geschichtlichen Überblick und porträtiert besonders interessante Softwarefamilien.

 

Titelthema: Apache-Land

 

18

Apache Software Foundation Hunderte   von   Projekten   stecken   unter   dem   Dach  der   Apache   Software   Foundation.   Trotzdem   bricht   kein   Chaos   aus.   Wie   machen   die   das?

kein   Chaos   aus.   Wie   machen   die   das? Die Apache Software

Die Apache Software Foundation brütet pro Monat rund zwei neue Projekte aus.

26

 

Titel

Apache Aurora Im   Rechenzentrum   verteilt   Aurora   die  wichtigsten  Dienste.   Gelernt   hat   das   Mesos-Framework   bei   Twitter.

  hat   das   Mesos-Framework   bei   Twitter. Wie Mesos ist auch Aurora ein

Wie Mesos ist auch Aurora ein Projekt unter dem Dach der Apache Software Foundation.

22

Hadoop 2 und Apache Spark Wer   im   Datenmeer   fischen   geht,   sollte   besser   einen   ordentlichen   Trawler   im   Schlepptau  haben.   Hadoop   2   und   Apache   Spark   scheinen  für   den   Job   geeignet.

30

Jmeter Vorbelastet:   Das  freie   Jmeter   ist   ein   fast   konkurrenzloses   Tool   für   Lasttests.  

34

Apache-Server optimieren Aus   dem   bewährten  Apache-Webserver   lässt   sich   mehr   Performance  rausholen.

  lässt   sich   mehr   Performance  rausholen. Zwei Apache-Projekte liefern die Ausrüstung Intelligent
  lässt   sich   mehr   Performance  rausholen. Zwei Apache-Projekte liefern die Ausrüstung Intelligent

Zwei Apache-Projekte liefern die Ausrüstung

Intelligent eingesetzte Direktiven machen den HTTP-Server von Apache pfeilschnell.

für die Big-Data-Flotte.

DELUG-DVD

Fedora 22

Das Original: Offizielle ISO-Files der Workstation- und die Atomic- Host-Version für 64-Bit-RechnerDELUG-DVD Fedora 22 Raspi-Buch Vollständiges Franzis-E-Book: „Linux mit Raspberry Pi“ (über 300 Seiten aus der

Raspi-Buch

Vollständiges Franzis-E-Book:und die Atomic- Host-Version für 64-Bit-Rechner Raspi-Buch „Linux mit Raspberry Pi“ (über 300 Seiten aus der

„Linux mit Raspberry Pi“ (über 300 Seiten aus der Praxis)

Details zu DVD- Inhalten auf S. 41mit Raspberry Pi“ (über 300 Seiten aus der Praxis) Remnux 6.0 Ubuntu-14.04-basierte vir tuelle

Remnux 6.0

Ubuntu-14.04-basierte vir tuelle Security-Appliance, die beispiels- weise hilft, Malware zu analysierender Praxis) Details zu DVD- Inhalten auf S. 41 Remnux 6.0 Grazer Linuxtage Die DVD-Seite A

Grazer Linuxtage

Die DVD-Seite A ist randvoll mit Vortragsvideos zu angesagten Admin- und ProgrammierthemenUbuntu-14.04-basierte vir tuelle Security-Appliance, die beispiels- weise hilft, Malware zu analysieren Grazer Linuxtage

08/2015

Inhalt

www.linux-magazin.de

0 8 / 2 0 1 5 Inhalt www.linux-magazin.de 42 Thermisch gesichert Die neue Version der
0 8 / 2 0 1 5 Inhalt www.linux-magazin.de 42 Thermisch gesichert Die neue Version der

42

Thermisch gesichert Die neue Version der schlanken Firewall-Distribution IP-Fire filtert un- ter anderem den Netzwerkverkehr auf Basis geografischer Daten.

 

Software

41 Einführung DELUG-DVD:  IP-Fire,  Fedora,   Raspi-E-Book

42

IP-Fire Die  aktuelle   Variante   von   IP-Fire   steuert   der   Admin   per   Weboberfläche   und   filtert   Traffic   auf   Basis   von   Geodaten.

44

Bitparade Die  beliebten   VPN-Tunnel  lassen  sich   auch   im   Peer-to-Peer-Verfahren   graben.   Vier  P2P-VPN-Lösungen   im   Vergleich.  

sich   auch   im   Peer-to-Peer-Verfahren   graben.   Vier  P2P-VPN-Lösungen   im   Vergleich.

Titel

Tunnelblick: VPN-Tools finden neue Wege.

50

Libre Office auf Android Eine  neue   App   zeigt   Libre-Office- Dokumente   auf   Smar tphones   an.  

52

Tooltipps Im  Kurztest:  Devices  in  LAN  0.4,  Gxme  s- sage  3.4.3,  Site  Monitoring  2.1.6,  Bleachbit  1.6,  Fehashmac  1.4.2,  SSH  G uard   1 .5  

1.6,  Fehashmac  1.4.2,  SSH  G uard   1 .5   Bleachbit will Rechner von überflüssigen Da-

Bleachbit will Rechner von überflüssigen Da- ten befreien, darunter Temp-Files.

58

Auf und ab Freie Groupware kann zwar auf schöne Erfolge verweisen, gerät aber auch immer wieder in die Opferrolle – meist wegen externer Finanzierungen.

 

Sysadmin

57

Einführung Mit   dem   TLS   Interposer   hält   Charly  die   Open-SSL-Bibliotheken  im   Schach. 

58

Freie Groupware Die  bisherigen  Entwicklungen  auf  dem   Feld  der  Groupware   für   Linux  beleuchtet   dieser   Ar tikel  kritisch.

Titel

66

Titel

 

Open Stack Sahara Die  Komponente   will,   dass  sich   Open  Stack  und   Hadoop   besser   verstehen.

Stack Sahara Die  Komponente   will,   dass  sich   Open  Stack  und   Hadoop  

Über das Dashboard lassen sich in Sahara Templates für einen Hadoop-Cluster bauen.

72

Konfigurations-Management Etcd,   Consul   und   Zookeeper   verspre- chen,   ganze   Flotten   von   VMs  automati- siert   zu   konfigurieren.   Klappt   das?

Titel

 

Forum

78

Recht Gesetzesentwurf   der   Regierung   zur  Vorratsdatenspeicherung.

80

Bücher Nachlese:   Bücher   über   Angular   JS   und   den   Raspberry   Pi.

80 Bücher Nachlese:   Bücher   über   Angular   JS   und   den  

82

Leserbriefe Auf  den   Punkt   gebracht.

84 Boxenstopp Ob sich Rust nach dem Release der Version 1.0 gegen C und C++
84 Boxenstopp
Ob sich Rust nach dem Release der
Version 1.0 gegen C und C++ behaupten
kann, hängt auch davon ab, ob die
Sprache mit ihren Features punktet.
Programmieren
84
Titel
Mozillas Rust
Wer   Alternativen   zu  C  und   C++   sucht, 
sollte   einen   Blick   auf  Rust   1.0   werfen.
88
C++11 — Folge 23
Modernes   C++  in  der   Praxis:   Variadic 
Templates  punkten  gleich  mehrfach.
Parameter Packs nehmen keines bis beliebig
viele Argumente auf.
92
Perl-Snapshot
Manche   auf  den  ersten   Blick   einfach  
erscheinenden  Mathematik-Probleme  
löst   der  Perl-Benutzer   am   Ende   nur   mit 
der  Hilfe   von  Skripten.  
Mehrere MOLS lassen sich in lauter eindeuti-
gen Kombinationen zusammenfassen.

08/2015

5

 

Service

3 Editorial

98

IT-Profimarkt

99

Stellenanzeigen

104

Veranstaltungen

104

Inserenten

105

Impressum

106

Vorschau

08/2015

Aktuell

Newswww.linux-magazin.de

News

6

Weltweit erste 10-TByte-Platte

HGST, ein Unternehmen von Western Digital, kündigte die erste Festplatte der Enterprise- Klasse mit 10 Terabyte Volu- men für Archivierungsanwen- dungen an. Die Host-verwal- tete SMR-Festplatte Ultrastar Archive Ha setzt neue Maß- stäbe, indem sie für Server- und Speicher-Anwendungen die zurzeit höchstmöglichen Speicherdichten bei zugleich moderaten Betriebskosten er- laubt. Das Produkt ist das Ergebnis der Kombination zweier Tech- nologien, die sich gegenseitig

ergänzen: Es basiert zum ei- nen auf der zweiten Generati- on von HGSTs praxiserprobter Helio-Seal-Plattform und zum anderen auf der Shingled-Ma- gnetic-Recording-Technologie (SMR). Das erreicht eine hohe Speicherdichte und Energie- Effizienz ohne Abstriche bei der Verlässlichkeit. Die große Platte eignet sich für Anwendungen, bei denen Daten sequenziell geschrie- ben und zufällig gelesen wer- den müssen. Das ist zum Bei- spiel bei sozialen Medien, in Cloudspeichern, Online-Back-

© HGST
© HGST

Shingled: Überlappende Datenspuren nach dem Dachschindelprinzip.

up-Lösungen, Anwendungen der Life Sciences und auch

in der Medien- und Unterhal- tungsbranche der Fall. HGST sieht SMR als eine der wesentlichen Technologien zur künftigen Realisierung hö- herer Speicherdichten. Indem man die Datenspuren über- lappend oder in schindelar- tiger Anordnung aufeinander platziert, lassen sich mehr Daten auf gleichem Raum un- terbringen. Das sequenzielle Schreibverhalten der Host- verwalteten SMR-Festplatte ist auf die Arbeitsbelastung bei der aktiven Archivierung abgestimmt.

n

Apple will Swift freigeben

Apple will noch im Laufe des Jahres den Quellcode für sei- ne relativ junge Programmier- sprache Swift freigeben. Der Code soll dann unter einer von der OSI unterstützten Li- zenz stehen, Apple will auch einen Port für Linux entwi- ckeln. Angekündigt hat Apple den Schritt auf der hauseige- nen Worldwide Developers Conference (WWDC) Anfang Juni in San Francisco. Beob- achter werten ihn als Reaktion auf Microsofts Open-Source- Strategie: Der Redmonder Konzern hatte den Dotnet- Core unter die MIT-Lizenz gestellt. Swift ist objektorientiert und nutzt LLVM als Compiler. Dessen Hauptentwickler Chris

Lattner arbeitet inzwischen für Apple und ist zugleich Chefentwickler von Swift. Zu- sammen mit Swift will Apple den Compiler und die Stan- dardbibliotheken öffnen. Laut zugehörigem Blogein- trag, in dem Apple auch schon die Version 2.0 von Swift an- kündigt, verspricht sich der Milliarden-Konzern von dem Schritt nicht nur, dass die Entwickler mit Swift platt- formübergreifend arbeiten, sondern man will auch Code- beiträge von der Community akzeptieren. Swift greift auch die Ideen einige anderer Programmier- sprachen auf und kennt unter anderem Klassen, Vererbung und Namensräume. n

Arduino Yun Mini – kleineres Board

Die Produzenten des Arduino- Boards, die Arduino S.R.L, ha- ben im Mai bei der „Maker Faire Bay Area“ mit dem Yun Mini ein kleineres und um einige Features abgespecktes Board mit Open WRT in Form von Linino-Linux gezeigt. Die bisher gemeinsam arbeiten- den Teams des Arduino-Ha- cker-Projekts und die für die Hardware zuständige Arduino S.R.L haben sich inzwischen zerstritten und gehen getrenn- te Wege. Ungeachtet dessen hat Ardui- no S.R.L weiterentwickelt. Die neue kleinere Version ist eben- falls mit einem Qualcomm- MIPS24k-basierten Atheros AR9331 SoC bestückt. Ein At- mel-AT-Mega-32U4-Chip dient

als Microcontroller. Das Yun Mini bringt 64 MByte DDR2- RAM und 16 MByte Flashspei- cher mit, 6 MByte belegt das Linino-Linux. Mit 71 mal 23 Millimetern ist das Board deutlich schmaler als der Vorgänger (73 mal 53) und wiegt mit 16 Gramm nur etwa die Hälfte. Die Ver- schlankung geht aber mit dem Entfallen des Ethernet-Ports, des USB-Host-Ports und des Micro-SD-Slots einher. Wer die Ports braucht, kann sie sich über die optionale Acces- soire-Liste nachrüsten. WLAN ist an Bord, ein Micro-USB- Port ebenfalls, die Zahl der Ein- und Ausgabe-Pins ist auf 22 gestiegen. Yun Mini soll rund 60 US-Dollar kosten. n

© BQ

Richard Stallman in Frankfurt

GNU-Initiator Richard Stall- man wird am 8. und 9. Juli Vorträge in Frankfurt halten. Eingeladen haben den Grün- der und Präsidenten der Free Software Foundation das Frankfurt Free Software and Culture Institute e.V., die Ge- sellschaft für Informatik e.V., das Institut für Informatik der Johann Wolfgang Goethe Universität und das Gallus Theater. Im Gallus Theater wird Richard Stallman am

8. Juli seinen ersten Vortrag zum Thema „Free Software and Your Freedom“ halten. Beginn ist um 19 Uhr, der Eintritt zu beiden Veranstal- tungen ist frei. Am 9. Juli spricht Stallman ab 18.00 Uhr im Casino-Festsaal auf dem Uni-Frankfurt-Cam- pus Westend. „Copyright vs. Community“ ist bei diesem Vortrag das Thema. Auf der Webseite [http://​​ffsci.​​de] gibt es weitere Informationen. n

Neues Ubuntu Phone: BQ Aquaris E5

Das Ubuntu-Team meldet Zuwachs in der Gerätefa- milie, die Ubuntu Touch als Betriebssystem nutzt. Das Aquaris E5 des spanischen Herstellers BQ sei für den eu- ropäischen Markt verfügbar. BQ zeichnet auch schon für das Aquaris 4.5 verantwort- lich, das im Linux-Magazin 5/2015 getestet wurde. Rund 200 Euro sind für das Smartphone aufgerufen. Da- für erhält man ein Gerät mit

1,3-GHz-Quadcore-Prozessor,

1 GByte RAM und 16 GByte Speicherplatz. Ein Micro-

SD-Slot nimmt zusätzlich Kärtchen bis zu 32 GByte als Speichererweiterung auf. Das Display (IPS) misst 5 Zoll und löst in HD mit 720 mal 1280 Pixeln auf. Zwei Kameras sind verbaut, eine mit 5 Megapixel vorne, die Hauptkamera mit 13 Megapixel auf der Rücksei- te, Autofokus und Dual-Blitz inklusive. Das E5 beherrscht 3G, Blue- tooth 4.0 HS, WLAN und GPS. LTE unterstützt es dagegen nicht. Das Handy misst 71 mal 142 mal 9 Millimeter und wiegt 134 Gramm. n

nicht. Das Handy misst 71 mal 142 mal 9 Millimeter und wiegt 134 Gramm. n Das

Das BQ Aquaris E5 kommt im schwarzen Gehäuse.

nicht. Das Handy misst 71 mal 142 mal 9 Millimeter und wiegt 134 Gramm. n Das

08/2015

Aktuell

Newswww.linux-magazin.de

© HP Grommet

8

HP gibt UI-Designtool frei

Während einer Keynote auf der HP Discover 2015 An- fang Juni in Las Vegas stellte

der Chief Technology Officer Martin Fink das von HP ent- wickelte Grommet vor, ein Open-Source-Werkzeug für User-Experience-Design. Das Tool vereint ein Framework für das Design von User-Inter- faces mit einem Style Guide. Mit Grommet sollen sich ein- heitliche und an beliebige Vorgaben der Corporate Iden- tity anpassbare Benutzerober-

flächen bauen lassen, die auf verschiedenen Plattformen funktionieren können.

Um ein einheitliches Look & Feel zu gewährleisten, lassen sich etwa Logos, Schriftarten

Feel zu gewährleisten, lassen sich etwa Logos, Schriftarten Beispiel für ein Grommet-basiertes User-Interface, hier als

Beispiel für ein Grommet-basiertes User-Interface, hier als Dashboard gestaltet.

und Farbpaletten vorgeben. Für diverse Arten von Ober- flächen sowie für unterschied- liche Elemente wie Charts, Formulare oder Tabellen exis- tieren Vorlagen. Das Tool soll auch Designer und Entwick- ler zusammenbringen. Grommet basiert auf React JS, einem Feature-reichen Ja- vascript-Tool zur Gestaltung von Oberflächen. Daneben benutzt es auch die Tools Inuitcss und Sass zum Kom- pilieren von Stylesheets. n

Tine-Groupware 2.0 als Hardware-Appliance

Die freie Groupware Tine wird von den Tine-Machern als Hardware-Appliance angebo- ten. Die Appliance mit dem Groupware-Server der Tine 2.0 Business Edition kann bis

zu 25 Benutzer verwalten und kommt in dieser Version ohne Lüfter, also auch ohne stören- de Geräusche aus. 4 GByte Arbeitsspeicher und eine AMD-CPU mit 1 GHz

sind verbaut. Das Gerät misst 168 mal 157 mal 30 Millime- ter. Der Anbieter Metaways verspricht, dass Anpassun- gen bestehender E-Mail-In- frastrukturen nicht erforder-

lich sind und sich Mailserver und bei Providern liegende IMAP-Postfächer problemlos weiterhin nutzen lassen. Das Tine-Bundle kostet rund 1900 Euro.

n

Videokonferenzen mit Firefox und Jitsi

Dank der Jitsi Videobridge soll es ab Firefox 40 möglich sein, Videokonferenzen direkt über den Browser zu führen – auch mit Nutzern ande- rer Browser. Dafür benötigte Firefox Multistream-Support und das Jitsi-Projekt musste die Videobridge anpassen. Ein Blogeintrag [https://hacks.

videobridge/] rekapituliert das Vorgehen. Die Schwierigkeit für die Ent- wickler bestand laut Blog- eintrag darin, einen Inter- operabilitäts-Layer einzubau- en, damit Web-RTC-basierte Videokonferenzen sowohl in

Chrome als auch in Firefox funktionieren. Chrome unter- stützt den von der IETF als Standard angepeilten Unified Plan (noch) nicht, sondern stattdessen den konkurrie- renden Entwurf Plan B, der allerdings bei der IETF aus dem Rennen ist. Auch Jitsi setzte bislang auf Plan B, weil es sich anfangs auf die Chrome-Kompatibili- tät konzentrierte – Firefox be- herrschte lange keinen Mul- tistream. Eine Abstraktion in den Plan-B-Code einzuführen misslang aus verschiedenen, im Blog referierten Gründen. Die letztendliche Lösung lau- tet »sdp-interop«.

Das Session Description Pro- tocol (SDP) ist in der Lage, je nach Browser Unified Plan oder Plan B auszuliefern. »sdp-interop« ist dabei ein wiederverwendbares NPM- Modul, das die beiden Metho- den »toUnifiedPlan(sdp)« und »toPlanB(sdp)« anbietet. Im weiteren Verlauf des Blogein- trags zeigen die Entwickler dann Implementierungsde- tails und erklären, wie »sdp- interop« funktioniert. Auch weitere Hindernisse auf dem Weg zur Kompati- bilität spart der Blogeintrag nicht aus, seien es Fehler in der DTLS-Versionsfeststellung von Firefox oder Decoder-

Probleme in der Jitsi Videob- ridge. Sicherlich eine interes- sante Lektüre für angehende Entwickler. Was noch in der Implementie- rung fehle, sei der Simulcast- Support. Jitsi vertraue dabei auf Mediastream Construc- tors, die Firefox aber nicht unterstützt. Das Jitsi-Team arbeite an einem alternativen Ansatz, der auf die Media- stream Constructors verzich- te. Auch Desktop-Sharing ist für Firefox-User noch nicht möglich, sei aber in Arbeit. Wer den Videokonferenz-Sup- port testen möchte, greift zur Firefox Developer Edition 40 oder zu Firefox Nightly 41. n

08/2015

Aktuell

www.linux-magazin.de

© HP Labs

Revolutionäre Rechner laufen unter Linux

Bei der HP Discover in Las Vegas gab Hewlett-Packard Einblicke in den Stand der Entwicklung seines zukunft- weisenden Rechnerkonzepts „The Machine“. Mit dem Kon- zept will der Konzern die sich abzeichnenden Beschränkun- gen für den weiteren Zuwachs an Rechenleistung herkömm- licher Architekturen überwin- den. Zurzeit befindet sich das Projekt in einer frühen Ent- wicklungsphase: In einem Jahr soll es einen funktionie- renden Prototyp geben, Ende des Jahrzehnts die Serienferti- gung beginnen. Im Unterschied zu heutigen IT-Architekturen steht bei The Machine der Speicher im Mittelpunkt. Künftig wird es sich dabei um nicht-flüchti- gen Speicher (non-volatile Memory) handeln, der in der Prototyp-Phase noch durch DRAMs simuliert wird, später aber aus Phase-Change Me- mory (PCM) und danach aus

später aber aus Phase-Change Me- mory (PCM) und danach aus Detail des Prototyps von The Machine

Detail des Prototyps von The Machine im HP Lab.

Memristors bestehen soll. Um den Speicher herum gruppie- ren sich CPUs, die sich unab- hängig vom Speicher anhalten und hochfahren lassen. Die gesamte Kommunikation basiert auf Lichtwellenleitern anstelle von Kupferkabeln, die Inhalte sind durchweg verschlüsselt. Allein dieser Sicherheitsgewinn, so HP, würde die Entwicklung von The Machine rechtfertigen.

Was man sich aber eigentlich davon verspricht, ist ein Zu- wachs an Rechenleistung, der vor allem darauf beruht, dass der zeitraubende Transfer von Daten aus dem Massenspei- cher in den RAM entfällt, weil sich von Anfang an alle Daten im Hauptspeicher befinden. Damit sollen nicht nur heute bekannte Workloads enorm beschleunigt, sondern auch Workloads berechenbar wer-

den, die für heutige Technik zu komplex sind. Als Beispiel verweist der Hersteller etwa auf die Flug- hafenlogistik. Holt heute ein Flugzeug im Reiseflug einen Zeitgewinn heraus, verliert es diese Zeit nach der Landung oft wieder, weil es unmöglich ist, dem Flieger schnell ein Gate mit allen damit verbun- denen Prozessen zuzuweisen. Mit The Machine soll es mög- lich werden, alle Gates und alle Abfertigungsprozesse ei- nes Flughafens im Speicher zu behalten und in kürzester Zeit zu optimieren. An Betriebssystemen für The Machine wird geforscht, zu- nächst soll es auf ausdrück- lichen Wunsch der Kunden Linux sein. Ein neues Be- triebssystem berge zusätzliche Risiken und Linux erscheint den potenziellen Anwendern als ausgereift, zumindest gilt das für die Anfangsphase der Maschine.

n

News

9

Kubuntu-Chef Riddell beurlaubt

Streit mit Kubuntu: In ei- nem Brief legte Ubuntus Community Council (CC) Ende Mai dem Chef des Ku- buntu-Teams, Jonathan Rid- dell, seinen vorübergehenden Rücktritt nahe. Der aber wei- gerte sich. Zugleich droht ein anderes langjähriges Kubun- tu-Team-Mitglied zu Debian zu wechseln. Als Grund für die Aufforde- rung nennt der Beirat das Verhalten Riddells ihm gegen- über. Es verstoße gegen den Code of Conduct, Ubuntus Verhaltenskodex. Bereits seit einiger Zeit werde es zuneh-

mend schwieriger, mit Riddell umzugehen, aus Respekt vor seiner Arbeit habe man die Situation hingenommen. Nun aber habe der CC Riddell da- zu aufgefordert, seinen Pos- ten in der Kubuntu-Führung mindestens für zwölf Monate zu räumen. Riddell denkt aber nicht dar- an zurückzutreten. Vielmehr, stellt er in seinem Blog klar, habe er sich nie als Kubun- tu-Leader bezeichnet und sei auch nicht als solcher bezeichnet worden. Zudem ließ er sich von Kubuntu- Mitgliedern wieder in den Ku-

buntu Council einsetzen und kündigte an, wie gewohnt an Kubuntu 15.10 arbeiten zu wollen. Den „Vorschlag“ des CC lehne er ab, schrieb er in einer Antwortmail, die Kubuntu-Entwickler Scott Kit- terman, eine langjährige Füh- rungskraft unter den Kubun- tu-Entwicklern, veröffentlicht hat. Ubuntu-Gründer Mark Shuttleworth stellte darauf- hin klar, dass der Community Council ihn schlicht nicht mehr als Chef der Kubuntu- Entwickler akzeptiere. Zugleich stellt Scott Kitter- man in seinem Blog einen

Wechsel zu Debian in Aus- sicht. Mit Riddell würde dem Kubuntu-Projekt ein zentraler Entwickler wegbrechen, mit Kitterman ein Fixpunkt in der KDE-Community. Insofern stellt sich die Frage nach der Zukunft der KDE- Version von Ubuntu. Kubuntu ist zwar verbreitet, doch das Interesse von Canonical am KDE-Ableger hält sich eher in Grenzen. So wird Jonathan Riddell inzwischen von Blue Systems finanziert, das an einem eigenen KDE-Desktop namens Netrunner arbeitet, nicht mehr von Canonical. n

08/2015

Aktuell

Newswww.linux-magazin.de

10

Kurznachrichten

 

Cinnamon ​2.6: ​Die ​Desktopumgebung ​von ​Linux​Mint​soll ​in ​der ​kommen- den​ Release ​ Aufnahme ​ finden. ​ Neu: ​ Verbesserungen ​ im​ Multimonitorbe- trieb ​ ermöglichen ​ es, ​ Inhalte ​ per ​ Tastenkombination​ auf ​ einen ​ anderen ​ Monitor ​zu​verschieben. ​Anwender​dürfen ​auch ​Panels​über ​die​Monitore​ verteilen. ​ Lizenz: GPLv2 ​ [https://​​github.​​com/​​linuxmint/​​Cinnamon] Perl​ 5.22.0: ​ Für ​ diese ​ Ausgabe ​ haben​ die ​ Entwickler ​ der ​ Programmier- sprache ​ rund​ 590 ​ 000​ Zeilen ​ Code ​ angefasst.​ 94 ​ Entwickler ​ sind ​ laut ​ Ankündigung ​ beteiligt ​ gewesen. ​ Neu: Resultat​ daraus ​ ist ​ unter​ anderem ​ ein ​neuer​Eingabe-Interpreter, ​der ​mehr ​Sicherheit ​verspricht. ​Zudem ​ist ​ nun ​Unicode ​7.0 ​ an ​ Bord. ​ Lizenz: GPL ​ [https://​​www.​​perl.​​org] IPfire​ 2.17 ​ Core ​ Update ​ 90: ​ Die ​ für ​ den ​ Betrieb ​ als ​ Firewall ​ ausgelegte ​ Linux-Distribution ​ haben ​ die ​ Entwickler ​ aktualisiert​ und​ ihr ​ interessante​ Features​ spendier t. ​ Neu:​ Mit ​ dem ​ neuen ​ Geo-IP-Filter ​ lässt ​ sich ​ ein- ​ und​ ausgehender ​ Netzwerkverkehr ​ anhand ​ des​ Herkunfts- ​ oder ​ Ziellandes ​ blocken ​ beziehungsweise ​ zulassen. ​ Die ​ veralteten ​ und​ als ​ unsicher ​ gel - tenden ​ Verschlüsselungsverfahren ​ SSLv2 ​ und​ SSLv3 ​ sind​ standardmäßig ​ deaktiviert. ​Lizenz: GPLv3 ​ [http://​​www.​​ipfire.​​org] Octave ​4.0.0: ​Die ​Mathematik-Software ​des ​GNU-Projekts ​setzt ​erstmals ​ auf​ die ​ grafische ​ Oberfläche. ​ Neu: ​ Die ​ integrierte​ Programmiersprache ​ lässt ​ sich ​ nun ​ auch​ objektorientiert​ nutzen. ​ Die​ mit​ Qt​ realisierte ​ Ober-

fläche ​ erscheint ​ beim ​ Programmstart ​ nun ​ standardmäßig. ​ Die ​ bisher ​ an ​ dieser ​ Stelle ​ aufgerufene ​ Kommandozeile ​ erreichen ​ Anwender​ über​ die​ Option ​ »no- gui« ​ beim ​ Aufruf. ​ Lizenz: GPLv2 ​ [http://​​www.​​gnu.​​org/​ ​software/​​octave/]

Scribus​1.5.0:​Das​freie​DTP-Programm​dient​in​dieser​Version​als​Vorschau​

auf ​ Version ​ 1.6.0 ​ und ​ sollte ​ nicht​ produktiv ​ zum ​ Einsatz ​ kommen. ​ Neu:​ Die​​ generalüberholte ​ Benutzeroberfläche ​ basier t ​ jetzt ​ auf​ Qt​ 5.2. ​ Unter​ anderem ​nehmen ​Kontextmenüs ​nicht​mehr ​so ​viel ​Platz ​ein, ​das ​Fenster ​ mit ​den ​Dokumenteinstellungen ​haben ​die​Entwickler​sogar ​komplett ​neu​ geschrieben. ​ Texte​ lassen ​ sich ​ vertikal ​ skalieren, ​ es ​ gibt ​ Fuß- ​ und ​ End- noten, ​ Textvariablen ​ und​ Quer verweise. ​ Des ​ Weiteren ​ führ t ​ Scribus ​ 1.5.0 ​ richtige​ Tabellen ​ ein. ​ Lizenz: GPL ​ [http://​​www.​​scribus.​​net] ALT Linux ​ 7.0.5: ​ Die​ aus ​ Russland​ stammende ​ Distribution ​ gibt ​ es ​ in​ mehreren ​ Geschmacksrichtungen ​ und​ mit ​ der ​ Option, ​ von ​ Russisch ​ auf ​ Englisch​umzuschalten. ​Neu:​Die​Ausgabe​schließt​zahlreiche​Sicherheits- lücken ​ und ​ bringt ​ aktualisierte​ Zeitzonen-Informationen ​ mit. ​ Die ​ Online- Repositories ​ werden ​ ab​ sofort ​ immer ​ konfiguriert. ​ Das ​ System ​ Control ​ Center ​ ist ​ zudem ​ in ​ der ​ Lage, ​ einem ​ Active​ Directory ​ beizutreten. ​ Des ​ Weiteren ​ klettert ​ der ​ Kernel ​ auf ​ die​ Version ​ 3.14.41. ​ Lizenz: GPL ​ [http://​ ​www.​​altlinux.​​org]

Wayland und Weston 1.8.0 erschienen

In der neuen Version 1.8.0 des Wayland-Protokolls und seines Referenz-Compositors Weston erleichtern die Ent- wickler um Kristian Høgs- berg die Arbeit an eigenen Sprachbindings für Wayland und spendieren Weston zu Testzwecken ein „Headless Rendering“. Als größte Veränderung an Wayland 1.8.0 haben die Ent- wickler die Client- und Ser- ver-Headerdateien aufgeteilt in einen Kern-Teil und einen für das erzeugte Protokoll. Die Core-Header lassen sich als

»wayland-client-core.h« und »wayland-server-core.h« ein- binden. Auch für den Scanner gibt es damit nun die Mög- lichkeit, nur die Core-Header einzubinden (»--include-core- only«). Das soll Entwicklern die Arbeit an Sprachbindings und eigenem Protokollcode erleichtern. Neu in Weston 1.8 ist von Col- labora entwickelter Code, der die EGL-Modernisierungen ebenso berücksichtigt wie das Testing-Framework. Dazu gehören EGL-Verbesserungen am »gl-renderer«, Tests für die

Ivi-Shell und das Ivi-Layout, Genivis Erweiterungen des Wayland-Protokolls. Für den Editor gibt es nun Cut-, Co- py- und Paste-Support. Da- neben kann der Entwickler Weston nun über »weston --config=my_weston.ini« mit einer alternativen Konfigura- tionsdatei starten, die auch alle anderen mit Weston ge- starteten Programme berück- sichtigen. Dank dem neuen Headless- Rendering-Feature lässt sich Weston für Tests auch syn- thetisch, also ohne echten

Monitor, betreiben. Stattdes- sen zeichnet die Software über einen Bitmap-Puffer im Arbeitsspeicher auf einen künstlichen Monitor. Der Pixman-Renderer erzeugt dabei Bildschirmfotos und reicht diese über ein Test-spe- zifisches Screenshot-Protokoll an den Client weiter. Der Test vergleicht diese Bilder dann mit Referenz-Images, um Ab- weichungen beim Rendern festzustellen. Dieses Verfah- ren soll detaillierte Tests er- lauben, die vorher praktisch nicht möglich waren. n

Kernel 4.1 erhält Langzeit-Support

Kernel 4.1 wird nach Aussa- ge der Linux Foundation und von Greg Kroah-Hartman eine LTS-Release. Fast zugleich mit der Veröffentlichung des Re- lease Candidate 7 von Linux 4.1 hat die Long Term Support Initiative (LTSI) über Twitter

angekündigt, dass der Kernel 4.1 Langzeitsupport erhalten soll. Greg Kroah-Hartman hat die Ankündigung der LTSI auf Google Plus bestätigt. Das ist nicht unwichtig, schließlich wird er voraus- sichtlich zwei Jahre lang Sup-

port für den Kernel leisten. Zu den Unterstützern der LTS- Version gehören mehrere grö- ßere Unternehmen, unter an- derem Hitachi, LG, Panasonic und Samsung. Sie benötigen einen stabilen Kernel, der den typischen Lebenszyklus eines

elektronischen Consumer- Produkts überdauert. Dank der LTS-Initiative müssen die verschiedenen Anbieter den Kernel nicht im eigenen Hau- se pflegen, sondern können ihre Anstrengungen bündeln. (jcb/kki/uba)

n

08/2015

Aktuell

Zahlen & Trendswww.linux-magazin.de

© Arbor Networks

12

Zahlen & Trends

„Planet Open Stack“ als Vision

Auf dem Berliner „Open Stack DACH Day 2015“ stellte Mark Collier, COO der Open Stack Foun- dation, in seiner Keynote die Vision des Cloudinfrastruk- tur-Projekts vor. Die heißt „Planet Open Stack“. DACH steht für Deutschland, Ös- terreich (Austria) und die Schweiz, Collier meinte in Berlin aber

die Welt. Folgt die Realität der Vision des COO, läuft Open Stack schon bald in zahlreichen Re- chenzentren weltweit. Dank eines gemeinsamen API las- sen sich die Dienste in den

Dank eines gemeinsamen API las- sen sich die Dienste in den Mark Collier, COO der Open

Mark Collier, COO der Open Stack Foundation, hält seine Keynote.

Rechenzentren verschiedener Firmen gemeinsam nutzen und zentral steuern. Dabei hilft unter anderem das in Colliers Keynote erwähnte Federated Identity Manage-

ment, das 2015 produktions- reif für Unternehmen werden soll und an verschiedene vor- handene Systeme wie Open ID, SAML oder Kerberos an- dockt. Dies ermögliche es

weltweit arbeitenden Teams, die verschiedene Open-Stack- Clouds betreiben, reibungslos zusammenzuarbeiten. Collier nennt eine TV-Produktionsge- sellschaft als Beispiel. Collier weiß, dass viele Admins Open Stack als die neueste Hype-Technologie betrachten. Seine Sicht:

Während viele Open-Stack- Projekte – etwa Glance, Keystone, Nova – sich bereits produktiv einsetzen lassen, gebe es Unterprojekte, die womöglich erst in mehreren Jahren produktiv nutzbar seien. Open Stack biete Fir- men dank seiner Offenheit die Möglichkeit, bereits heute an diesen Zukunftstechnologien mitzuarbeiten. n

Warnung vor unsicheren Smart Homes

Der Markt für Smart-Home- Technik wird in den nächs- ten Jahren deutlich anziehen, doch vielen Verbrauchern fehlt das Bewusstsein für die Gefahren, die das mit sich bringt. Davor warnt der Eco Verband der deutschen Inter- netwirtschaft e.V. Laut einer Schätzung der Fo- kusgruppe Connected Home des Nationalen IT-Gipfels wird die Anzahl der Smart-Home- Haushalte bis zum Jahr 2020 die Millionengrenze über- schreiten. Auch eine Studie der VDI/VDE Innovation und

Technik GmbH attestiert dem deutschen Smart-Home-Markt ein deutliches Wachstum: Bis 2025 soll er einen kumulier- ten Umsatz von 19 Milliarden erreichen. Gleichzeitig fehlen sowohl das Sicherheitsbewusstsein der Verbraucher als auch Hersteller-übergreifende Si- cherheits- und damit auch Entwicklungsstandards. „Je mehr Anbieter unkontrolliert auf den Markt drängen, desto schwieriger wird es, einen ausreichend hohen Sicher- heitslevel im Smart Home

nachhaltig zu erreichen“, warnt Oliver Dehning, Leiter der Kompetenzgruppe Sicher- heit im Eco. Die Gefahren dieser Entwick- lung kann man bereits heute an Beispielen ablesen. So gab es etwa kürzlich ein Samsung- Smart-TV-Gerät, das Gesprä- che der Zuseher mitschnitt und weitergab. Oder: Die Sicherheitsfirma Kaspersky entdeckte über 14 Sicherheits- lücken in nur fünf smarten Haushaltsgeräten. Die Nutzer solcher Geräte scheint das nicht zu kümmern. Deshalb

sahen über 80 Prozent der von Eco befragten IT-Exper- ten das größte Problem für den smarten Markt in diesem unbekümmerten Umgang mit Daten. Um diese Entwicklungen in- haltlich zu begleiten, hat der Internetverband die Kom- petenzgruppe Smart Envi- ronment gegründet. Sie will darauf hinwirken, vertikale Standards und Protokolle zu etablieren und auch die Ent- wicklung von entsprechenden Frameworks und Libraries vo- ranzutreiben.

n

08/2015

Aktuell

www.linux-magazin.de

Mozilla zahlt mehr Kopfgeld

Das Sicherheitsteam von Mozilla zahlt seit einiger Zeit Geld, wenn Nutzer Security- Bugs melden. Nun hat das in- terne Bounty-Bug-Komitee die Beträge erhöht. Für als hoch oder kritisch eingestufte Bugs will Mozilla künftig zwischen 3000 und 7500 US-Dollar zah- len, die konkrete Summe legt das Komitee fest. Im Höchstfall überweist Mozilla sogar 10 000 US-Dol- lar. Dabei muss es sich um eine neue Form von Exploit handeln oder eine außerge- wöhnliche Sicherheitslücke. Auch für einige als moderat eingestufte Lücken lässt das Projekt unter Umständen Geld springen. Wer sie ent- deckt, kann mit einer Beloh- nung zwischen 500 und 2000 US-Dollar rechnen, allerdings

zahlt Mozilla nicht für alle moderaten Bugs. Die Bounty-Bug-Webseite gibt auch Tipps, wie Sicher- heitsforscher an höhere Be- lohnungen kommen. Offen- bar kommt es stark auf die Informationen im Bugreport an. Lässt sich eine kritische Lücke ganz klar ausbeuten und fällt der Bugreport aus- führlich aus und zeigt Wege, um die Schwäche auszunut- zen, entlohnt Mozilla die An- strengung mit 7500 US-Dollar. Insgesamt hat das Projekt na- hezu 1,6 Millionen US-Dollar ausgezahlt. Daneben hat Mozillas Sicher- heitsteam vor einiger Zeit eine Bounty Bug Hall of Fame eingeführt. Dort listet es die erfolgreichsten Bug-Jäger sor- tiert nach Jahren auf. n

Studie zu Trends bei Rechenzentren

Lease Web, ein großes Hos- ting-Netzwerk, das 17 500 Kunden auf der ganzen Welt betreut und neun Rechenzen- tren in Europa, Asien-Pazifik und den USA unterhält, in denen mehr als 65 000 phy- sische Server stehen, hat jetzt eine Studie zu Trends im Re- chenzentrum bis 2020 vorge- legt. Für die Studie wurden 105 IT-Experten befragt, die sich in ihren Antworten wei- testgehend einig waren: Die Kapazität der meisten Rechen- zentren wird weiter wachsen. Insbesondere die steigende Datenflut ist dabei eine große Herausforderung. Die Rechenzentren werden nicht nur größer, sondern auch komplexer, weshalb der Stellenwert der Automatisie-

rung zunimmt. Neben der Größe wird von den Rechen- zentren der Zukunft vor al- lem Flexibilität verlangt. Im Moment halten noch weniger als die Hälfte der Befragten (49 Prozent) Agilität für einen absolut wichtigen Maßstab der Qualität eines Datacenter, aber für das Jahr 2020 erwar- ten bereits fast drei Viertel (71 Prozent), dass diese Aussage zutrifft. Die Sicherheit der Rechenzen- tren ist ein Thema, das einen Spitzenplatz in der Rangliste beansprucht und halten wird. Als Nebenaspekt steigt auch die Bedeutung der Unabhän- gigkeit von amerikanischen Behörden. Der Trend zum Outsourcing von IT-Dienstleis- tungen wird sich fortsetzen.n

20 Jahre PHP

Als Sammlung in C umgesetz- ter CGI-Binaries gestartet, ha- ben sich die Personal Home Page Tools (PHP) in den ver- gangenen 20 Jahren zum fes- ten Bestandteil der Webent- wicklung etabliert. In seiner Ankündigungsmail hatte PHP-Entwickler Rasmus Lerdorf vor 20 Jahren seine Tools unter anderem noch als Helfer beim Loggen von Zu- griffen auf Websites und auch zum Blockieren von Zugriffen über bestimmte Domains be- schrieben. Die Personal Home Page Tools standen von Beginn an unter der GPL. Lerdorf entwickelte auch noch die Version 2.0,

Anzeige

die 1997 als PHP/FI (Perso- nal Home Page/Forms Inter- preter) erschien. Die Weiter- entwicklung folgte dann von Andi Gutmans und Zeev Su- raski, die eine Neuimplemen- tierung vornahmen. 1998 erschien PHP 3 als PHP:

Hypertext Preprocessor. Ver- sion 4 steuerte im Jahr 2000 mit ZEND einen neuen Kernel bei. 2004 folgte Version 5, un- ter anderem mit Verbesserun- gen in der objektorientierten Programmierung. Die aktuelle Version heißt PHP 5.6. Mit der nächsten wird eine Nummer übersprungen, sie soll PHP 7 heißen und noch im Jahr 2015 erscheinen.

n

Zahlen & Trends

13

wird eine Nummer übersprungen, sie soll PHP 7 heißen und noch im Jahr 2015 erscheinen. n

08/2015

Aktuell

Zahlen & Trendswww.linux-magazin.de

© ASF

14

Jahresbericht der Apache Software Foundation

Die Apache Software Founda- tion (ASF) hat erstmals einen Jahresbericht veröffentlicht. Danach managt die ASF über 200 Softwareprojekte. 163 Projekte befinden sich laut Apache-Jahresbericht für das Fiskaljahr 2015 in Händen der

so genannten Project Manage- ment Committees, weitere 41 sind im Incubator-Status und warten auf die offizielle An- erkennung. Die Zahl der Mitglieder in den Projekt-Komitees beträgt über 2000. Die ASF selbst hat

laut ASF-Chairman Brett Por- ter 606 aktive Mitglieder. Die Entwickler-Community weist rund 550 Mitglieder auf, es gibt daneben etwa 4700 Code- Beitragende. Die ASF feierte Ende 2014 ihr 15-jähriges Bestehen. Der Apache-HTTP-

Ende 2014 ihr 15-jähriges Bestehen. Der Apache-HTTP- Stetes Wachstum: Entwicklung der Entwickler-Accounts bei der

Stetes Wachstum: Entwicklung der Entwickler-Accounts bei der ASF.

Server als erstes Projekt ist älter als die Foundation selbst und bringt es inzwischen auf 20 Jahre. Finanziell trägt sich die Foundation auch dank der Spenden und Sponsoren-Pro- gramme. Der Jahresumsatz im Fiskaljahr 2015 beträgt laut Kämmerer Chris Mattmann 996 000 US-Dollar. Davon sind 122 000 US-Dollar als Nettoeinnahmen zu verbu- chen. Die Barreserve beziffert Mattmann auf 1,75 Millionen Dollar, was nach der derzei- tigen Ausgabenplanung ein finanzielles Polster für rund 20 Monate sichert. Die ASF rechnet im Fiskaljahr 2016 mit monatlichen Ausgaben von rund 87 000 US-Dollar. n

Gimp verlangt Löschmöglichkeit von Sourceforge

Sourceforge hat auf die Mal- ware-Vorwürfe des Gimp-Pro- jekts reagiert und dieses selbst dafür verantwortlich gemacht. Die Gimp-Entwickler bleiben bei ihrer Darstellung. Laut dem Gimp-Projekt hat Sourceforge, entgegen frühe- ren Beteuerungen, Drittanbie- tersoftware in einen Installer der Windows-Version integ- riert, die ungewollte Software auf die Systeme spielt. Das ist

für viele Freie-Software-Nut- zer ein No-Go. Sourceforge reagierte und schob die Schuld dem Projekt zu. Es habe seine Software unbetreut auf Sourceforge zu- rückgelassen. In solchen Fäl- len sei es üblich, die Software an andere Hoster zu geben, die sie dann unter Umständen mit „einfach abzulehnender“ Software von Drittanbietern bündeln. In einem Update

schrieben die Sourceforge-Be- treiber, der Anbieter habe den Installer mit der unerwünsch- ten Software entfernt. Das genügte dem Gimp-Pro- jekt allerdings nicht. Selbst wenn Sourceforge ein paar vom Projekt vorgeschlagene Guidelines einhalte, werde das nächste Management diese eventuell wieder über den Haufen werfen. Zur Scha- densbegrenzung schlägt das

Projekt vor, dass Sourceforge es ermöglichen soll, Projekte und Links komplett zu ent- fernen und feindliche Projekt- übernahmen zu verhindern, Dateien von Sourceforge und den Mirror-Servern zu lö- schen und Redirects auf die neue Adresse eines Projekts anzulegen. Inwieweit Sourceforge auf die Vorwürfe reagiert, muss sich erst noch zeigen. n

Ubucon sucht Vorträge

Die 9. deutschsprachige Ubu- con tagt vom 23. bis zum 25. Oktober 2015 in Berlin. Der deutsche Ubuntu-Ableger Ubuntu Deutschland e.V. bit- tet um Beteiligung der Ent-

wickler und hat einen Call for Papers gestartet. Das Motto der Ubucon lautet „Community in Touch“. Gesucht werden Vorträge zu einer Wunschliste, die von

den Teilnehmern der Konfe- renz bestückt werden kann und die online [http://​​ubucon.​ ​de/​​2015/​​themenwunschliste] ein- zusehen ist. Daneben sind alle Vorträge und Workshops

zu Themen rund um Ubuntu und freie Software willkom- men. Die Ubucon findet an der Berliner Hochschule für Wirtschaft, Technik und Kul- tur statt.

n

08/2015

Aktuell

www.linux-magazin.de

20 Jahre Java

Eine der erfolgreichsten Pro- grammiersprachen feiert ihren 20. Geburtstag: Java wurde 1995 erstmals vorgestellt und ist derzeit für über neun Milli- onen Entwickler die Program- miersprache der Wahl. Allein zwölf Hersteller bieten heute 30 kompatible Implementie- rungen der Standards Java EE 6 und Java EE 7 an. Java-Applikationen sollen derzeit auf über 7 Milliarden Geräten laufen. Das Spektrum reicht von Computerspielen bis zur Gehirnsimulation, von der Verkehrssteuerung bis zur Ozeanforschung oder der Optimierung der Getreide- erträge in der Landwirtschaft.

Anzeige

Einen besonderen Meilenstein stellte die Ankündigung von Java SE 8 im März 2014 dar, des größten Upgrade in der Java-Geschichte. Java ist auch eine der belieb- testen Programmiersprachen. In dem seit 2001 veröffent- lichten Tiobe-Index lag Java, konkurrierend mit C, stets auf Platz eins oder zwei beim Ranking. Nach dem Program- miersprachenindex Redmonk kam Java 2015 auf Platz zwei hinter Javascript, nach dem „Programming Language Popularity“-Index liegt Java ebenfalls auf Platz zwei, dies- mal aber wieder nach der Pro- grammiersprache C. n

Google: Sicherheitsfragen sind unsicher

Ungeachtet ihrer weiten Ver- breitung seien Sicherheits- fragen gar nicht so sicher. Das ist das Ergebnis einer Forschungsarbeit, die Google jetzt auf der World Wide Web Conference 2015 in Florenz präsentierte. Google analysierte Hunderte Millionen Sicherheitsfragen und Antworten, die es für die Wiederherstellung von Accounts speichert. Die For- scher fanden heraus, dass sich die Antworten auf viele der häufigsten Fragen mit zehn Versuchen und einer Erfolgs- rate zwischen 21 und 39 Pro- zent erraten ließen. Die Rate hängt von den Fragen ab. So

beantwortet die Frage „Was ist ihr Lieblingsessen?“ mit einem einzigen Versuch zu 20 Prozent korrekt, wer „Pizza“ wählt. Zuweilen kursiert im Netz der Rat, man solle auf Si- cherheitsfragen bewusst fal- sche Antworten speichern. Die Forscher bei Google fan- den allerdings, dass dann die Antworten nicht wie er- hofft schwerer, sondern noch leichter zu erraten waren, weil viele dieselben falschen Antworten wählten. Generell waren die Fragen entweder leicht zu merken oder schwer zu erraten, aber fast nie bei- des zusammen. n

Zahlen & Trends

15

die Fragen entweder leicht zu merken oder schwer zu erraten, aber fast nie bei- des zusammen.

08/2015

Aktuell

Zahlen & Trendswww.linux-magazin.de

© Bitkom

16

Mandriva geht in die Liquidation

Der französische Linux- Anbieter Mandriva steht vor dem Aus. Das zuständige Firmenregister führt das Un- ternehmen als in der Liquida- tion befindlich. Die Websites Mandriva.com und Mandriva. fr sind nicht mehr erreichbar. Mandriva, früher Mandrake Linux, beendet damit eine

jahrelange Berg- und Talfahrt mit Finanzproblemen, Streit und Kündigungen, aber auch mit einem zwischenzeitli- chen Börsengang (2011) und Höhenflügen in Sachen Be- liebtheit. 1998 als Mandrakesoft von Gaël Duval gegründet, be- nannte sich das Unternehmen

nebst der Distribution nach ei- nem juristischen Hickhack um eine gleichnamige Comicfigur und dem Zukauf des brasilia- nischen Linux-Unternehmens Connectiva im Jahr 2005 in Mandriva um. 2001 ging Du- val noch mit Mandrakesoft an die Pariser Börse. Bereits 2003 musste die Firma Gläubiger-

schutz beantragen. Nur dank der Unterstützung durch die Community des Mandrake- Clubs floss wieder Geld, das die Firmeninhaber im Folge- jahr in verschiedene Zukäufe investierten. Duval wurde im Jahr 2006 gekündigt. In der Folge kam es regelmäßig zu Finanzengpässen. n

Jeder Dritte würde mit dem Smartphone zahlen

Fast ein Drittel der Deutschen (29 Prozent) steht dem Be- zahlen per Smartphone auf- geschlossen gegenüber. Das entspricht gut 20 Millionen Menschen, wie der Digitalver- band Bitkom im Rahmen ei- ner repräsentativen Befragung herausgefunden hat. Rund ein Viertel der Befrag- ten (22 Prozent) kann sich vorstellen, künftig kontaktlos über das NFC-Verfahren mit dem Smartphone zu bezah- len, 7 Prozent haben dies be- reits getan. Bei den 14- bis 29-Jährigen sind sogar 27 Prozent offen für das mobile Bezahlverfahren, 14 Prozent

haben es schon genutzt. Beim Bezahlen per NFC-Technolo- gie (Near Field Communica- tion) hält der Nutzer sein Mo- biltelefon vor ein Lesegerät,

um beispielsweise die Super- markt- oder Tankrechnung zu begleichen. Obwohl nur eine Minderheit via Smartphone Rechnungen

Obwohl nur eine Minderheit via Smartphone Rechnungen Die Bitkom hat die Akzeptanz des mobilen Bezahlens

Die Bitkom hat die Akzeptanz des mobilen Bezahlens hinterfragt.

begleichen würde, gibt sich Bitkom-Vizepräsident Ulrich Dietz überzeugt: „Das Smart- phone wird in absehbarer Zeit neben Bargeld ein vielge- nutztes Zahlungsinstrument sein.“ Dietz sieht aber auch Mängel: „Was die Infrastruk- tur der Lesegeräte in den Ge- schäften angeht, haben wir im Vergleich zu anderen Ländern noch großen Nachholbedarf.“ Derzeit gibt es in Deutschland erst rund 60 000 Akzeptanz- stellen für das Bezahlen per NFC, das sind rund 8 Prozent der Kassenterminals. In den kommenden Jahren werde diese Zahl rasch wachsen. n

20 Jahre Qt

Im Mai vor 20 Jahren hat ein norwegisches Zwei-Mann- Projekt die erste Fassung von Qt auf die Server geladen. Die Bibliothek stand damals unter proprietärer Lizenz, verfügte über eine stattliche Anzahl von Klassen und wurde von Matthias Ettrich 1996 als Basis für KDE eingesetzt, dem Pro- jekt, das er soeben gegründet hatte. Ettrichs Entscheidung

führte wegen der proprietären Lizenz, die aber Kopien und Quellcode-Einsicht zuließ, zur Abspaltung im Projekt und zur Gründung von Gnome, das auf GTK+ setzte. Seit 1999 ist Qt, noch unter Trolltech, freie Software und hat eine Lizenz-Odyssee von der ursprünglichen Free Qt zu QPL über die GPL zur LGPL hinter sich.

n

Dropbox erhält Sicherheitszertifikat

Dropbox wurde von EY Cer- tify Point das international anerkannte Sicherheitszer- tifikat ISO 27018 verliehen. Der zertifizierte Standard soll die Wahrung der Privat- sphäre und den Datenschutz in der Cloud garantieren. Er beschäftigt sich ausschließ- lich mit der Regulierung der Verarbeitung von personenbe- zogenen Daten in der Cloud

und formuliert datenschutz- rechtliche Anforderungen für Clouddienste. Der Standard fordert umfang- reiche Benachrichtigungs-, Informations-, Transparenz- und Nachweispflichten von den Cloudanbietern. Inhalt- lich baut er auf den bereits existierenden Sicherheits- standards ISO 27001 und ISO 27002 auf. (jcb/kki/uba) n

08/2015

Titelthema

Apache-Projektewww.linux-magazin.de

Apache Software Foundation

Digitaler Brutkasten

Keine Büros, keine Gebäude: Die Apache Software Foundation ist nahezu unsichtbar. Doch brütet sie Hunderte von Software-Großprojekten aus, bringt Tausende Entwickler zusammen. Und all das, ohne im Chaos zu enden und auf Innovation zu verzichten. Wie macht sie das? Ein Streifzug. Kristian Kißling

18

© sergeisimonov, 123RF
© sergeisimonov, 123RF

Apache-Projekte wie Hadoop [1], Cas- sandra [2], Tomcat [3] und Spark [4] erfreuen sich in den Rechenzentren seit Jahren größter Beliebtheit. Den Grund- stein der Apache Software Foundation (ASF, [5]), deren Projekte der Schwer- punkt in diesem Linux-Magazin be- leuchtet, legte aber ein schlanker, kleiner

Inhalt

18

Die Apache Software Foundation Vom Webserverprojekt zur millionen- schweren Open-Source-Stiftung.

22

Hadoop Big Data erklärt: Fischen im Datenmeer mit Hadoop 2 und Apache Spark.

26

Apache Aurora Wer Dienste in Mesos terminieren möchte, greift zum Aurora-Framework.

30

Jmeter Stressen, aber richtig! Jmeter ist Apa- ches Lasttest-Werkzeug.

34

Apaches Webserver tunen Aus dem Webserver Nr. 1 lässt sich eine bessere Performance herauskitzeln.

HTTP-Server [6]. Ihn kann man im Soft- warebereich wohl als äußerst populären Dauerbrenner bezeichnen (siehe Artikel im Schwerpunkt). Vorläufer des Apache-Servers war der HTTPd der NCSA [7]. Wem die Abkür- zung nichts sagt: Vom National Center for Supercomputing Applications stammt der wohl bekannteste der frühen Browser:

Mosaic. Rob McCool arbeitete Anfang der 90er in der Institution und erhielt den

Auftrag, einen Webserver zu entwickeln, der nicht so komplex ist wie der damals

bevorzugt eingesetzte vom CERN. Den Code suchte er in dem noch jungen In- ternet zusammen.

Als McCool das NCSA verließ, um ei- nen neuen Job anzutreten, wurde der Server ziemlich vernachlässigt. Lediglich ein paar Nutzer schickten noch eigene Patches, um ihn am Leben zu erhalten. Brian Behlendorf sammelt diese und so entstand „A patchy Server“. Unklar bleibt, ob sich Apache nach diesem Wort-

spiel benannt hat oder nach der nord- amerikanischen Stammesgruppe.

Steiler Aufstieg

Im April 1995 veröffentlichte die selbster- nannte Apache Group, die aus acht Ent- wicklern bestand, eine erste Version 0.6.2 des Servers, im Dezember 1995 erschien die Version 1.0. Im Laufe eines Jahres überflügelten die Apache-Nutzerzahlen bereits die des NCSA HTTPd. Im Zuge dieser Entwicklung gründeten die Apa- chen 1999 die Apache Software Foun- dation (ASF). Da waren bereits weitere Softwareprojekte im Apache-Umfeld ent- standen, die sich etwa um die Perl- oder PHP-Module kümmerten. Heute verwaltet die ASF 164 Toplevel- Projekte, mit 110 Subprojekten. Dane- ben gibt es 35 als Podlings bezeichnete Nachwuchsprojekte im Apache Incuba- tor [8] sowie 39 Initiativen im Apache Lab [9]. Insgesamt sind das 348 Open- Source-Initiativen. Monatlich kommen durchschnittlich zwei neue Projekt hinzu (Abbildung 1), insgesamt zählt die ASF 4700 Codelieferanten [10]. Mitte der 90er entstand auch die Apache License 1.0, die damals noch verlangte, die Apache Group in Werbematerialien zu nennen. Der Passus fiel später weg. Die aktuelle Version 2.0 ist zur GPLv3 kom- patibel, wenn ein Projekt Apache-2.0- Code in sein GPLv3-Projekt integriert. Umgekehrt funktioniert es nicht. Mehr zu dieser Problematik liefert [11].

Auf die Bühne

Die Apache Software Foundation be- zeichnet ihre Organisationsform als Me- ritokratie. Grob vereinfacht heißt dies:

19 © ASF Annual Report FY 2014-2015 www.linux-magazin.de Apache-Projekte 08/2015 Titelthema
19
© ASF Annual Report FY 2014-2015
www.linux-magazin.de
Apache-Projekte
08/2015
Titelthema

Abbildung 1: Sowohl bei den Toplevel-Projekten als auch im Inkubator zeigt der Trend nach oben. Die Schwan- kungen im Inkubator ergeben sich, weil reife Projekte in die Toplevel-Liga wechseln.

Die ASF glaubt an Hüte, also an Verant- wortliche, die „den Hut aufhaben“: Für jedes Projekt gibt es nicht nur ein PMC, sondern auch ein Mitglied der Founda- tion, das als offizieller Ansprechpartner für das Projekt auftritt [16].

Gut versorgt

unter [10]. Auf Konferenzen treffen die Firmenmitarbeiter auf freie Apache-Ent- wickler und es werden neue Entwicklun- gen vorgestellt und diskutiert.

Blick ins Labor

Solche Innovationen sollen unter ande- rem in den Apache Labs entstehen. Alle Lab-Projekte samt einer Kurzerklärung und einem Link auf den Code in Apa- ches-SVN-Repository liefert [18]. Die re- levanten Informationen stecken entweder in einer »README.txt«-Datei, häufiger aber in einer XML-Datei namens »doap. rdf«. Das Linux-Magazin wirft im Folgen- den einen Blick ins Labor und stellt drei der Projekte vor. Das in Java, Python und Scala geschrie- ben Framework Alike [19] soll es erlau- ben, ähnliche Bilder automatisch zu er- kennen. Dazu verbindet es mehrere Tools miteinander: Open CV für maschinelles Sehen, die Maschinen-Lernsoftware Apa- che Mahout sowie die Suchmaschine Lu- cene. Open CV soll so genannte visuelle Deskriptoren auf Bildern entdecken. Ma- hout zerlegt diese in visuelle Wörter, die Lucene dann indexiert. Mouse [20] ist die Python-Implemen- tierung des Apache Release Audit Tool (Rat, [21]). Konkret soll es Lizenzen im Quellcode eines Projekts erkennen, um Compliance zu gewährleisten. Anders als Rat besitzt Mouse dank Python aber keine Java-Abhängigkeiten. Clouds [22] soll hingegen ein „Architek- tur-, Test- und Dokumentationsprojekt“

Wer viel tut, hat auch viel zu sagen. Bestehende Mitglieder stimmen über die Aufnahme neuer Mitglieder ab, die De- tails regelt eine Satzung [12]. Die Apache-Projekte durchlaufen meh- rere vorbestimmte Stadien (Abbildung 2). Wer sein Projekt in die Obhut der ASF übergeben hat, landet damit zunächst im Apache Incubator (Brutkasten, [8]). Stellt sich heraus, dass der Code darin aufblüht und sich eine Community um das Projekt bildet, wird es zum Toplevel- Projekt [13] und steht gleichwertig neben den anfangs genannten. Um Innovationen anzukurbeln, bietet die ASF ihren Mitgliedern zugleich die Mög- lichkeit, mit Code zu experimentieren. Die dazugehörige Infrastruktur stellen die Apache Labs [9] bereit. Ist eines der Experimente erfolgreich, landet es im In- kubator und folgt dem weiter oben vor- gezeichneten Weg. Selbst an das Aufräu- men denkt die Foundation: Nicht mehr betreute oder aktuelle Projekte landen auf dem Attic (Dachboden, [14]). Der Code bleibt so zugänglich und lässt sich wiederbeleben, falls sich Interessenten finden.

Wer sich aber für seinen nicht mehr be- treuten Code ein zweites Leben im Apa- che-Projekt erhofft, missversteht das Sys- tem. Die ASF akzeptiert Code nur, wenn dessen Besitzer einige Regeln beachtet und bestimmte Voraussetzungen erfüllt. Zu diesen gehören:

An der Spitze der ASF gibt es einen Vor- stand mit neun Positionen. Sechzehn so genannte Officer kümmern sich zudem um organisatorische Dinge, etwa das Marketing oder Fundraising. Für Letz- teres gibt es sogar zwei Officers. Das ist kein Wunder, verfügt die Foundation

n

Es muss sich um lauffähigen Code handeln. Das begründet die ASF da- mit, dass sich eine Community erst dann bilde, wenn der Code funktio- niere. Stehe am Anfang zudem eine langwierige Designphase, würde es häufig zur Fragmentierung der Community kommen.

doch über zahlreiche Sponsoren [17], die nicht nur die Infrastruktur, sondern auch die Arbeit der Foundation sowie Veran- staltungen, darunter die ASF-Konferenz Apachecon, finanzieren. Sponsoren können zwischen unter- schiedlichen Leveln wählen. Zu den Pla- tinum-Sponsoren, die jeweils sportliche

n

Der Codebesitzer muss das Copyright der Software und das darin enthal- tene geistige Eigentum im Rahmen eines Software Grant Agreement [15] der Apache-Stiftung übergeben. Nur dann können die User sicher sein, nicht irgendwann in einem Lock-in zu landen.

100 000 US-Dollar im Jahr an die Found- ation zahlen, gehören Google, Microsoft, Facebook, Citrix und Yahoo. Weitere be- kannte Firmen treten als Gold-, Silber- oder Bronze-Sponsoren auf. Das ist verständlich, weil die ASF zahlrei- che Open-Source-Projekte verwaltet, die von diesen Firmen stammen und die dort

n

Nicht zuletzt braucht das Projekt ei- nen Sponsor innerhalb der ASF oder einen Officer. Diese Person agiert als Mentor, hilft dem Projekt und hält Kontakt zum Project Management Committee (PMC) des Projekts.

täglich im Einsatz sind. Als Sponsoren versprechen sie sich eine Einflussnahme auf die Projektentwicklung und einen besseren Zugang zu Entwicklern. Wo- hin ihr Geld fließt, zeigen regelmäßig die Jahresfinanzberichte, der für 2014 etwa

08/2015

Titelthema

Apache-Projektewww.linux-magazin.de

20

sendet Contributor/ Patches gibt Feedback Committer * Developer partizipiert darf Code einchecken Apache- Apache
sendet
Contributor/
Patches
gibt Feedback
Committer *
Developer
partizipiert
darf Code einchecken
Apache-
Apache
Apache
Toplevel-
Attic
Codebasis
Labs
Incubator
Projekte
User

* Code License Agreement unterschrieben

Abbildung 2: Firmen wie Google, Facebook und Twitter gehören häufig sowohl zu den Usern als auch zu den Entwicklern im Entwicklungsmodell der ASF.

sein, um Apache-Anwendungen in die Cloud zu bringen. Genauer soll es als Klebstoff zwischen Apaches Cloudstack und den Apache-Anwendungen dienen, um diese besser in den Cloudstack zu integrieren. Beim Blick auf die weiteren Projekte zeigte sich aber auch, dass viele das Lab entweder schon wieder verlassen haben oder sie sich im Status »idle« befinden. Da diese Projekte zum Teil seit acht oder neun Jahren existieren, sind sie vermut- lich schlicht außer Dienst.

Aus dem Brutkasten

Vielversprechender sehen dagegen die Projekte im Apache Incubator [23] aus, die den Sprung zum Toplevel-Projekt schaffen möchten. Zu den bekannteren im Brutkasten gehört Groovy [24]. Die objektorientierte Sprache für die Java- Plattform gibt es bereits seit 2003, aktu- ell ist die Version 2.4. Im Frühjahr zog Groovy als Inkubator-Projekt ins Lager der Apachen, nachdem die ehemaligen Wirte von Codehaus [25] das Geschäft einstellten. Auch von Apache Wave [26] hat der eine oder andere womöglich schon ge- hört. Es handelt sich dabei um ein von Google angeschobenes Software-Frame- work für die Echtzeitkommunikation und Kollaboration über ein XMPP-basiertes Protokoll. Google trennte sich 2010 von dem Projekt, Apache akzeptierte Wave im Inkubator. Das Hauptprodukt ist das Server-basierte „Wave in a Box“ (WIAB). Es hostet und verteilt die von den Usern über eine Wave-Anwendung verfassten Waves. Dabei handelt es sich beispiels- weise um Foren- oder E-Mail-Threads,

Instant-Messaging-Konversationen oder

[6]

Apache-Server: [http://httpd.apache.org]

Wiki-Artikel.

[7]

Geschichte der ASF: [http://www.apache.

Ripple [27] will sich beim Entwerfen von HTML-5-basierten Mobilanwendungen

[8]

als Test- und Debug-Tool nützlich ma-

[9]

chen, unter anderem über einen Browser-

[10] ASF-Fiskal-Jahresbericht 2014/2015:

basierten Mobiltelefon-Emulator. Aktuell

unterstützt es Laufzeitumgebungen wie

Cordova und Webworks.

Fazit

Während in Apaches Lab offenbar einige Karteileichen und nicht weiter verfolgte Experimente schlummern, scheinen die Projekte im Inkubator und die Toplevel- Projekte gut in Schuss. Auch die Apache Software Foundation als Ganzes erfreut sich offenbar guter Gesundheit und scheint finanziell und organisatorisch gangbare Wege gefunden zu haben, mit der wachsenden Zahl an Projekten um- zugehen. Die Organisationsform erinnert nicht zu- fällig an die in der Kernelentwicklung. Wie die Linux Foundation verdankt auch die ASF ihren Erfolg zunehmend dem finanziellen Engagement großer Firmen, die ihren Code dafür in die Stiftung aus-

lagern. Für die Projekte erweist sich das offenbar als nützlich: Hauseigene Statisti- ken verweisen auf eine steigende Anzahl

an Codelieferanten.

n

Infos

[1]

Hadoop: [http://hadoop.apache.org] Cassandra: [http://cassandra.apache.org] Tomcat: [http://tomcat.apache.org] Spark: [http://spark.apache.org] Apache Software Foundation:

[2]

[3]

[4]

[5]

Kompatibilität der Apache-Lizenz:

[11]

org/foundation/bylaws.html] [13] Toplevel-Projekte:

[http://apache.org/#projects-list] [14] Attic: [http://attic.apache.org] [15] Software Grant Agreement: [http://www. apache.org/licenses/software-grant.txt] [16] ASF-Verantwortliche:

Sponsoring: [http://www.apache.org/

[17]

foundation/sponsorship.html] [18] Liste der Labs-Projekte:

08/2015

Titelthema

Hadoop 2www.linux-magazin.de

Big Data – Hadoop 2 und Apache Spark

Fischen im Datenmeer

Kritiker, die Hadoop totsagen wollen und Apache Spark hochleben lassen, handeln voreilig. Hadoop 2 ist dem Status einer einfachen Anwendung entwachsen und zur Big-Data-Plattform gereift. Eine Bestandsaufnahme abseits des Big-Data-Hype. Douglas Eadline

22

© Bruce Rolff 123RF
© Bruce Rolff 123RF

Über Big Data sprechen – das erfordert immer erst eine Definition dessen, was mit Big Data gemeint ist. Der Begriff ist in erster Linie Marketing-Geschwurbel mit entsprechend vielen Bedeutungen und Interpretationen, vergleichbar Begriffen wie „hoher Berg“ oder „schnelles Auto“. Eine weitere Voraussetzung ist die Er- läuterung des Konzepts hinter dem Data Lake. Letzterer ist weniger Buzzword und anschaulicher als Big Data. Der Artikel soll erklären, warum Hadoop 2 mehr ist als eine Map-Reduce-Engine, und auch, wie Spark sich nahtlos in das Hadoop- Ökosystem einfügt.

Die Begriffe

Wie der Name vermuten lässt, geht es bei Big Data um die Bearbeitung großer Da- tenmengen, gerne in Petabytes gemessen. Wikipedia definiert einige Charakteristika von Big Data [1], die im Folgenden als Basis dienen:

Menge: Big Data wird durch die große Menge klar definiert. In manchen Fällen macht es die schiere Menge der Daten unmöglich, sie mit herkömmlichen Me- thoden zu bearbeiten. Vielfalt: Die Daten können von verschie- denen Quellen stammen, die nicht zwin- gend miteinander zu tun haben. Geschwindigkeit: Im Zusammenhang mit Big Data ist das die Größe dafür, wie schnell die Daten entstehen und bearbei- tet werden können. Variabilität: Die Daten können variabel, unvollständig oder inkonsistent sein. Komplexität: Die Verbindungen zwi- schen den Datenquellen müssen nicht vollständig klar und für traditionelle rela- tionale Methoden zugänglich sein.

Big Data kann auch kleiner

Unternehmen und Organisationen kön- nen nun zwar einige der oben genannten Ansprüche an die Datenverarbeitung ent-

wickeln und trotzdem keinen Bedarf an der Verarbeitung übergroßer Datenmen- gen haben. Die Annahme, dass alle Fir- men auf Petabytes von Daten sitzen, ist eben nicht notwendigerweise wahr. Im Blogpost „Big Data Surprises“ [2] liegt laut den dort betrachteten Erhebungen die Einstiegsgrenze zu Big Data bei 110 GByte. Die Datenmenge, die ein durch- schnittliches Unternehmen zu stemmen hat, beträgt laut diesen Analysen zwi- schen 10 und 30 Terabyte. Der Artikel „Nobody Ever got Fired for Using Hadoop on a Cluster“ [3] weist auf mindestens zwei Analyse-Cluster von Microsoft und Yahoo hin, die auf einen mittleren Input von weniger als 14 GByte pro Job kommen. Die Input-Größe von 90 Prozent der Jobs auf einem Facebook- Cluster liege bei weniger als 100 GByte, heißt es dort weiter. Eine bessere Beschreibung für Big Data Processing wäre in dem Fall High Perfor- mance Data Processing (HPDP), weil die zuvor genannten Charakteristika High Performance Computing benötigen, um ihr Ziel zu erreichen. Diese Bezeichnung ist wiederum dem High Performance Technical Computing (HPTC) ähnlich, das oft als HPC oder Supercomputing bezeichnet wird. Es ließe sich argumen- tieren, dass HPDP und HPTC das Gleiche sind oder zumindest große Überlappun- gen aufweisen. Aktuell sei die Diskussion aber auf HPDP eingegrenzt.

Die Tiefen des Data Lake

Ein in den Charakteristika nicht genann- tes, aber impliziertes Feature ist das Kon- zept des zentralen Speicherdepots. Ob- wohl nicht alle Daten in relationalen Da- tenbanken zugänglich sind, müssen sie

in einer Rohform gespeichert sein. Diese Charakteristik ist es, die HPDP meist von traditionelleren Methoden unterscheidet. Meist als Data Lake bezeichnet steckt dahinter die Idee, ein großes Repository für alle Daten zu schaffen und es nach Bedarf zu nutzen. Der Ansatz lässt sich dem der traditio- nellen relationalen Datenbank oder dem Data Warehouse gegenüberstellen: Daten dort hinzuzufügen heißt, sie in ein vor- gegebenes Schema zu transformieren, be- vor sie in die Datenbank passen. Diesen Schritt bezeichnet in der Regel der Begriff Extract, Transform and Load (ETL), und der kann teuer und zeitfressend sein. Noch bedeutsamer ist der Umstand, dass Entscheidungen, wie die Daten später genutzt werden sollen, bereits bei die- sem Schritt fallen müssen. Außerdem gehen bei ETL-Prozess eventuell auch Daten oder Datenbestandteile verloren, die nicht ins Schema passen. Hadoop dagegen fokussiert darauf, Da- ten im Rohformat zu nutzen. Im We- sentlichen wird das, was sich als eine Art ETL-Schritt ansehen lässt, erst aus- geführt, wenn Hadoop-Applikationen darauf zugreifen. Dieser Schema-beim- Lesen-Ansatz ermöglicht es Programmie- rern und Nutzern, je nach Bedarf eine Struktur beim Zugriff zu erzwingen. Der traditionelle Ansatz des Data Warehouse, das Schema-beim-Schreiben, erfordert dagegen Vorausplanung und Annahmen darüber, wie die spätere Datennutzung eventuell aussehen soll. Bezogen auf Big Data bietet das Data- Lake-Konzept drei Vorteile gegenüber dem traditionellen Ansatz:

n Alle Daten sind verfügbar, ohne An- nahmen zur künftigen Verwendung treffen zu müssen. n Die Daten sind teilbar. Verschiedene Geschäftsfelder oder Forschungs- zweige können alle verfügbaren Daten nutzen ohne Zugangsbeschränkungen (Kompartimentalisierungseffekte) we- gen nicht zueinander passender Sys- teme. n Alle Zugangsmethoden sind verfüg- bar. Jede Datenverarbeitungs-Engine lässt sich nutzen, um die Daten zu erforschen, etwa Map-Reduce, Graph Processing und In-Memory-Tools. Um keine Missverständnisse aufkommen zu lassen: Hadoop ist nicht auserkoren,

um Data Warehouse zu ersetzen. Data Warehouse ist ein geschätztes Business- tool. Dennoch fand die Entwicklung der Data-Warehouse-Technologie vor der Zeit statt, als sich der Data Lake zu füllen begann. Die wachsende Zahl von neuen Datenströmen aus nicht zusammenpas- senden Quellen wie sozialen Netzen, Sensoren und Click-Trails fließt in diesen Datensee. Die Wahl zwischen Hadoop und Data Warehouse lässt sich als Entweder-oder- Entscheidung bezeichnen. Ein Haupt- kritikpunkt an Hadoop ist die langsame Batch-Charakteristik der Map-Reduce- Jobs. Bedenken gegenüber der Perfor- mance von Hadoop sind bei Version 1 teils gerechtfertigt, doch zeigt sich Ha- doop 2 – wie später näher ausgeführt – als flexiblere und besser erweiterbare Plattform. Die Unterschiede zwischen traditionel- lem Data Warehouse und Hadoop zeigt Abbildung 1 schematisch. Das Schau- bild zeigt, wie verschiedene Daten in den ETL-Prozess oder den Data Lake gelangen. Der ETL-Prozess platziert die Daten in Schemata, um sie in der relati- onalen Datenbank zu speichern (Write). Nutzt eine Hadoop-Anwendung die Da- ten, wendet sie das Schema beim Lesen (Read) der Daten aus dem Data Lake an. Gezeigt ist auch das mögliche Verwerfen von Daten während des ETL-Prozesses.

Hadoop 2 Lake House

Wichtig ist auch der Punkt, an dem Ha- doop Daten an den User weitergibt. In Hadoop 1 war dieser Schritt limitiert durch eine parallel arbeitende Map-Re- duce-Engine. Populäre Pakete wie Pig [4] oder Hive SQL [5] bauten auf dieser En- gine auf. In Version 2 ist Hadoop [6] zum Cluster-Betriebssystem herangewachsen, das eine Plattform zum Bau von Data- Lake-Anwendungen vorhält. Hadoop 2 enthält ein Map-Reduce-Framework, das mit Map Reduce aus Version 1 kompati- bel ist, auch die meisten Anwendungen sind ohne Änderungen lauffähig, Pig und Hive eingeschlossen. Hadoop 1 hatte zwei Kernkomponen- ten: das Hadoop Distributed File System (HDFS) – der Data Lake für den Cluster. Und eine monolithische Map-Reduce-En- gine, die Map-Reduce-Jobs und -Work-

(HDFS) – der Data Lake für den Cluster. Und eine monolithische Map-Reduce-En- gine, die Map-Reduce-Jobs und

08/2015

Titelthema

Hadoop 2www.linux-magazin.de

24

Source A

Source B

Source A Source B Source C ETL Data Lake Hadoop Discarded Data Schema on Write Data

Source C

ETL

Data Lake Hadoop
Data Lake
Hadoop
Source A Source B Source C ETL Data Lake Hadoop Discarded Data Schema on Write Data

Discarded

Data

Schema on Write

Data Warehouse
Data Warehouse

User

Schema on Read

Abbildung 1: Traditionelles Data Warehouse im Vergleich mit dem Hadoop Data Lake.

flows managt. Hadoop 2 hat dieses De- sign erweitert und bietet mehr Flexibili- tät. Die Hauptkomponenten sind auf drei angewachsen: Das gleiche HDFS wie in Version 1. Die zweite Komponente heißt Hadoop YARN (Yet Another Ressource Negotiator) – ein nicht auf bestimmte Anwendungen festgelegter Workload- Scheduler für User-Jobs. Als dritte Komponente sind Anwendun- gen zu nennen. Darunter sind alle unter YARN lauffähigen Applikationen zu ver- stehen, die mit YARN-Services auf Clus- ter-Ressourcen zugreifen und den Data Lake nutzen. Diese Applikationen kön- nen beliebige Datenverarbeitungstypen anwenden etwa Map Reduce, Graph Pro- cessing und Message Passing Interface (MPI). Sogar In-Memory-Anwendungen wie Apache Spark sind opportun. Ein Designfeature von beiden Versionen ist die Nutzung eines einfachen Redun- danzmodells. Viele Hadoop-Cluster be- stehen aus gewöhnlichen Hardwarekom- ponenten wie x86-Servern, Ethernet und Festplatten. Da Hardware fehleranfällig ist, sind redundant ausgelegte Prozesse und Speicher Teil des Hadoop-Designs auf Toplevel. Weil der Map-Reduce-Prozess von Haus aus funktional ist, fließen Daten nur in eine Richtung. So lassen sich Input-Da- teien als Teil des Prozesses nicht ändern. Diese Einschränkung ermöglicht ein ein- faches Redundanzmodell. Tote Prozesse in ausgefallenen Nodes lassen sich auf

anderen Servern starten, ohne Resultate zu verlieren. Die Bearbeitungszeit verlän- gert sich dabei aber eventuell.

YARN-Scheduler

Hadoop 2 erledigt dieses Level der Non- Stop-Redundanz im YARN-Scheduler. Eine Anwendung darf dort bei Laufzeit Ressourcen anfordern und freigeben. Sie kann auch zusätzliche Ressourcen anfor- dern, um eine Task zu beenden, sollte ein Prozess abstürzen. Da die Ressourcen- Verwendung dynamisch erfolgt, können Anwendungen ungenutzte Ressourcen freigeben, was die Ausnutzung des Clus- ters erhöht. Diese Situation ist typisch für große Map-Reduce-Jobs, bei denen die Mapping-Phase oft mehr Prozesse benö- tigt als die Reducer-Phase. Die Redundanz erstreckt sich auch auf das HDFS. Anders als bei vielen HPTC- Clustern, bei denen parallele I/O-Pro- zesse als Subsysteme separat von den Nodes ausgelegt sind, nutzt ein Hadoop- Cluster gewöhnliche Hardware für Pro- zess- und Storage-Nodes. Diese Nodes dienen öfter als Processing- und Speicher- Elemente gleichermaßen. Damit lässt sich die Abarbeitung bei den Daten erledigen. So umspannt der Data Lake meist den ganzen Hadoop-Cluster. Die Ausführung der Jobs kann man sich sinnbildlich wie bei Flotten von Fischerbooten vorstellen, die den Data Lake auf der Suche nach Resultaten durchkreuzen.

Um im Bild zu bleiben, darf man sich YARN als Bootshaus vorstellen, bei dem sich Boote zum Fischen auf dem See or- dern lassen. Das HDFS ist zudem ebenso leicht mit genügend Redundanz konfigu- rierbar, damit der Verlust eines Node oder Rack nicht zum Datenverlust oder einem Fehler des laufenden Jobs führt. Dieses Non-Stop-Design ist ein Markenzeichen von Hadoop-Clustern und es unterschei- det sich von den meisten HPTC-Syste- men, in denen vereinzelte Hardwarefeh- ler und daraus resultierende abstürzende Jobs akzeptabel sind. Vor Apache Spark sei ein weiteres Projekt genannt: Apache Tez [7]. Tez operiert im Hintergrund und widmet sich der Opti- mierung von Hadoop-Map-Reduce-Jobs. Die meisten hochkarätigen Tools wie Hive SQL und Pig erzeugen Kombina- tionen von Map-Reduce-Jobs, die dann auf dem Cluster ausgeführt werden. Je- der Map-Reduce-Job arbeitet separat und schreibt und liest so auch vom HDFS, nutzt also die Festplatte. Tez kombiniert diese individuellen Jobs und vermeidet möglichst die Festplatten- nutzung, indem das Tool Daten direkt in den Hauptspeicher (In-Memory) trans- feriert und so zur nächsten Phase im Map-Reduce-Workflow. Als Teil des Stin- ger-Projekts hat Tez die Geschwindigkeit von Hive-SQL-Jobs auf Hadoop um den Faktor 50 gesteigert, in manchen Fällen auch um den Faktor 160 [8].

Apache Spark

Mit erweiterten Map-Reduce-Fähigkeiten punktet das Projekt Apache Spark [9]. In erster Linie ist Spark ein Tool für parallele In-Memory-Berechnungen. Als schnelles und allgemein taugliches Cluster-Com- puting-System hält es APIs für Java, Scala und Python und eine optimierte Engine für die generelle Ausführung von Graphen vor. Spark unterstützt diverse Tools, etwa Spark SQL, die Bibliothek MLlib, GraphX und Spark Streaming. Zudem bietet Spark über 80 High-Level-Operatoren, um par- allele Applikationen zu bauen, und lässt sich interaktiv über die Shells von Scala und Python ansprechen. Spark ist stand-alone im Cluster-Modus auf EC2, unter Hadoop YARN und Apa- che Mesos lauffähig. Es kann vom HDFS, Hbase [10], Cassandra [11] und jeglicher

08/2015

Titelthema

www.linux-magazin.de

Hadoop-Datenquelle lesen. Nicht zuletzt beschleunigt Spark dank In-Memory- Processing einige Programme um das 100-Fache gegenüber Hadoop-Batch- Map-Reduce-Jobs und um das 10-Fache beim Schreiben auf Festplatte – ähnlich den Resultaten mit Tez. Spark ist Teil des kommenden Stinger-Projekts [8], um Hadoop Hive SQL zu verbessern.

Fazit

Apache Spark erlebt einen Hype und bietet die erwähnten Vorzüge, unter an- derem bei der Geschwindigkeit. Hadoop 2 ist dagegen nicht länger das One-Trick- Pony der ersten Ausgabe und die bevor- zugte Plattform für neue Tools, die den stetig wachsenden Data Lake abfischen. Bleibt nur, es auszuprobieren. Spark scheint es dem Anwender dabei et- was leichter zu machen als die Aufgabe, eine Java-Anwendung für die Nutzung des Hadoop-Map-Reduce-API zu schrei-

ben. Der Vorteil liegt darin, dass Entwick- ler entscheiden können, welcher Ansatz besser für den Data Lake passt. Hadoop 2 hat bei der Anwendungsentwicklung einen erstaunlichen Umfang erreicht. Das schließt Programme ein, die unter Ha- doop 1 nicht ausführbar waren, und auch solche für Hadoop Yarn. Einige Verwirrung um Hadoop resultiert daraus, dass es sich von einer Anwen- dung zur Plattform gemausert hat, auf der Applikationen wie Spark implemen- tierbar sind. Der Wert einer offenen Big- Data-Plattform ist hoch einzuschätzen. Hadoop 2 ist das Betriebssystem für Data- Lake-Cluster und ein Meilenstein in der Evolution der Datenanalyse. (uba) n

Info [1] Big-Data-Characteristika: [http://en. wikipedia.org/wiki/ Big_data] [2] Big Data Surprises: [http://www. sisense. com/blog/big - data - surprises]

[3] „Nobody ever got fired for using Hadoop on a cluster“, 1st International Workshop on Hot Topics in Cloud Data Processing:

[https://pig.apache.org] [5] Apache Hive:

[https://hive.apache.org] [6] Apache Hadoop:

[https://hadoop.apache.org] [7] Apache Tez:

[http://tez. apache.org/install. html] [8] Stinger Project:

[http://hor tonworks.com/labs/stinger/] [9] Apache Spark: [https://spark. apache.org] [10] Apache Hbase:

[http://hbase.apache.org] [11] Apache Cassandra:

Der Autor Douglas Eadline schreibt und entwickelt seit über 20 Jahren zum Thema Cluster Computing.

Hadoop 2

25

] Der Autor Douglas Eadline schreibt und entwickelt seit über 20 Jahren zum Thema Cluster Computing.

08/2015

Titelthema

Apache Aurorawww.linux-magazin.de

Mesos-Framework Aurora

Dispatcherdienste

Darum, dass die wichtigen Dienste im Rechenzentrum immer am Laufen sind, will sich das Apache-Projekt Aurora kümmern. Das Verteilen von Diensten hat Aurora von Twitter gelernt. Udo Seidel

26

© maroti 123RF
© maroti 123RF

Der Erfolg des Aurora-Projekts [1] hat viele Väter: Zum Beispiel stand ursprüng- lich Twitter hinter der Entwicklung, die Software ist Teil von Mesos [2], das mit seinem Framework ein Betriebssystem für Rechenzentren [3] sein will. Des Weiteren hat Aurora im März dieses Jah- res den Apache-Inkubator verlassen und firmiert nun als ein vollwertiges Apache- Projekt. Und nicht zuletzt stand auch Google zumindest indirekt Pate bei die- sem Projekt. Die Anfänge von Aurora reichen in das Jahr 2010 zurück. Bill Farner, ein Mitglied des Forschungsteams bei Twitter, startete damals ein Projekt, um den Betrieb der Zwitscher-Infrastruktur zu erleichtern. Die IT-Landschaft des Kurznachrichten- dienstes war zu jenem Zeitpunkt be- trächtlich gewachsen. Die Betriebsteams sahen sich mit Tausenden von Rechnern und Hunderten von Applikationen kon- frontiert. Hinzu kam das ständige Aus- rollen neuer Softwareversionen.

Jener Bill Farner hatte zuvor bei Google gearbeitet und dort Einblick in deren Clustermanager Borg [4] erhalten. So stand der Internetgigant quasi indirekt Pate für Aurora. In den ersten Jahren fand die Entwick- lung nur innerhalb von Twitter und hin- ter verschlossenen Türen statt. Mehr und mehr Angestellte trugen zur Weiterent- wicklung bei. Aurora wurde für die ver- schiedenen Twitter-Dienste immer wich- tiger. Schließlich war die Öffnung des Projekts in Richtung der Open-Source- Community ein natürlicher Schritt, um ein so stark gewachsenes Softwareprojekt pflegen zu können. Seit 2013 gehört Au- rora zur Apache-Familie.

Stein auf Stein

Eine zentrale Aufgabe von Aurora bildet das Starten und Überwachen von Diens- ten in einer IT-Landschaft. Man könnte es mit einem Rechenzentrums-weiten

Init-Daemon vergleichen. Fällt ein Server oder eine Anwendung aus, startet Aurora sie auf einem anderen Rechner neu und prüft, ob alles erwartungsgemäß funktio- niert. Kenner der Materie sehen hier auch eine Verwandtschaft mit den bekannten Mesos-Diensten Marathon [5] und even- tuell auch Chronos [6]. Der Kasten „An- schieber“ enthält dazu weitere Details. Die zweite Verantwortlichkeit von Aurora ist das Ausrollen neuer Versionen der überwachten Dienste. Außerdem registriert Aurora die Dienste und ermöglicht es so anderen Program- men, sie zu nutzen. Dafür greift Aurora auf Zookeeper [7] zurück. Für das Star- ten und Überwachen von Diensten nutzt das Projekt Mesos. Diesem Apache-Pro- jekt hat das Linux-Magazins bereits ei- nen Artikel gewidmet [8]. Dort ist auch beschrieben, wie Mesos gewissermaßen als Rechenzentrums-Scheduler arbeitet. Der Artikel erwähnt die Rollen Master und Slave. Der Master nimmt Aufgaben entgegen und gibt sie zur eigentlichen Abarbeitung an Slaves weiter. Aurora fungiert nun als Abstraktions- schicht zur Aufgabenverteilung durch Mesos. Man kann es als Meta-Scheduler bezeichnen. Das Zusammenspiel der ein- zelnen Komponenten ist in Abbildung 2 dargestellt.

Jobs, Aufgaben, Prozesse

Ein Blick hinter die Kulissen zeigt, dass das Ganze noch etwas komplizierter ist. Aurora benutzt Mesos zwar als Unterbau, kopiert aber zusätzlich eigene Kompo- nenten auf die Slaves, um die Tasks ab- zuarbeiten. Diese speziellen Bestandteile hören auf den Namen Thermos. Sie erfül- len zwei Aufgaben: Zum einen gibt es die so genannten Exekutoren, die Prozesse

Spark Chronos Storm Jenkins Aurora Hadoop
Spark
Chronos
Storm
Jenkins
Aurora
Hadoop

Mesos

Knoten 1

Knoten 2

Knoten 3

Knoten 4

Knoten N

Abbildung 1: Aurora ist ein so genanntes Mesos-Framework, Mesos seinerseits ebenfalls ein Apache-Projekt.

auf Betriebssystem-Ebene starten. Zum anderen existieren Observer. Sie sind eine Art Meldestelle für die Exekutoren. Sie erhalten die Statusmeldungen über die gestarteten Prozesse und reichen diese dann an Mesos zurück. Zum Verständnis ist es hilfreich, sich an die Terminologie des Projekts zu halten. Auf der Aurora-Ebene gibt es Jobs. Die zerfallen in Tasks der Mesos-Schicht. Ein Job entspricht daher normalerweise mehreren Tasks. Auf der Thermos-Ebene schließlich zerfallen die Tasks in Pro- zesse, die der Admin mit Kommandos wie »ps« oder »top« betrachten kann. Die Beschreibung eines Aurora-Jobs enthält Instruktionen für den Meta-Scheduler sel- ber, für Mesos und Thermos. Angaben über Jobs, Tasks und Prozesse definieren am Ende die Anwendung, die der Meta- Scheduler überwacht.

Anschieber

Auf den ersten Blick scheinen Aurora und Marathon den gleichen Zweck zu erfüllen, und beide setzen auf Mesos auf. Beide die- nen dazu, lange laufende Anwendungen zu starten und zu überwachen. Im Detail gibt es dann doch Unterscheidungsmerkmale: Die In- stallation und erste Tests gehen bei Marathon deutlich schneller und leichter von der Hand. Für Aurora sind einige Klimmzüge nötig. Für die ersten Jobs gilt es, die entsprechende Be- schreibungssprache zu lernen. Bei Marathon reichen an dieser Stelle fast rudimentäre Json-Kenntnisse. Aurora ist ebenso wie Mesos ein natürliches Mitglied der Apache-Familie. Marathon hin- gegen ist ein Projekt, das die Firma Mesos- phere vorantreibt. Ein weiterer Unterschied betrifft die Unterstützung der allerneusten Features und Technologien. Aurora ist hier etwas konservativer, um die Stabilität von Twitter-Diensten nicht unnötig zu gefährden. Die Integration von Docker beispielsweise fand bei Marathon früher statt.

Die Entwickler verwenden dafür eine Python-basierte Domain Specific Lan- guage (DSL). Die Beschreibungsdatei be- sitzt typischerweise die Endung ».aurora« und hat mehrere Bestandteile. Einer ist eine Art Jobschablone, die dazu dient, Gemeinsamkeiten einfach zusammenzu- fassen, wenn die Aufgaben auf Aurora- Ebene identisch sind und sich nur die Tasks oder Prozesse unterscheiden. Das vermeidet Redundanzen in der Beschrei- bung. Nach dieser Vorlage definiert man die Prozesse (Thermos), Tasks (Mesos) und Jobs (Aurora). Das Ganze kann etwas verwirrend wir- ken. Ein typisches Hallo-Welt-Beispiel zeigt Listing 1. Ein Prozess-Objekt in der Aurora-DSL erfordert zwei Angaben:

einen Namen und das auszuführende Kommando. Letzteres ist im vorliegen- den Fall ein einfaches Echo-Kommando, das Python über das OS-Modul ausführt. Ein Task-Objekt benötigt einen Namen und die zugehörigen Prozesse. Für Me- sos selbst kommen natürlich noch die notwendigen Ressourcen dazu. Anhand dieser Angaben sucht sich das System die passenden Sklaven heraus. In Listing 1 lauten die Anforderung 10 Prozent CPU, 20 MByte RAM und ebenso viel Plat- tenplatz. Es lassen sich auch mehrere Prozesse einer Task zuordnen. Des Weiteren benötigt die Konfiguration Angaben über die zugeordneten Tasks, eine Rolle und die Ausführungsumge- bung. Die Rolle entspricht oft dem Be- nutzerkontext, unter dem die zugehöri- gen Prozesse am Ende laufen. Die Aus- führungsumgebung wiederum definiert, welche Aurora-Instanzen sich um den Job kümmern. Das dargestellte Beispiel demonstriert nur einen Teil der Möglich- keiten. Wer tiefer einsteigen will, der fin- det ausreichend Lesestoff in der Projekt- Dokumentation ([9] bis [12]).

keiten. Wer tiefer einsteigen will, der fin- det ausreichend Lesestoff in der Projekt- Dokumentation ( [9]

08/2015

Titelthema

Apache Aurorawww.linux-magazin.de

28

Zookeeper Aurora Mesos-Meister Thermos-Observer Mesos-Sklave 1 Mesos-Sklave 2 Mesos-Sklave N Thermos-Executor Task
Zookeeper
Aurora
Mesos-Meister
Thermos-Observer
Mesos-Sklave 1
Mesos-Sklave 2
Mesos-Sklave N
Thermos-Executor
Task

Abbildung 2: Aurora, Zookeeper, Mesos und Thermos im Zusammenspiel.

Wer erste Schritte mit Aurora wagen möchte, hat mehrere Möglichkeiten. Empfehlenswert ist die Installation von Vagrant [13]. Die Projekt-Dokumentation und auch andere Anleitungen im Inter- net benutzen dieses Werkzeug zur In- stallation. Der Weg zu Fuß ist deutlich schwieriger und erfordert zunächst die Installation eines Mesos-Clusters [14] mit der zugehörigen Zookeeper-Infrastruktur.

Schwierige Installation

Die Installation der verschiedenen Au- rora-Komponenten ist zwar prinzipiell dokumentiert, aber sehr unübersicht- lich. Es geht nicht klar aus ihr hervor, welche Schritte in welcher Reihenfolge zu absolvieren sind. Das hat dem Team des Linux-Magazins einiges Kopfzerbre- chen bereitet. Die nächste Hausaufgabe besteht im Erlernen der Beschreibungs- sprache. Hier empfiehlt es sich wiede- rum, mit den einfachen Beispielen aus

der Dokumentation zu beginnen und sie

[5]

Marathon:

dann Schritt für Schritt systematisch zu

erweitern.

[6]

Chronos:

Die Einstiegshürden für den erfolgreichen

Einsatz von Aurora sind nicht gerade

[7]

Zookeeper:

niedrig. Für kleinere IT-Umgebungen sollte der Admin daher zunächst sehr sorgfältig Aufwand und Nutzen abschät-

[8]

[http://zookeeper.apache.org] Udo Seidel, „Datacenter im Griff – Compute-Cluster für Rechenzentren“:

zen. In großen Umgebungen mit vielen Servern, vielen Diensten und ständigen

[9]

Linux-Magazin 05/15, S. 76 All about Apache Aurora:

Software-Updates, lohnt sich dagegen

das Evaluieren des Meta-Schedulers

Listing 1: Hallo-Welt-Version eines Aurora-Jobs

01 $ cat hallo.welt.aurora

02 import os

03 hallo_welt_process = Process(

04

name = 'hallo_welt',

05

cmdline = 'echo hallo welt')

06

07

hallo_welt_task = Task(

08

resources = Resources(cpu = 0.1, ram = 20*MB,

disk = 20*MB),

09

processes = [hallo_welt_process])

10

11

hallo_welt_job = Job(

12

cluster = 'test',

13

role = os.getenv('USER'),

14

task = hallo_welt_task)

15

16

jobs = [hallo_welt_job]

[14] Aurora-Mesos-Cluster: [http://tepid.org/

Der Autor Dr. Udo Seidel ist eigentlich Mathe- und Physik- Lehrer und seit 1996 Linux-Fan. Nach seiner Pro- motion hat er bei verschiedenen Arbeitgebern als Linux/Unix-Trainer, Systemadministrator und Senior Solution Engineer gearbeitet. Heute ist er ist Evangelist, Architekt und techni- scher Gouverneur bei der Amadeus Data Proces- sing GmbH in Erding bei München.

Jmeter, Apaches Lasttest-Tool Stress ​im ​ Apache-Land 30 Wenn eine Site unter den vielen Interessenten
Jmeter, Apaches Lasttest-Tool
Stress ​im ​ Apache-Land
30
Wenn eine Site unter den vielen Interessenten ächzt, der Webshop unter dem Käuferansturm zusammenbricht
oder bei einer Datenbank nur noch die Festplatten-LEDs Lebenszeichen geben, geraten Admins und Entwickler
unter Stress. Ach, hätten sie die Applikation bloß in einer ruhigen Stunde unter Last gesetzt! Frank Pientka
den verschiedenen Programmiersprachen
und über Plugins [4] zum Beispiel für Se-
lenium oder Hadoop-HDFS erweiterbar.
Nach Testplan handeln
Titelthema
Apache Jmeterwww.linux-magazin.de
08/2015
© roussien, 123RF

Um böse Überraschungen bei der Pro- duktion zu vermeiden, ist es gute Praxis, seine Anwendung einem ausführlichen Lasttest zu unterziehen. Nur so können der Entwickler der Applikation und der zuständige Webmaster oder Admin ver- lässlich feststellen, welche Leistungs- merkmale die aktuelle Installation erfüllt und welche nicht. Die Testergebnisse sollten so detailliert ausfallen, dass Ent- wickler und Admin daraus schnell geeig- nete Anpassungs- und Optimierungsmaß- nahmen abzuleiten vermögen. Die Apache Software Foundation sen- det aus ihrem Reich zu diesem Zweck das sehr ausgereifte Tool Jmeter [1] in die weite Entwicklerwelt. Stefano Maz- zocchi, in Italien geboren und heute bei Google in den USA beschäftigt, hatte 1998 begonnen Jmeter zu entwickeln, um Lasttests am Apache-Tomcat-Server zu absolvieren. Anschließend führte Mazzocchi – seit 1999 Member des Pro- ject Management Committee (PMC) von

Apache Jakarta – das Tool als Jakarta- Unterprojekt weiter. Seit 2011 besitzt Jmeter den Status eines eigenständigen Apache-Toplevel-Projekts. Als einer der wenigen Konkurrenten gilt Grinder 3 [2], den jedoch schon länger niemand mehr weiterentwickelt. Von Jmeter erscheinen pro Jahr mehrere Versionen. In der aktuellen 2.13 unter- stützt Jmeter von Hause aus die Pro- tokolle HTTP und HTTPS, SOAP, FTP, JDBC, Mongo DB, LDAP, JMS, AJP, TCP sowie SMTP, POP3, IMAP und deren verschlüsselte Brüder. Der Schwerpunkt liegt sicher auf dem Lasttest an Weban- wendungen. So existieren für das beliebte Blogsystem Wordpress fertige Jmeter- Testpläne [3]. Als Installationsvoraussetzung nennt die Dokumentation eine Java-Laufzeitumge- bung (mindestens Version 6, aber auch 8) und passende Treiber für die anzu- sprechenden Systeme. Die Funktionalität von Jmeter ist jedoch über Skripte in

Der Anwender ruf das Tool mit »jme- ter.sh« (unter Windows: »jmeter.bat«) im Verzeichnis »$JMETER_HOME/bin« auf. Dort führt es auch die Protokolldatei »jmeter.log«, die bei Fehlern zu analysie- ren wäre. Nachdem Jmeter gestartet ist, benötigt der Anwender einen Testplan. Dazu kann er fertige Vorlagen abändern, die im Verzeichnis »bin\templates« oder »printable_docs\demos« liegen. Am ein- fachsten rufen er »File | Templates« auf und wählt aus den angebotenen Vorlagen »Building a Web Test Plan« aus. Die Bei- spielvorlage setzt zwei Anfragen an den Host [jmeter.​​apache.​​org] und die Seiten »/« und »/changes.html« ab und stellt das Ergebnis als Graph dar. Der zweite Weg zu einem Testplan ist, ein passendes Modell von Grund auf selbst anzufertigen. Testpläne sind in einem XML-Format ohne XSD-Schema verfasst. Es lässt sich aber zur Dokumentation per Stylesheet (»extras/schematic.cmd Test- plan.jmx«) in HTML umwandeln. Ein mit Jmeter gelieferter Rekorder weist den dritten und meist komfortabelsten Weg zu einem Testskript. Zu Beginn trägt der Anwender in seinem Webbrowser den Jmeter-Server-Proxy mit Port »8888« und als »localhost« ein. Dann ruft er die Vorlage für den Testskript-Rekorder auf und startet ihn. Der zeichnet nun alle Aufrufe auf, die der User im Browser absolviert. Er kann manuell das Element Testskript-Rekorder dem Icon-Workbench hinzufügen mit »Add | Non-Test Elements | HTTP(S) Test Script Recorder«. Das ist

08/2015

Titelthema

www.linux-magazin.de

0 8 / 2 0 1 5 Titelthema www.linux-magazin.de Abbildung 1: Ein einfacher Webtestplan mit Konfigurationselementen.

Abbildung 1: Ein einfacher Webtestplan mit Konfigurationselementen.

vor allem bei komplexeren Seitenaufru- fen mit Anmeldung hilfreich. Nachdem die Aufzeichnung beendet ist, lassen sich die Seitenaufrufe, ähnlich wie bei den beiden anderen Wegen, in Richtung des gewünschten Ablaufs trim- men – also in erster Linie mit Variablen konfigurierbar machen, um den Testplan beispielsweise für verschiedene Umge- bungen und Hostnamen mit passenden Parametern aufzurufen (Abbildung ​1 ).

Testpläne erweitern

Die Anzahl der simulierten Nutzer legt Jmeter in Thread Groups mit einer even-

tuell Warmlauf- oder Wartezeit an. Die eigentlichen Anfragen heißen bei Jmeter Sampler. Deren Ergebnisse sollte der Tes- ter durch Assertion auf Erfolg prüfen, um technische und fachliche Fehler unter- scheiden zu können. Auch die Nutzung von Cookies, Logins und das Ausfüllen von Formularen sind möglich. Die Logic Controller steuern die Abarbei- tung einzelner Teile des Testplans. Das Laufzeitverhalten der einzelnen Threads lässt sich per Konfiguration beeinflus- sen. Die Listener-Elemente stellen die

Testergebnisse als Grafik oder Tabelle dar

( Abbildung ​2 ). Parameter legt der Tester entweder als benutzerdefinierte Konfigu-

rationselemente (im GUI: »User Defined Variables«) am Anfang des Testplans fest oder gibt sie Jmeter als Umgebungspa- rameter mit. Im ersten Fall referenziert zum Beispiel »${host}« den Rechnerna- men in anderen Elementen. Im zweiten Fall, bei »jmeter -Jhost=www.yyy.com«, übergibt man den Parameter mit »${ property(host) }« (ein per »$Variable« referenziertes Java-Property). Die große Kunst besteht jetzt darin, den Testplan flexibel erweiterbar und einfach konfigurierbar zu gestalten, indem der Benutzer die Verbindungsparameter und Stellgrößen in Variablen auslagert [5]. Diese kann er leicht vor dem Aufruf an- passen, ohne jedes Mal den Testplan än- dern zu müssen.

Verteilt testen

Für große Last- und Stresstests ist es sinnvoll und möglich, den Testplan von mehreren Jmeter-Installationen abarbei- ten zu lassen. Die melden ihre Ergebnisse per RMI [6] an einen zentralen Jmeter- Berichtsserver, der ausschließlich für das Sammeln und Aufbereiten der Daten zuständig ist. Der Masterserver und die Slaveclients startet der Tester wie von einer Einzelinstallation gewohnt. In der Datei »bin/jmeter.properties« des Masterservers trägt der Benutzer un-

ter »remote_hosts« die IP-Adressen der Slaveclients ein oder übergibt sie auf

Apache Jmeter

31

der Slaveclients ein oder übergibt sie auf Apache Jmeter 31 Abbildung 2: Der Ergebnisgraph eines fortgeschrittenen

Abbildung 2: Der Ergebnisgraph eines fortgeschrittenen Webtestplans.

08/2015

Titelthema

Apache Jmeterwww.linux-magazin.de

32

zu testendes System Slave 1 Remote-Start Slave 1 Remote-Start All Master-GUI »jmeter.properties

zu testendes

System

zu testendes System Slave 1 Remote-Start Slave 1 Remote-Start All Master-GUI »jmeter.properties
zu testendes System Slave 1 Remote-Start Slave 1 Remote-Start All Master-GUI »jmeter.properties
zu testendes System Slave 1 Remote-Start Slave 1 Remote-Start All Master-GUI »jmeter.properties
zu testendes System Slave 1 Remote-Start Slave 1 Remote-Start All Master-GUI »jmeter.properties
zu testendes System Slave 1 Remote-Start Slave 1 Remote-Start All Master-GUI »jmeter.properties

Slave 1

Remote-Start Slave 1

Remote-Start All

Slave 1 Remote-Start Slave 1 Remote-Start All Master-GUI

Master-GUI

»jmeter.properties remote_hosts= Slave 1, Slave 2, Slave 3«
»jmeter.properties
remote_hosts=
Slave 1, Slave 2,
Slave 3«
Slave 2

Slave 2

All Master-GUI »jmeter.properties remote_hosts= Slave 1, Slave 2, Slave 3« Slave 2 Remote-Start Slave 3 Slave
Remote-Start Slave 3 Slave 3

Remote-Start Slave 3

Slave 3

Abbildung 3: Ein typischer verteilter Master-Slave-Test mit drei Slaves.

der Kommandozeile zusammen mit dem Testplan:

jmeter ‑n ‑t script.jmx ‑R Slave1,Slave2,U

Slave3

Den auf dem Master geladenen Testplan startet er über das GUI des Masters ent- weder einzeln oder er verteilt und startet ihn über »Remote Start All« auf allen Slaveclients. »Remote Stop« beendet die Testaktivitäten wieder. Ein typischer verteilter Testaufbau schaut wie in Ab- bildung ​ 3 aus. Der Benutzer sollte die Daten über die grafische Auswertung hi- naus speichern, um die Ergebnisse für Dokumentations- und Vergleichszwecke zu archivieren.

Proxys, Protokollieren, Maven

Soll Jmeter Webseiten testen, die hinter einem Firmenproxy sitzen, muss das Tool

 

Listing 1: Maven-Plugin einbinden

01

<plugin>

02

<groupId>com.lazerycode.jmeter</groupId>

03

<artifactId>jmeter‑maven‑plugin</artifactId>

04

<version>1.10.1</version>

05

<executions>

06

<execution>

07

<id>jmeter‑tests</id>

08

<phase>verify</phase>

09

<goals>

10

<goal>jmeter</goal>

11

</goals>

12

</execution>

13

</executions>

14

</plugin>

diesen als Parameter mit auf den Weg bekommen:

jmeter ‑H My.Proxy.Server ‑P 8000U ‑u Username ‑a Password ‑N localhost

Wer Jmeter ohne Oberfläche starten will, um die Ergebnisse in einer separaten Da- tei abzulegen, fügt die Parameter »-n -t my_test.jmx -l log.jtl« hinzu. »jmeter -?« listet weitere Kommandozeilen-Parame- ter aus. Bei größeren Testplänen kann es nötig werden, die Speichereinstellungen für die Java-Laufzeitumgebung in der Startdatei zu optimieren – wie »HEAP« passend zur eingesetzten JVM. Inzwischen hat das Projekt auch die TLS- Unterstützung verbessert, sodass der Testskript-Rekorder auch damit funkti- oniert. Soll der Lasttest im kontinuier- lichen Integrationsprozess ablaufen, so gibt es für das Build-Tool Maven ein pas- sendes Plugin [7]. Das kann das Konst- rukt in Listing ​ 1 in die »pom.xml«-Datei einbinden und konfigurieren. Wer einzelne Protokolle der eingangs aufgezählten, beachtlichen Liste prak- tisch anwenden will, muss mindestens die minimalen Parameter der jeweiligen Konfigurationselemente [8] angeben, beispielsweise für JDBC oder SMTP die Verbindungsinformationen.

Falschmessungen vermeiden

Spätestens seit Heisenberg ist es Allge- meingut, dass die Messung selbst oft das Messergebnis beeinflusst. Praktisch kein Lasttest kann messbedingte Seiteneffekte und Messungenauigkeiten ganz vermei-

den. Um die Auswirkungen zu minimie- ren, sollten Tester ihren Messungen eine Warmlaufphase gönnen und jede gewer- tete Messung wiederholen. Außerdem sollten sie die Last besser auf mehrere Slaves verteilen, damit nicht der einzelne Testclient zum Engpass wird.

Fazit

Apache Jmeter erweist sich in der Praxis als ein gut handhabbares Werkzeug, um einfache Lasttests durchzuführen. Es ist auch für größere verteilte Lasttests leis- tungsstark genug. Hier liegen klar seine Stärken. Fürs gezielte Auswerten der Tests und das grafische Aufbereiten der Ergebnisse ist der Benutzer dagegen auf externe Spezialwerkzeuge wie Excel oder Matplotlib angewiesen. Die beiliegenden Vorlagen, Beispiele und Dokumentationen helfen beim Einstieg. Im Open-Source-Reich trifft Jmeter kaum auf ernsthafte Konkurrenten, sodass es sich unbekümmert auch beim Publikum kommerzieller Lasttestwerkzeuge als kostenlose und verlässliche Alternative empfehlen und etablieren kann. (jk) n

Infos

[1] Jmeter: [http://jmeter. apache.org] [2] Grinder 3: [http://grinder. sourceforge. net] [3] Jmeter-Testvorlagen für Wordpress:

when - using- blazemeter -its- easy- task] [4] Jmeter-Erweiterungen:

[http://jmeter - plugins.org] [5] Jmeter-Tipp-Sammlung:

[http://blazemeter.com/apache - jmeter] [6] Jmeter-Master-Slave-Test: [http://jmeter. apache.org/usermanual/remote - test. html] [7] Jmeter-Maven-Plugin:

[https://github.com/jmeter -maven - plugin/] [8] Jmeter-Konfigurautionselemente:

Der Autor Frank Pientka ist Senior Software Architect bei der Materna GmbH in Dor tmund. Er ist zertifizier - ter SCJP und Gründungsmitglied des I-SAQB. Als Autor des Buches zu Apache Geronimo beschäf- tigt er sich viel mit dem Einsatz von Java-Open- Source-Software.

08/2015

Titelthema

Apache HTTP-Serverwww.linux-magazin.de

Performance-Tuning für den Apache-Webserver

Pfeilschnell

Das rasante Wachstum des Internets verlangt Webservern immer mehr ab. Kann Apaches altgedienter HTTP- Server hier noch mithalten? Er kann – wenn der Admin den Bogen raus hat. Christoph Mitasch

34

© lightpoet, 123RF
© lightpoet, 123RF

Apaches HTTP‑Server bleibt der meist‑ genutzte Webserver im Internet [1], auch wenn die erste Version bereits vor zwei Jahrzehnten erschien – im April 1995. Das liegt auch daran, dass ihn das Projekt ständig weiterentwickelt. Er punktet im Wettbewerb zudem durch seinen modu‑ laren Aufbau und die damit einherge‑ hende große Funktionsvielfalt. Doch die Konkurrenz schläft nicht, und so sind seit ein paar Jahren alternative Webserver auf dem Vormarsch, allen vo‑ ran Nginx. Das entging auch der Apa‑ che Software Foundation nicht, weshalb sie sich für Version 2.4 das Ziel setzte, in puncto Performance wieder den An‑ schluss an Nginx zu finden. Ob das gelungen ist, darüber streiten die Fachleute. Fakt ist, dass die neue Version die alte in Sachen Performance überflügelt. Das belegt unter anderem ein Vergleich der Webserver‑Versionen von Debian Wheezy (2.2.22) und Debian Jes‑ sie (2.4.10). Wie Abbildung 1 zeigt, arbei‑

tet der Server in Version 2.4 eine Million Zugriffe etwa 20 Sekunden schneller ab als die Vorgängerversion 2.2. Unter Jessie haben die Tester dazu an‑ stelle des Multi Processing Module Event (MPM) das MPM Worker aktiviert, um das gleiche Modul zu verwenden. Ge‑ testet haben sie den direkten Zugriff auf »localhost« in einer Virtualbox‑VM mit 512 MByte RAM. Beim Vergleich kam Apaches Benchmarktool »ab« [2] zum Einsatz, das jeweils auf eine Textdatei mit dem Inhalt »hello world« zugriff. Wie performant der Server eine Web‑ seite ausliefert, hängt allerdings noch von anderen Faktoren ab. So verwenden die Webapplikationen meist Skriptspra‑ chen wie PHP und Perl, hinzu kommen Datenbankabfragen (etwa über MySQL). Ein Admin sollte im Hinterkopf behal‑ ten, dass auch sie nicht selten die Perfor‑ mance ausbremsen. Wer den Apachen tunen möchte, sollte jedoch ein paar Dinge beachten. Um sich

beispielsweise auf einem Produktivsys‑ tem beim Experimentieren nicht die be‑ stehende Konfiguration zu zerschießen, versioniert der Admin diese am besten mit »etckeeper« [3]. Außerdem testet er neue Konfigurationen noch vor einem Neustart oder Reload des Dienstes bes‑ ser über »apache2ctl ‑t« auf syntaktische Korrektheit.

RAM, RAM, nochmals RAM

Jeder HTTP‑Prozess auf dem Webserver benötigt einige MByte RAM. Daher ist es für viele Zugriffe essenziell, dass aus‑ reichend Arbeitsspeicher verfügbar ist. Reicht der nicht aus, beginnt der Server zu swappen, er lagert den Arbeitsspei‑ cher auf die Festplatte aus. Weil der Da‑ tendurchsatz von Festplatten selbst in Zeiten von SSDs noch immer um ein Vielfaches langsamer ist als der des RAM, sollte der Admin das nach Kräften ver‑ hindern. Unter Linux bedeutet mehr RAM zu‑ gleich, dass der Kernel einen größeren Pagecache halten kann, was I/O‑Abfra‑ gen massiv beschleunigt. Auch dies sollte der Admin bei der RAM‑Dimensionierung berücksichtigen. Des Weiteren muss er die Apache‑Konfiguration auf den ver‑ fügbaren Arbeitsspeicher abstimmen. Er‑ laubt er zu viele Prozesse, ist der verfüg‑ bare Speicher schnell aufgebraucht. Für das MPM Prefork bietet sich die Formel aus Abbildung 2 an.

Apachebuddy.pl

Das Perl-Skript »apachebuddy.pl« gibt au- tomatisiert Tipps, die einem Admin dabei helfen, den Apachen in Bezug auf den Ar- beitsspeicher zu konfigurieren. Listing 1 zeigt einen Auszug von einem Webserver, der noch unter Debian Squeeze LTS läuft.

35 www.linux-magazin.de Apache HTTP-Server 08/2015 Titelthema
35
www.linux-magazin.de
Apache HTTP-Server
08/2015
Titelthema

Abbildung 1: Bereits in der Standardkonfiguration zeigt sich Apaches HTTP-Server unter Debian Jessie performanter als unter Debian Wheezy.

Die einzelnen Werte kann der Admin zum Beispiel über »top« ermitteln (Abbildung 3). Indem er [Shift]+[M] drückt, zeigt »top« die Prozesse sortiert nach Speicher‑ bedarf an. In der Spalte »RES« erscheint der tatsächliche Arbeitsspeicherbedarf der Prozesse. Im Beispielsetup standen insgesamt 16 GByte RAM zur Verfügung. MySQL be‑ nötigte 39 MByte, der größte Apache‑ HTTP‑Prozess gerade mal 22 MByte. Den Nameserver Bind kann der Admin vernachlässigen, er beansprucht nicht einmal 1 MByte RAM.

Zieht der Administrator hier also die in der Abbildung 2 vorgestellte Formel heran und für das Betriebssystem 100 MByte sowie für MySQL noch mal 50 MByte ab und sieht zugleich für den Pagecache 2 GByte vor, kommt er am Ende auf einen Wert von 644 für »Max‑ RequestWorkers«. Diese Variable legt fest, wie viele Anfragen der Server im Ernstfall zeitgleich abarbeiten kann. Um dem Server im Ernstfall etwas Luft zu verschaffen, wäre im konkreten Fall ein Maximum von 400 Zugriffen eine gute Wahl. Alternativ kann der Serverbetrei‑

ber auch kleine Helfer einsetzen, welche die Kalkulation übernehmen (siehe Kas- ten „Apachebuddy.pl“).

Multiprocessing-Module

Apache HTTP unterstützt in Version 2.4

unter Linux drei verschiedene Multipro‑ cessing‑Module (MPM):

n

n

n

Seit Version 2.4 kann der Server MPMs

zudem zur Laufzeit laden.

Prefork

Worker

Event

Listing 1: »apachebuddy.pl«

 

01

root@testserver:~# wget apachebuddy.pl ‑O apachebuddy.pl

24

The smallest apache process is using 15.01 MB of memory

02

root@testserver:~# perl apachebuddy.pl

25

The average apache process is using 20.53 MB of memory

03

######################################################################

26

Going by the average Apache process, Apache can potentially use 3079.51 MB RAM (19.22 % of available RAM)

04

05

# Apache Buddy v 0.3 #################################################

27

Going by the largest Apache process, Apache can potentially use 4588.51 MB RAM (28.64 % of available RAM)

06

07

######################################################################

28

08

29

Generating reports

09

Gathering information

30

### GENERAL REPORT ###

10

We are checking the service running on port 80

31

11

The process listening on port 80 is /usr/sbin/apache2

32

Settings considered for this report:

12

The process running on port 80 is Apache/2.2.16 (Debian)

33

13

Apache has been running 7d 01h 39m 11s

34

Your server's physical RAM:

16024MB

14

The full path to the Apache config file is: /etc/apache2/apache2.conf

35

Apache's MaxClients directive:

150

15

Apache is using prefork model

36

Apache MPM Model:

prefork

16

37

Largest Apache process (by memory):

30.59MB

17

Examining your Apache configuration

38

[ OK ] Your MaxClients setting is within an acceptable range.

18

Apache runs as apache

39

Max potential memory usage:

4588.5 MB

19

Your max clients setting is 150

40

20

41

Percentage of RAM allocated to Apache

28.64 %

21

Analyzing memory use

42

22

Your server has 16024 MB of memory

43

‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑

23

The largest apache process is using 30.59 MB of memory

44

08/2015

Titelthema

Apache HTTP-Serverwww.linux-magazin.de

36

1 5 Titelthema Apache HTTP-Server www.linux-magazin.de 36 Abbildung 2: Die Anzahl der Prozesse auf einem

Abbildung 2: Die Anzahl der Prozesse auf einem Apache-Server sollte der Admin an die Größe des verfügbaren RAM anpassen.

»mod_mpm_event.so«), das seit Apache 2.4 als stabil gilt. Die wichtigsten Optio‑ nen für MPM Worker

und Event sind identisch:

Das MPM Prefork (Modulname: »mod_

griffe. Beachtenswert ist auch die Direk‑

n

»ThreadsPerChild«

mpm_prefork.so«) kommt ohne Threads

tive »ServerLimit«, die eine Obergrenze

n

»MinSpareThreads«, »MaxSpareThreads«

aus. Für jeden Zugriff existiert ein ei‑

für »MaxRequestWorkers« festlegt, der

n

»MaxRequestWorkers«

gener Prozess im System. Beim Einsatz

Standardwert liegt bei »256«.

n

»ServerLimit«

von PHP als Apache‑Modul ist dies im Normalfall die einzige Option für den Betrieb, denn in PHP gibt es zu viele Bibliotheken von Drittanbietern, die noch nicht Thread‑safe sind [4]. Wer ein Threaded MPM zusammen mit PHP verwenden möchte, kann dies mit Fast CGI und PHP‑FPM realisieren. Ob sich der Umstieg lohnt, ist aus Perfor‑ mancesicht jedoch fraglich. Die Vorteile durch das Threaded MPM verlieren sich

Wer für »MaxRequestWorkers« einen größeren Wert erwartet, muss die Direk‑ tive »ServerLimit« parallel dazu erhöhen. »MaxConnectionsPerChild« legt fest, wie viele Verbindungen ein einzelner Prozess abarbeiten darf. In einer perfekten Welt ist der Wert 0, was bedeutet, dass der Ser‑ ver Prozesse für alle folgende Requests nie neu startet. Bei umfangreichen Ap‑ plikationen kann es jedoch sinnvoll sein, Prozesse nach ein paar Hundert Verbin‑

»ThreadsPerChild« legt fest, wie viele Threads ein einzelner Prozess erstellen darf. »MinSpareThreads« und »MaxSpare‑ Threads« funktionieren analog zu den oben erwähnten Direktiven »MinSpare‑ Servers« und »MaxSpareServers«. »MaxRequestWorkers« limitiert die ge‑ samte Anzahl an Threads. Der Standard‑ wert von »ServerLimit« liegt im Falle von Threaded MPMs bei 16. Multipliziert der Admin »ThreadsPerChild« (Standard:

aufgrund der Performance‑Nachteile, die eine PHP‑Integration über Fast CGI nach sich zieht, teilweise wieder [5]. Die folgenden Optionen sind beim MPM Prefork relevant:

dungen wieder zu erneuern. Das gibt den vom Prozess verwendeten RAM‑Bereich wieder frei, was Memory Leaks vorbeugt. Reichen die konfigurierten »MaxRequest‑ Workers« nicht aus, erscheint im Logfile

25) mit »ServerLimit« (Standard: 16), er‑ hält er das obere Limit für die Anzahl an Threads. Die Default‑Einstellung er‑ laubt somit einen Wert von maximal 400 Threads für »MaxRequestWorkers«.

n

»StartServers«

die Meldung aus Listing 2.

n

»MinSpareServers«, »MaxSpareServers«

Ohne PHP‑Modul kann der Admin ein

n

»MaxRequestWorkers«

Threaded MPM ohne Bedenken einset‑

n

»ServerLimit«

zen. Dadurch arbeitet der Server einen

n

»MaxConnectionsPerChild«

Zugriff durch einen einzelnen Thread ab

»mod_mpm_worker.so«) eingeführt, seit

»StartServers« legt fest, wie viele Pro‑ zesse der Webserver nach einem Neu‑ start vorweg starten soll. »MinSpareSer‑ ver« und »MaxSpareServers« bestimmen, wie viele unbenutzte Prozesse Apache mindestens vorhalten soll beziehungs‑ weise maximal vorhalten darf. »MaxRe‑ questWorkers« (bis 2.3.13 »MaxClients«) limitiert die maximale Prozessanzahl und somit die Anzahl der gleichzeitigen Zu‑

statt durch einen einzelnen Prozess. Da ein Thread weniger Overhead erzeugt als ein Prozess, erreicht der Server so eine bessere Performance. Unter Apache stehen zwei Threaded MPMs bereit. Mit Version 2.0 haben die Entwickler MPM Worker (Modulname:

Version 2.2 gibt es ein zusätzliches Threa‑ ded MPM namens Event (Modulname:

ein zusätzliches Threa‑ ded MPM namens Event (Modulname: Abbildung 3: Das Linux-Standardtool »top« zeigt die

Abbildung 3: Das Linux-Standardtool »top« zeigt die Prozesse des HTTP-Servers an.

Listing 2: Logfile-Meldung

01 [Fri Jun 05 13:15:24.760818 2015] [mpm_prefork:error] [pid 1649] AH00161: server reached

MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting

Module entschlacken

Apache HTTP liefert etwa 120 Module mit und integriert auf Wunsch noch viele weitere von Drittanbietern [6]. Die Ser‑ verbetreiber sollten stets im Hinterkopf behalten, dass zusätzliche Module meist auch mehr RAM benötigen. Es ergibt sowohl aus Performance‑ als auch aus Sicherheitssicht Sinn, aktivierte Module zu prüfen (Listing 3) und nicht benötigte zu deaktivieren. Debianer und Ubuntu‑User aktivieren und deaktivieren Module ganz einfach über die Kommandos »a2enmod« bezie‑ hungsweise »a2dismod«. In der Standard‑ konfiguration ist Apache 2.4 aber bereits ausreichend aufgeräumt. Es hilft zudem, dass »a2dismod« warnt (Listing 4), falls der Admin ein essenzielles Modul ab‑ schalten möchte. Unter Centos und RHEL verwaltet er die Module in der Regel über die Datei »/etc/httpd/conf.d/«.

DNS-Lookups und Keepalive

Die Direktive »HostnameLookups« sollte ein Admin unbedingt auf »No« stellen, was Apache seit Version 1.3 ohnehin standardmäßig tut. Ist sie aktiviert, star‑

08/2015

Titelthema

www.linux-magazin.de

tet Apache für jede Webserververbindung einen zusätzlichen DNS Reverse Lookup, was ihn unnötig ausbremst. Alternativ übernehmen eine eigene Log‑Analyse‑ software oder das Apache‑Tool »logre‑ solve« die DNS‑Auflösung. Ähnlich verhält es sich auch mit der Direktive »Allow/Deny from example. org « beziehungsweise der seit Version 2.4 empfohlenen Syntax »Require host example.org«. Auch sie führt zu unnöti‑ gen DNS‑Lookups, weshalb Apache‑Be‑ treiber besser eine IP‑Adresse verwenden:

»Allow/Deny from 192.0.2.0« und »Re‑ quire ip 192.0.2.100«. Wer nicht auf die Hostname‑Lookups ver‑ zichten möchte, kann diese Möglichkeit auch explizit für bestimmte Dateien oder Verzeichnisse aktivieren:

HostnameLookups off <Files ~ "\.(cgi)$"> HostnameLookups on </Files>

Die Direktive »KeepAlive« aktiviert Keepalive‑Verbindungen per Default. Dadurch verarbeitet eine einzige TCP‑ Verbindung mehrere Anfragen. Ein Prob‑ lem dabei ist, dass ein zu hoher Wert für »KeepAliveTimeout« zu viele wartende Prozesse oder Threads generiert.

Unnötigen Verwaltungs-IO vermeiden

Häufig verwenden Admins ».htaccess«‑ Dateien, die den Apache‑Server direkt aus dem »DocumentRoot« heraus steu‑ ern und sich zum Beispiel um IP‑Limitie‑ rungen, Passwortabfragen oder Rewrites kümmern. Hierbei kommt die Direktive »AllowOverride« zum Zuge. Der Nachteil:

Bei jedem Zugriff prüft der Webserver, ob eine ».htaccess«‑Datei im jeweiligen Verzeichnis liegt, die er verarbeiten muss. Der Admin sollte die Direktive »Allow Override« daher global so weit wie mög‑ lich auf »None« setzen und sie nur expli‑ zit für jene Verzeichnisse erlauben, wo er sie einsetzt. Prinzipiell kann er jede Konfiguration einer ».htaccess«‑Datei auch direkt in der Apache‑Konfiguration vornehmen, doch hat er im Shared‑Hosting‑Umfeld oft keinen direkten Zugriff auf die Config‑ Dateien, obwohl die Webapplikationen bestimmte Apache‑Features benötigen.

Ähnlich verhält es sich auch mit der Option »SymLinksIfOwnerMatch« der »Options«‑Direktive. Aus Sicherheits‑ gründen ergibt es im Shared Hosting Sinn, wenn sie aktiviert ist. Aus Perfor‑ mancesicht weniger, weil der Server bei Zugriffen zusätzlich den Besitzer von Symlinks prüfen muss. Wer alles aus seinem Webserver her‑ ausholen möchte, der verwendet die Direktive »DirectoryIndex« besser ohne Wildcard (»index«). Ebenso sollte er die Option »MultiViews« deaktivieren und stattdessen Type‑Maps verwenden. Nicht zuletzt empfiehlt es sich, den Sendfile‑ Support auf »EnableSendfile On« zu stel‑ len, wobei sich hieraus unter Umständen Probleme mit Netzwerkmounts ergeben.

Browser-Caching

Das Modul »mod_expires« kann Browser anweisen, bestimmte statische Inhalte für längere Zeit zu cachen. Dies reduziert die Anzahl der Anfragen an den Apa‑

che‑Webserver. Das Modul aktiviert der Admin unter Debian und Ubuntu über:

a2enmod expires

Danach legt er fest, für welche Dateitypen er das wünscht (Listing 5). Ebenfalls relevant ist es, Inhalte kompri‑ miert auszuliefern. Das übernimmt das Modul »mod_deflate«. Unter Debian exis‑ tiert auch schon eine Standardkonfigu‑ ration für dieses Modul (Listing 6). Seit Apache 2.4 komprimiert »mod_deflate« Dateien nur dann, wenn der Overhead aufgrund der Kompression kleiner ist als die zu komprimierenden Daten. Ganz kleine Dateien tastet er also mitunter nicht an. Listing 7 zeigt, wie der Admin anhand des Serverheaders die Verfallsda‑ ten und Kompression überprüft.

Statischen und dynami- schen Content trennen

Benötigen einzelne Apache‑Prozesse viel RAM (etwa wegen einer umfangreichen

Listing 3: Geladene Module auflisten

 

01 root@debian:~# apache2ctl ‑M

15

authn_file_module (shared)

02 Loaded Modules:

16

authz_core_module (shared)

03 core_module (static)

17

authz_host_module (shared)

04 so_module (static)

18

authz_user_module (shared)

05 watchdog_module (static)

19

autoindex_module (shared)

06 http_module (static)

20

deflate_module (shared)

07 log_config_module (static)

21

dir_module (shared)

08 logio_module (static)

22

env_module (shared)

09 version_module (static)

23

filter_module (shared)

10 unixd_module (static)

24

mime_module (shared)

11 access_compat_module (shared)

25

mpm_prefork_module (shared)

12 alias_module (shared)

26

negotiation_module (shared)

13 auth_basic_module (shared)

27

php5_module (shared)

14 authn_core_module (shared)

28

setenvif_module (shared)

Listing 4: Modulwarnung

 

01 root@debian:~# a2dismod mime

04

02 WARNING: The following essential module will be

05

mime

disabled.

06

03 This might result in unexpected behavior and

07

should NOT be done

Listing 5: Verfallsdaten für Dateitypen

 

01 ExpiresActive on

05

02 ExpiresByType image/gif "access plus 1 months"

"access plus 1 months"

 

06

03 ExpiresByType image/jpeg "access plus 1 months"

"access plus 1 months"

04 ExpiresByType image/png "access plus 1 months

07

say!' or retry by passing '‑f':

unless you know exactly what you are doing!

To continue type in the phrase 'Yes, do as I

ExpiresByType application/x‑font‑woff

ExpiresByType application/javascript

ExpiresByType text/css "access plus 1 months"

Apache HTTP-Server

37

38 Titelthema Apache HTTP-Serverwww.linux-magazin.de 08/2015
38
Titelthema
Apache HTTP-Serverwww.linux-magazin.de
08/2015

Abbildung 4: Die Statistiken helfen dem Admin bei der Analyse, sollten aber nicht im Internet verfügbar sein.

PHP‑Applikation), kann es vorteilhaft sein, dass nicht gerade diese überbeschäf‑ tigten Prozesse die statischen Inhalte ausliefern. Den Job sollte vielmehr ein zusätzlicher Apache‑Server mit möglichst schlanker Konfiguration und minimalem Speicher‑Footprint übernehmen. Die‑ sen macht der Admin dann zum Front‑ end‑Server, der PHP‑Anfragen an den

© doc/percona-monitoring-plugins/1.1/] Quelle: [https://www.percona.com/
© doc/percona-monitoring-plugins/1.1/]
Quelle: [https://www.percona.com/

Abbildung 5: Verschiedene Monitoring-Lösungen lassen sich mit dem Apache-Server verbinden, unter anderem Percona.

zusätzlichen Apache‑ Webserver via »mod_ proxy« weiterleitet. Alternativ verwendet er eigene (Sub‑)Do‑ mains für statische Inhalte wie etwa »sta‑ tic.linux‑magazin.de«, oder, wie bei Youtube, gleich eine eigene Do‑ main (»i.ytimg.com«).

Monitoring

darauf muss der Admin meist noch ex‑ plizit erlauben:

<Location /server‑status> SetHandler server‑status Require ip 192.0.2.0/24 </Location>

Startet er anschließend noch den Webser‑ ver neu, sollte der Zugriff auf die Status‑ seite funktionieren – jedoch hoffentlich nur aus dem LAN heraus (siehe Kasten „Zu gut erreichbar“) Die Statusseite kommt bei der manuellen Analyse zum Einsatz, um zum Beispiel spezielle Lastspitzen zu messen. Dane‑ ben bildet diese Seite die Grundlage für automatisiertes Monitoring, das etwa über ein Nagios‑ oder Icinga‑Plugin ([7], [8]) oder über das Percona Apache Mo‑ nitoring Template für Cacti (Abbildung 5, [9]) erfolgen kann. Damit überwacht der Admin den Apache‑Webserver systema‑ tisch und wertet die Daten aus. Logischerweise verursacht »mod_sta‑ tus« einen gewissen Overhead. Wer je‑ doch sein System sinnvoll überwachen möchte, sollte die zwei zusätzlichen Sys‑ temcalls pro Zugriff in Kauf nehmen.

Benchmarks

Um die Tuning‑Maßnahmen auf ihre Sinnhaftigkeit zu überprüfen, sollte der Admin konkrete Zahlen zum Webserver ermitteln. Der bringt dafür sein eigenes Benchmarktool namens »ab« mit, das di‑ rekt über HTTP/HTTPS arbeitet und sich für beliebige Webserver einsetzen lässt. Der Tester konfigurierte die Anzahl der Requests (»‑n Requests «) und die Anzahl

Zu gut erreichbar

Die Server-Statusseite des offiziellen Apa- che-Webservers (Abbildung 4) ist öffentlich zugänglich. Ist der eigene Server über das Internet erreichbar, ist eine Veröffentlichung also nicht zu empfehlen.

Das Modul »mod_sta‑ tus« erlaubt Interessierten, Aktivität und Performance des Apache‑Servers abzu‑ fragen. Per Default ist das Modul inaktiv. Der Admin schaltet es unter Debian oder Ubuntu einfach über

a2enmod status

ein. Die URL für den Zugriff lautet nor‑ malerweise »/server‑status«. Den Zugriff

Listing 6: Standardkonfiguration für »mod_deflate«

01

AddOutputFilterByType DEFLATE text/html text/plain text/xml

 

02

AddOutputFilterByType DEFLATE text/css

 

03

AddOutputFilterByType DEFLATE application/x‑javascript application/javascript application/ecmascript

04

AddOutputFilterByType DEFLATE application/rss+xml

 

05

AddOutputFilterByType DEFLATE application/xml

 

Listing 7: Serverheader-Check

   

01

root@debian:~# wget ‑‑server‑response

 

09 Last‑Modified: Fri, 05 Jun 2015 13:02:45 GMT

‑‑header="accept‑encoding: gzip"

10 ETag: "aa0‑517c4e8861a8a‑gzip"

http://localhost/test.css

11 Accept‑Ranges: bytes

02

‑‑2015‑06‑07 06:06:57‑‑ http://localhost/

12 Vary: Accept‑Encoding

test.css

 

13 Content‑Encoding: gzip

03

Resolving localhost (localhost)

::1,

14 Cache‑Control: max‑age=2592000

127.0.0.1

 

15 Expires: Tue, 07 Jul 2015 04:06:57 GMT

04

Connecting to localhost (localhost)|::1|

16 Content‑Length: 102

:80

connected.

 

17 Keep‑Alive: timeout=5, max=100

05

HTTP request sent, awaiting response

18 Connection: Keep‑Alive

06

HTTP/1.1 200 OK

19 Content‑Type: text/css

07

Date: Sun, 07 Jun 2015 04:06:57 GMT

20 Length: 102 [text/css]

08

Server: Apache/2.4.10 (Debian)

21 Saving to: 'test.css'

08/2015

Titelthema

www.linux-magazin.de

gleichzeitiger Zugriffe (»‑c Concurrency«). Abbildung 1 zu Beginn des Artikels zeigt einen Aufruf. Ein komplexeres Benchmarktool, das auch von der Apache Software Founda‑ tion stammt, ist das Java‑basierte Jmeter (siehe Artikel im Schwerpunkt), weitere Tools heißen »curl‑loader« und »httperf«. Vorsicht ist bei produktiven Systemen ge‑ boten, um sie nicht ungewollt selbst mit einem Denial‑of‑Service auszuknocken. Betreiber einer PHP‑Applikation sollten sich einen PHP‑Profiler anschauen, zum Beispiel Xhprof [10]. Erst dadurch lässt sich erkennen, wie viele Ressourcen PHP und die zugehörigen Datenbankabfragen benötigen.

Resümee

Bevor der Admin seinen Apachen gegen einen anderen Webserver eintauscht, sollte er zunächst nach Bottlenecks in den Webapplikationen schauen. Häufig

bremst nicht der HTTP‑Server selbst, sondern eine umfangreiche PHP‑Anwen‑ dung, die zu viele Datenbankabfragen generiert. Erst danach sollte sich der Blick auf die Performance des Webser‑ vers selbst richten. Die lässt sich über zahlreiche Direktiven an verschiedenen Ecken optimieren. Versehen mit ausrei‑ chend RAM genügt Apaches Server dann auch noch den heutigen Performance‑ Ansprüchen des Admin. (kki) n

Infos

[1]

Netcraft Webserver Survey May 2015:

[2] Apaches Benchmarktool »ab«:

[4] PHP-FAQ zu Threaded MPM:

[5] Apache versus Nginx:

[https://modules.apache.org] [7] Nagios-Plugins für den HTTP-Server:

[https://exchange.icinga.org] [9] Percona Apache Monitoring Template für Cacti: [https://www.percona.com/doc/

[3] Versionierung von »/etc/« mit »etckee- per«: [https://www.thomas-krenn.com/de/

Der Autor Christoph Mitasch arbeitet bei der Thomas Krenn AG und hat „Computer- und Mediensicherheit“ an der FH Hagenberg studiert.

Apache HTTP-Server

39

bei der Thomas Krenn AG und hat „Computer- und Mediensicherheit“ an der FH Hagenberg studiert. Apache

12/2010

08/2015

Software

Software

www.linux-magazin.de

www.linux-magazin.de

In eigener Sache: DELUG-DVD

In eigener Sache: DELUG-DVD Linux-Videos, IP-Fire , Raspi-E-Book

Linux-Videos, IP-Fire, Raspi-E-Book

Auch diesen Monat bekommen die DELUG-Käufer die doppelte Datenmenge zum einfachen Preis: Die erste Seite der DVD enthält Videos der Grazer Linuxtage 2015, die zweite unter anderem die Fedora 22 Workstation, eine Appliance zur Analyse von Malware, ein E-Book über den Raspberry Pi und vieles mehr. Tim Schürmann

Einführung

Einführung

41 41

 

Inhalt

42

IP-Fire Die aktuelle Version der leistungsfähigen Firewall-Distribution erneuert Open SSL und Strong Swan.

44

Bitparade Vier Programme im Vergleich, die VPN mit einem P2P-Ansatz verschmelzen.

50

Libre Office Viewer Eine abgespeckte Version von Libre Of- fice läuft nun auf dem Android-Handy.

52

Tooltipps Werkzeuge im Kurztest: Devices in LAN 0.4, Gxmessage 3.4.3, Site Monitoring 2.1.6, Bleachbit 1.6, Fehashmac 1.4.2, SSH Guard 1.5.

Neben einem normalen Linux-Magazin ohne Datenträger gibt es die DELUG-Aus- gabe mit Monats-DVD, bei der die Redak- tion den Datenträger nach einem speziel- len Konzept zusammenstellt: In einer Art modularem System enthält er Programme

In einer Art modularem System enthält er Programme Abbildung 2: Das E-Book demonstriert verschiedene

Abbildung 2: Das E-Book demonstriert verschiedene Einsatzmöglichkeiten für den Raspberry Pi.

und Tools, welche die jeweilige Maga-

zin-Ausgabe testet und bespricht. Zu- dem gibt es im Heft nicht abgehandelte Software, die die Re- daktion besonders empfiehlt, alles ge- bündelt unter einer HTML-Oberfläche.

empfiehlt, alles ge- bündelt unter einer HTML-Oberfläche. Abbildung 1: Mit den in der Remnux-VM enthaltenen

Abbildung 1: Mit den in der Remnux-VM enthaltenen Open-Source-Werkzeugen lassen sich Programme zur Analyse in ihre Einzelteile zerlegen.

zum Beispiel Wireshark zur Analyse der Netzwerkkommunikation.

E-Book und Fedora 22

Als E-Book wartet „Linux mit Raspberry Pi“ (Abbildung 2) aus dem Franzis-Ver- lag auf Leser. In ihm beschreibt Autor Christian Immler auf über 300 Seiten Ein- satzmöglichkeiten für den Minicomputer. Unter anderem entstehen ein NAS-Server und ein virtueller Diaprojektor. Daneben enthält die DVD das aktuelle Fedora 22 Workstation (64 Bit) als ISO-Image. Für den Betrieb in der Cloud oder einer Vir- tualisierungslösung eignet sich das Image mit Fedora 22 Atomic Host. Wem das nicht reicht, der baut mit der aktuellen Version von IP-Fire eine leis- tungsfähige Firewall auf, betrachtet mit dem Libre Office Viewer Dokumente auf Android-Geräten oder entwickelt Pro- gramme mit Hilfe von Mozillas Program- miersprache Rust. (kki) n

Seite A: Gra- zer Linuxtage

Die Seite A ist bis zum Rand mit Vi- deos gefüllt. Wer mit dem Browser auf

sie zugreift, erreicht über ein HTML-Menü ausgewählte Vor- träge der Grazer Linuxtage 2015. Sie zei- gen unter anderem, wie Nutzer unstruk- turierte Daten mit PostgreSQL speichern, sicher miteinander kommunizieren, komplexe reguläre Ausdrücke schreiben und erste Schritte beim Programmieren in Python unternehmen.

Remnux 6.0

Wer die Silberscheibe umdreht und mit dem Browser darauf zugreift, stößt auf zahlreiche weitere Inhalte. Aus ihnen sticht die Appliance mit Remnux 6.0 hervor (Abbildung 1). Sie basiert auf Ubuntu-Linux 14.04 und enthält zahlrei- che vorinstallierte Tools zur Analyse von potenzieller Schadsoftware. Beispiels- weise extrahiert das Skript »officeparser« Makros aus Word-Dokumenten, während die Virus-Total-Tools ein verdächtiges Programm auf Schadcode abklopfen. Hinzu kommen bekannte Werkzeuge,

IP-Fire 2.17 Core Update 90 Thermisch gesichert 42 Die schlanke Linux-Distribution IP-Fire ist für den
IP-Fire 2.17 Core Update 90
Thermisch gesichert
42
Die schlanke Linux-Distribution IP-Fire ist für den Betrieb als Firewall zugeschnitten, der Admin richtet sie
komfortabel über eine Weboberfläche ein. Die neue Version kann unter anderem den Netzwerkverkehr auf
Basis geografischer Daten filtern. Tim Schürmann
CD
brennt oder mit »dd« auf einen USB-
Stick schreibt. Für eingebettete (ARM-)
Systeme stellt das IP-Fire-Projekt ein 215
MByte großes Flash-Image mit vorinstal-
liertem IP-Fire bereit, unter anderem für
den Raspberry Pi [2].
Farbenspiele
Wer das ISO-Image verwendet, installiert
IP-Fire nach Schema F über einen As-
sistenten. Nach einem Neustart erfragt
IP-Fire unter anderem den Hostnamen
und den Domainnamen des Firewall-
Rechners sowie die Passwörter für den
Benutzer »root« und den normalen User
»admin«.
Bei
der Netzwerkeinrichtung kennzeich-
net
IP-Fire alle Schnittstellen mit Farben:
Software
IP-Firewww.linux-magazin.de
08/2015
© Achim Prill, 123RF

IP-Fire genügt bereits ein System mit i586-Prozessor ab 1 GHz, 512 MByte Hauptspeicher, 4 GByte Festplattenplatz und zwei Netzwerkschnittstellen [1]. Die Festplatte beziehungsweise SSD greift

sich IP-Fire komplett, sie sollte folglich keine wichtigen Daten mehr enthalten. Die Installation erfolgt über ein gerade einmal 156 MByte großes ISO-Image, das der Administrator wahlweise auf eine

großes ISO-Image, das der Administrator wahlweise auf eine Abbildung 1: In der Weboberfläche markiert IP-Fire die

Abbildung 1: In der Weboberfläche markiert IP-Fire die Schnittstellen in ihren jeweiligen Farben.

Unsichere Devices, die etwa ins Inter-

net

führen, erscheinen rot, alle sicheren

ins

Intranet grün, WLAN-Schnittstellen

hingegen blau und eine eventuelle DMZ orangefarben (Abbildung 1). Bei zwei eingebauten LAN-Schnittstellen markiert IP-Fire eine rot, die andere grün. Um noch weitere blaue und orangefar- bene Schnittstellen zuzuweisen, wählt

der Admin erst »Typ der Netzwerkkonfi-

guration« und dann den passenden Mo- dus. Danach ordnet er über »Netzerkkar-

tenzuordnungen« jeder Schnittstelle ihre Farbe zu.

In den »Adresseinstellungen« wählt er

nacheinander die Schnittstellen anhand ihrer Farbe aus und weist ihnen da-

jeweils eine IP-Adresse zu. Grüne

bei

Heft-DVD DELUG-DVD Auf der DELUG-DVD findet sich das ISO-Image der IP-Fire-Ausgabe 2.17 Core Update 90.
Heft-DVD
DELUG-DVD
Auf der DELUG-DVD findet sich
das ISO-Image der IP-Fire-Ausgabe 2.17 Core
Update 90.

08/2015

Software

www.linux-magazin.de

0 8 / 2 0 1 5 Software www.linux-magazin.de Abbildung 2: Dank des Geo-IP-Filters lässt sich

Abbildung 2: Dank des Geo-IP-Filters lässt sich schnell Netzwerktraffic aus bestimmten Ländern abblocken.

Schnittstellen brauchen stets statische IP-Adressen, rot markierte bringen den Rechner in der Regel ins Internet. Sie erhalten wahlweise eine statische IP-Adresse, beziehen diese per DHCP oder pr