Was wäre wenn...Quake heute auf den Markt kommen würde. Passend zum letzten Artikel, konnte ich mir diesen Post nicht verkneifen. Mit ein wenig Augenzwinkern geht das folgende Video der Frage nach, was zur Hölle mit der heutigen (Spieler-)Generation los ist.
So nun reißt euch mal von Farmville los und schaut wie Oma und Opa das früher gemacht haben. 😀
Fünf coole Linuxspiele und ein Gewinner
Ich schreibe die ganze Zeit von der Konfiguration des Servers, da das wirklich unzählige interessante Aspekte sind, aber wo sind bitte schön die ganzen Spiele? Wer sich mal selbst an so ein Projekt wagt stellt bald fest, dass es gar nicht so schwer ist einfach mal ein Spiel zu installieren. Doch es fängt schon damit an, dass ein Ego-Shooter wie z.B. OpenArena mehrere Spielmodi anbietet, unzählige Servervariablen und dazu noch Dutzende weitere Server existieren, die genau den selben Fokus haben. Wie schafft man es also, dass das ganze nicht zu einem rein akademischen Projekt ohne Praxisbezug verkommt und tatsächlich irgendwann Leute auf dem Server spielen?
Ich brauchte eine Weile bis ich herausgefunden hatte, was die Spieler eigentlich wollen. Zumindest bin ich mit den bisherigen Einstellungen zufrieden. Eine Garantie für dauerhaften Erfolg ist es natürlich nicht. Kurzum man muss auch Zeit in das Spiel selbst investieren und kann sich nicht nur auf die Administration beschränken.
Da mittlerweile mehr als zwei Monate seit dem Start des Projekts vergangen sind, wird es Zeit auch mal die Spiele zu nennen, die es bisher auf meinen vServer geschafft haben.
Das sind OpenArena, Cube2:Sauerbraten, Teeworlds und XPilot NG.
Doch bevor ich etwas mehr über die bisherigen Favoriten erzähle, wollte ich noch ein paar potentielle Ego-Shooter-Kandidaten vorstellen, die es zwar nicht geschafft haben, weil sie die Kriterien für meinen Spieleserver nicht erfüllt haben, aber auf jeden Fall spielenswert sind.
AlienArena
AlienArena wurde vor acht Jahren zum ersten Mal veröffentlicht und noch immer orientiert es sich am klassischen Science-Fiction-Genre mit dazu passendem Look. Sowohl Spielermodelle und Waffen als auch Texturen und Objekte rufen einen zurück in die Welt der althergebrachten und oft auch etwas trashigen Alienfilme mit Marsianern und ihren übergroßen Köpfen. Die Effekte und Texturen sind detailreicher als bei OpenArena, die Atmosphäre ist dunkel und düster.
AlienArena basiert sowohl auf der Quake II als auch der Quake III Engine, die beide von id Software unter der GPL veröffentlicht wurden.
Der Hauptgrund warum es AlienArena nicht geschafft hat: Man darf das Spiel nur ohne Modifikationen weiterverbreiten und unter dem gleichen Namen, was in Debian gleichbedeutend mit "unfrei" ist. Außerdem habe ich mit OpenArena schon ein 100 % freies Spiel gefunden, das auf der Quake III Engine basiert.
Verschiedene Spiele haben unterschiedliche Wege eingeschlagen um sicherzustellen, dass ihr "Markenkern" unangetastet bleibt und Entwickler bei dem Projekt bleiben und es nicht abspalten. In einem späteren Artikel möchte ich näher auf diese Unterschiede eingehen und herausfinden, welche Wege FOSS-Spiele gehen, warum manche 100% frei sind und andere eben nicht und was das für den jeweiligen Erfolg bedeutet hat. Doch für das hier und jetzt heißt es erst einmal zu sagen:
Cooles Spiel, aber kein Gewinner.
Nexuiz
Nexuiz war zuerst in jeder Hinsicht der totale Gewinner. Das Spiel basiert auf einer stark modifizierten Form der ursprünglichen Quake-Engine, die allgemein unter dem Namen Darkplaces-Engine bekannt ist und als Freie Software vorliegt. Nexuiz hat exzellente grafische Effekte, darunter sehr detailreiche Licht- und Partikeleffekte. Texturen und Waffenmodelle sind äußerst sehenswert. Das Beste von allem ist, sie sind ebenfalls unter freien Lizenzen verfügbar.
Das Gameplay selbst ist hart und schnell, wie man das eben aus alten Tagen kennt. Auch das Drum-Herum ist schön gemacht. So gibt es z.B. ein Einführungsspiel mit Tutor und passender Anleitung, das einem sowohl Waffen als auch Bewegungen erklärt.
Der Haken an dem Spiel liegt an den vor zwei Jahren stattgefundenen Entwicklungen in der Nexuiz-Gemeinschaft. Die beiden wichtigsten Programmierer und Anführer, darunter der Macher der Darkplaces-Engine, verließen das klassische Nexuiz-Projekt. Die Rechte an dem Namen Nexuiz wurden an IllFonic verkauft, welches dieses Jahr ein Nexuiz-Remake auf Basis der CryEngine3 für Konsolen auf den Markt gebracht hat.
Große Teile der Nexuiz-Gemeinschaft waren von dieser Entwicklung nicht begeistert und haben daraufhin die Arbeit an Xonotic begonnen, dass die bisherige Arbeit an Nexuiz fortführen soll.
Da Nexuiz kaum noch weiterentwickelt wird und die Zukunft Xonotic gehört, habe ich mich schließlich gegen das Spiel entschieden.
Tremulous
In Tremulous geht es wieder einmal um das klassische Feindbild Aliens gegen Menschen. Das Spiel basiert auf der Quake3-Engine unterscheidet sich aber deutlich von seinem großen Vorbild, indem es die Ego-Shooter-Komponente um einen strategischen Aspekt erweitert. Jede der beiden Fraktionen hat die Fähigkeit Strukturen zu errichten, die für die Verteidigung der eigenen Basis und sogar den gesamten Spielerfolg unabdingbar sind. Hat das gegnerische Team nämlich all diese Objekte zerstört, endet das Spiel. Faszinierend ist auch, dass die Aliens die Fähigkeit besitzen sich an Wänden und Decken festzuhalten. dort entlang zu klettern und damit tatsächlich das Gefühl entsteht als sei man selbst der Hauptdarsteller in einem der besten SciFi-Filme aller Zeiten.
Nachdem ich die Probleme mit dem OpenArena-Server und der "getstatus"-Attacke per Fehlerbericht an Debian gemeldet hatte, stellte sich heraus, dass Tremulous ebenfalls gefährdet war. Daraufhin bot ich dem Paketverwalter an den Patch zu testen. Der Server lief äußerst stabil, zog aber kaum Aufmerksamkeit auf sich. In der Regel finden alle Schlachten auf einigen ausgewählten Servern statt.
Das Hauptproblem bei Tremulous sehe ich in der geringen Bereitschaft der Upstream-Entwickler kleinere Updates zu veröffentlichen. So datiert die aktuelle stabile Version immer noch von 2009. Dieses Zögern verhindert zum einen, dass ein fünf Jahre alter Bug beseitigt werden kann, der Tremulous sogar Einlass in Debians "Main"-Repos verschaffen würde und zum anderen werden Sicherheitslücken wie die "getstatus"-Attacke nicht zeitgerecht beseitigt.
Wenn es da draußen jemanden gibt, der Tremulous gerne weiterhin in Debian und seinen Derivaten sehen will, solltest du dich nun beeilen. Wahrscheinlich schon nächste Woche wird der momentane Paketverwalter beantragen, dass Tremulous aus Debian entfernt wird, weshalb auch dieses interessante Spiel es nicht längerfristig auf meinen Server geschafft hat.
Warsow
Dann wäre da noch Warsow. Während viele Actionspiele versuchen so realistisch wie möglich zu wirken, hat sich die Gemeinschaft rund um Warsow entschlossen auf comichafte Grafiken zu setzen, die mit Hilfe von Cel Shading erzeugt werden. Die Grafikengine basiert auf einer modifizierten Form der Quake-II-Engine namens QFusion.
Genauso wie in Nexuiz gibt es ein einsteigerfreundliches Tutorial, das grundlegende Spieltechniken und Bewegungen erklärt. Warsow legt insbesondere viel Wert auf "Movement", sprich Sprünge und flüssige Bewegungsabläufe sind ein wesentlicher Schwerpunkt des Spiels. Interessant sind vor allem sogenannte "Wall Jumps", mit denen die Spielfigur sich auch von Wänden abstoßen kann und somit neue Abkürzungen und Spielmöglichkeiten entstehen. Erwähnenswert ist auch die Einteilung von Munition in schwache und starke.
Das Spiel hat mir gut gefallen, hat sich aber auch nicht durchsetzen können, da es zum einen kürzlich aus den Debian-Repos wegen fehlender Betreuung durch den Paketverwalter entfernt wurde und zum anderen genauso wie Urban Terror oder Alien Arena nicht vollständig als Freie Software vorliegt.
Xonotic
Xonotic ist der direkte Nachfolger des klassischen Nexuiz und wurde auf Grund der oben beschriebenen Differenzen der Gemeinschaft mit den beiden Gründern von Nexuiz ins Leben gerufen. Das Spiel steht vollständig unter der GPL und verwendet weiterhin die Darkplaces-Engine. Es ähnelt in Optik und Gameplay natürlich Nexuiz, setzt jedoch auch eigene Akzente. So werden unter anderem nach und nach Texturen und Spielermodelle verbessert und sogar Fahrzeuge verfügbar sein.
Wirklich bemerkenswert ist aber der Ansatz ein zentrales System zu implementieren, welches jeden Spieler per sicherer Authentifizierung einzigartig erkennbar macht. So können dadurch serverübergreifend Statistiken realisiert werden, aber auch Spieler per ID serverweit bei Verstößen gebannt werden. Die relevante Bibliothek nennt sich d0_blind_id.
Xonotic befindet sich weiterhin in einer Betaphase, ist aber spielbar. Erst seit letztem Monat gibt es erste Bemühungen Xonotic in Debian verfügbar zu machen und ein genauer Plan wurde aufgezeigt, welche Schritte nach und nach erledigt werden müssen. Es sieht demnach aus, dass Xonotic Nexuiz bei Debian irgendwann ablösen wird.
Sobald das Spiel in Debian verfügbar ist, werde ich einen Server aufsetzen. Probleme sehe ich derzeit nur wegen des Ressourcenverbrauchs. Hier muss ich schauen, ob der kleine vServer dieses Spiel noch aufnehmen kann, ohne dass andere Spiele darunter leiden.
Schaut euch den coolen Xonotic-Trailer an, wenn ihr einen ersten Spieleindruck bekommen wollt. Mehr Bilder und Videos gibt es auf xonotic.org. (Ja, das ist tatsächlich ein 100% freies Spiel) 🙂
Fazit
Ego-Shooter sind zwar nicht für jeden das richtige Genre. Linux bietet aber Dank id Software und einer Menge Freiwilliger eine Vielzahl an ausgezeichneten Spielen an. Wirklich jedes hier erwähnte Spiel unterscheidet sich sowohl in der Optik als auch im Gameplay und man kann tatsächlich von jeweils eigenständigen und herausragenden Kreationen sprechen.
Dass das noch nicht alles war ist ja klar. (Aber irgendwann ist auch mal Redaktionsschluss). Neben Xonotic favorisiere ich zur Zeit noch Redeclipse als weiteren Kandidaten für den Spieleserver. Dranbleiben. 😉
ubuntuusers.de: Spendenaufruf für neue Server
Die Gemeinschaft von ubuntuusers.de, die wohl unter anderem eines der größten Foren und Wikis zum Thema Linux führt, braucht eure Hilfe!
Scheinbar müssen die Server im Hintergrund ausgetauscht werden, nachdem sich herausgestellt hat, dass sie veraltet sind und die Administration sich logistisch bisher eher schwierig gestaltet hat.
Mit der Spende tragt ihr also zum dauerhaften Fortbestand dieser Wissensquelle bei und sichert somit die Informationen auch für die nächste Generation. 😉
Ich denke, das ist ein ziemlich guter Grund. Hier gehts lang.
Noch 48h – Ein Rückblick auf das Humble Botanicula Debut
Der Themenschwerpunkt stimmte. Die Erstveröffentlichung von Botanicula und die Spende für den gemeinnützigen World Land Trust, der sich unter anderem um die Bewahrung der Regenwälder kümmert. Da fügte sich Botanicula natürlich mit seiner Umweltthematik und einer Spielperspektive aus der Sicht von Insekten und Baumbewohnern perfekt ins Bild ein.
Als Linuxbenutzer und jemand, der sich über jede Spieleportierung auf die Linuxplattform freut, war ich hingegen ziemlich enttäuscht, dass Botanicula nur mit Adobe AIR funktionierte, ein Produkt, welches Adobe letztes Jahr offiziell für den Linuxdesktop begraben hatte.
Deswegen landet dieser Artikel zu den Humblebundles auch unter der Rubrik Spiele mit Linux und Wine, wo er besser aufgehoben ist als in der nativen Kategorie. Denn so groß ist mein Anspruch schon, dass man ein Spiel nur für die Linuxplattform bewerben sollte, wenn zumindest sichergestellt ist, dass die externen Programme dafür in einer aktuellen Version existieren, wenn sie nicht einmal zur freien Software zählen.
Ok, Schwund ist bekanntlich immer. Das Hauptprodukt hat mich nicht zum Kauf bewogen. Da waren aber noch Machinarium und Samorost2. Beide laufen wunderbar mit GNU Gnash. Da es Machinarium aber z.B schon im Humble Bundle 3 gab, lagen meine Hoffnungen auf Samorost2. Beide Point-and-Click-Abenteuer sind optisch sehr ansprechend, sehr detailreich und phantasievoll. Den Entwicklern kann man für das Design nur ein Lob aussprechen.
Wer mehr als der Durchschnitt gezahlt hatte, konnte sich auch den animierten Film Kooky herunterladen oder per Stream anschauen, der die Geschichte eines Spielzeug-Bären erzählt, welcher den Weg zurück nach Hause finden muss.
Schließlich gab es auch noch das Puzzlespiel Windosill. Es lief auf Anhieb, da der Adobe Flashplayer integriert war und wirkte schon durch die bizarren Objekte und Figuren ein wenig surreal.
Das Humble Botanicula Bundle rief gemischte Gefühle bei mir hervor. Die Linuxversionen waren einfach nicht im selben Maße herausragend, wie das z.B. beim Frozenbyte Bundle oder dem Humble Indie Bundle 4 der Fall war.
Auf der anderen Seite funktionierten alle Spiele außer Botanicula auf Anhieb mit GNU Gnash oder selbständig und es gab noch weiteres Bonusmaterial, das noch einmal Optik und Design der Spiele hervorgehoben hat. Wirklich, die herausragenden Designfähigkeiten der Entwickler sind unbestritten.
Und schließlich kann man sich bei einem "Bezahl-was-du-willst"-Angebot nicht beschweren, wo man jederzeit die Möglichkeit hat sich die Spiele für 1 Cent vorher anzusehen und dann immer noch entscheiden kann, ob sie es wert sind oder nicht. Von daher: Wer die Wahl hat, hat die Qual.
Lighttpd: Webserver-Konfiguration mit SSL und Authentifizierung
Im folgenden Beitrag geht es mal nicht um die Stärken und Schwächen verschiedener Webserver, sondern um die Konfiguration des Webservers für mein Spieleserver-Projekt linuxiuvat.de, das weiter in der Entstehung ist und bei dem ich fast ausschließlich auf statische Inhalte setze. Wer selbst am überlegen ist, ob er einen Ubuntu-LTS- oder Debian-Server in Zukunft aufsetzen und einen Webserver betreiben möchte, findet hier vielleicht die richtigen Informationen.
Der Artikel kann nicht die gesamte Dokumentation zu Lighttpd ersetzen. Wer aber meine kommentierte Konfigurationsdatei liest und die Abschnitte zu den verschiedenen Modulen dazu in Beziehung setzt, sollte einen guten Überblick bekommen, wie man mit ein paar Handgriffen einen ressourcenschonenden Webserver mit SSL und Authentifizierung für einen eigenen Webauftritt gestalten kann.
Warum Lighttpd?
Für ein privates Projekt mit fast ausschließlich statischen Inhalten ist Lighttpd bestens geeignet. Sein Speicherverbrauch ist äußerst gering, was ihn ideal für eine vServer-Umgebung macht. Im Regelfall zeigt mir htop nach einer Basisinstallation an, dass Lighty ungefähr 1% von den verfügbaren 225 MB des vServers für sich beansprucht und auch mit ein paar zusätzlichen Modulen steigt dieser Wert kaum an.
Lighttpd hat in der Vergangenheit bei viel größeren Projekten bewiesen, dass er sich ideal zum Ausliefern von statischen Inhalten eignet. Außerdem ist die Dokumentation ausgezeichnet und die bedingte Konfiguration empfand ich als übersichtlich und logisch.
Das weitere Angebot an freien Webservern ist wirklich groß. Einen guten Überblick verschafft z.B.
aptitude search '~shttpd'
Nginx ragt hier als weitere sehr gute Alternative heraus. Doch alle müssen sich mit der Referenz, Apache, messen lassen. Die Wahl hängt wie immer von den eigenen Ansprüchen ab, weswegen man nicht pauschal einen Webserver zum Non plus ultra erklären kann.
Wer es wirklich genügsam haben möchte, sollte sich Busybox merken, denn das bringt neben vielen UNIX-Werkzeugen auch einen eigenen Webserver mit! 🙂
Installation
aptitude install lighttpd
Wichtige Fakten
- Zentrale Konfigurationsdatei: /etc/lighttpd/lighttpd.conf
- Zusätzliche Konfiguration: /etc/lighttpd/conf-available/
- Aktivieren bzw. Deaktivieren von Modulen: lighty-enable-mod Name_des_Moduls bzw. lighty-disable-mod Name_des_Moduls. Konfigurationsdateien werden von /conf-available/ nach /conf-enabled/ verlinkt und somit aktiviert.
- Einziger Benutzer: linuxiuvat
- Standard-Webserver-Root: /var/www/server
- Ohne SSL: Symlink von /var/www/linuxiuvat.de -> /home/linuxiuvat/linuxiuvat.de
- Mit SSL: Zwei Subdomains munin.linuxiuvat.de und stats.linuxiuvat.de
- Standardmodule: mod_access, mod_alias, mod_compress, mod_redirect, mod_expire
- Zusätzliche Module: mod_ssl, mod_cgi, mod_auth, mod_status, mod_accesslog
Meine lighttpd.conf
Meine eigene lighttpd.conf in kommentierter Fassung. Fragen, Anregungen oder Kritik bitte jederzeit in die Kommentare posten.
lighttpd.conf
Konfiguration
Virtuelle Hosts
Um virtuelle Hosts zu verwalten, bietet Lighttpd verschiedene Möglichkeiten an. Für größere Projekte empfiehlt sich das schlichte und effektive mod_simple_vhost oder das verbesserte mod_evhost. Wer selbst zum Webhoster werden möchte und zahlreiche Domains verwalten muss, sollte sich die datenbankgestützte und programmierbare Lösung namens mod_mysql_vhost genauer anschauen.
Für kleine Projekte mit einer überschaubaren Anzahl von Domains und Subdomains ist aber Lightys bedingte Konfiguration vollkommen ausreichend.
Hauptseite ohne SSL
Die Inhalte werden auf der Hauptseite unverschlüsselt ausgeliefert, wozu die $SERVER["socket"]-Bedingung Anwendung findet. Das Dokumenten-Wurzelverzeichnis wird in das Home-Verzeichnis des Benutzers linuxiuvat verlinkt. Neue Inhalte werden dort eingestellt. Die Host-Bedingung prüft, ob entweder www.linuxiuvat.de oder nur linuxiuvat.de aufgerufen wurde und führt danach alle Anweisungen im Konfigurationsblock aus. Zusätzlich zur Datei access.log, die später noch vorgestellt wird, ist hier noch der Pfad zu einer angepassten 404-Fehlerseite zu sehen, sowie der Pfad zur error.log.
$SERVER["socket"] == "134.0.24.218:80" { $HTTP["host"] =~ "^(www.)?linuxiuvat.de$" { server.document-root = "/var/www/linuxiuvat.de" server.error-handler-404 = "/e404.htm" accesslog.filename = "/var/log/lighttpd/linuxiuvat.de/access.log" server.errorlog = "/var/log/lighttpd/linuxiuvat.de/error.log" } }
Mit der folgenden Bedingung lässt sich verhindern, dass die Webseite direkt über die Eingabe der IP-Adresse aufgerufen werden kann, wobei das Modul mod_access Anwendung findet.
$HTTP["host"] =~ "134.0.24.218" { url.access-deny = ( "" ) }
mod_cgi
Die einzige CGI-Datei, die ich z.Z. benutze, befindet sich im Verzeichnis /cgi-bin/. Sie kommt zum Einsatz, wenn jemand einen Kommentar in meinem mit Chronicle erzeugten Newsblog hinterlassen möchte.
Das Modul wird mit
lighty-enable-mod cgi
aktiviert.
$HTTP["url"] =~ "^/cgi-bin/" { cgi.assign = ( "" => "/usr/bin/perl" ) }
mod_accesslog
Mit dem Modul mod_accesslog werden alle Anfragen an den Webserver mitgeloggt. Aktiviert wird es mit
lighty-enable-mod accesslog
1. /etc/lighttpd/conf-available/10-accesslog
server.modules += ( "mod_accesslog" ) accesslog.filename = "/var/log/lighttpd/access.log"
Damit die Datei access.log für jeden Host einzeln angelegt wird, kann man sie wie bei Lighttpd üblich in eine bedingte Konfiguration einbinden.
accesslog.filename = "/var/log/lighttpd/linuxiuvat.de/access.log"
mod_expire
Das Modul mod_expire hilft dabei statische Inhalte aggressiv zu cachen, d.h. Bilder, CSS- und Javascriptdateien erhalten bei der Übertragung an den Webbrowser ein Verfallsdatum bis zu dem der Browser die Dateien aus seinem Cache lädt anstatt sie neu vom Server anzufordern. Das spart Bandbreite und führt zu schnelleren Ladezeiten.
Aktivieren mit
lighty-enable-mod expire
Die Bedingung lässt sich z.B. so schreiben, dass nur Dateien mit einer bestimmten Dateiendung zwischengespeichert werden sollen. In diesem Fall beträgt die Verfallszeit sieben Tage vom ersten Aufruf an.
$HTTP["url"] =~ ".(jpg|gif|png|css|js)$" { expire.url = ( "" => "access 7 days" ) }
Natürlich kann man die Bedingung auch so schreiben, dass die Dateien nur aus zwei verschiedenen Verzeichnissen gecached werden sollen.
$HTTP["url"] =~ "^/img/|/stats/oa/icons/" { expire.url = ("" => "access 7 days") }
Mit Hilfe des Firefox-Plugins Live-HTTP-Headers oder mit curl kann man schnell feststellen, ob tatsächlich der richtige HTTP-Header verschickt wird.
curl -I http://linuxiuvat.de/img/openarena.jpg
Quelle: Forum von nixcraft.com.
mod_ssl
Zum Aktivieren einer verschlüsselten SSL-Verbindung per HTTPS genügt wieder ein
lighty-enable-mod ssl
Das SSL-Zertifikat habe ich mir selbst ausgestellt, was ich für kleine Projekte, bei denen man der einzige Betrachter der verschlüsselten Seite ist auch empfehlen kann. Wer jedoch eine Shop-Seite zusammenzimmert sollte seine Kunden wenn möglich nicht mit einer Warnmeldung im Browser verschrecken und ein "richtiges" Zertifikat kaufen. 🙂
Als Superuser:
openssl req -new -x509 -keyout linuxiuvat.de.pem -out linuxiuvat.de.pem -days 365 -nodes
Die Pem-Datei wurde nach /etc/lighttpd/ssl/linuxiuvat.de/linuxiuvat.de.pem kopiert und die Dateirechte aus Sicherheitsgründen mit chmod 400 eingeschränkt.
1. /etc/lighttpd/conf-available/10-ssl.conf
Ich habe die Konfiguration getrennt und den Teil, der sich um die SSL-Engine selbst dreht in der 10-ssl.conf belassen. Wichtig ist hier nur die richtige Adresse für den Socket einzutragen, also eure IP-Adresse und den Port des Webservers. Alternativ kann man auch :443 oder 0.0.0.0:443 schreiben, wenn man möchte, dass der Webserver auf allen Interfaces Anfragen entgegennimmt. Die Schreibweise muss aber überall die gleiche sein.
$SERVER["socket"] == "134.0.24.218:443" { ssl.engine = "enable" ssl.pemfile = "/etc/lighttpd/ssl/linuxiuvat.de/linuxiuvat.de.pem" ssl.cipher-list = "ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM" ssl.honor-cipher-order = "enable" }
2. /etc/lighttpd/lighttpd.conf
Durch die bedingte Konfiguration sind die beiden Subdomains munin.linuxiuvat.de und stats.linuxiuvat.de nur über HTTPS zu erreichen. Es wurde jeweils das Dokumenten-Wurzelverzeichnis geändert, so dass es auf den Standardausgabepfad von Munin und Awffull zeigt. Die Statusseite ist über https://munin.linuxiuvat.de/status zu erreichen und wird durch das Modul mod_status aktiviert.
$SERVER["socket"] == "134.0.24.218:443" { $HTTP["host"] =~ "(^|.)munin.linuxiuvat.de$" { server.document-root = "/var/cache/munin/www" status.status-url = "/status" } $HTTP["host"] =~ "(^|.)stats.linuxiuvat.de$" { server.document-root = "/var/www/awffull/" } }
mod_auth
Das Authentifizierungsmodul ist notwendig, um den Zugriff auf einzelne Verzeichnisse einzuschränken. In meinem Fall genügt es, dass ich die Munin- und Awffull-Statistiken anschauen kann. Das Modul mod_auth wird mit
lighty-enable-mod auth
aktiviert. Es gibt zwei verschiedene Methoden sich zu authentifizieren - Basic und Digest. Je nach Methode existieren unterschiedliche Backends, wie die Passwörter aufgebaut und gespeichert werden. Ich habe mich für Digest und htdigest entschieden, wodurch das Passwort nicht in Klartext übertragen wird und als MD5-Hash abgespeichert wird. Alle Methoden sind dennoch nur dann wirklich sicher, wenn das Passwort über eine verschlüsselte Verbindung übertragen wird.
1. /etc/lighttpd/conf-available/10-auth.conf
server.modules += ( "mod_auth" ) auth.backend = "htdigest" auth.backend.htdigest.userfile = "/etc/lighttpd/.passwd" auth.debug = 2 $HTTP["host"] =~ "(^|.)munin.linuxiuvat.de$" { auth.require = ( "" => ( "method" => "digest", "realm" => "privat", "require" => "valid-user" ), ) }
Auth.debug=2 ist sehr gesprächig, aber hilfreich, wenn man mehr über erfolgreiche und nicht erfolgreiche Loginversuche wissen möchte. Die versteckte Passwortdatei .passwd mit den benötigten Inhalten lässt sich wie folgt erstellen. Der "Realm" kann beliebig gewählt werden.
htdigest -c /etc/lighttpd/.passwd 'privat' Bob
Das Programm htdigest befindet sich im Paket apache2-utils und wird nur für diese eine Aufgabe benötigt. Danach hat nur noch der Benutzer Bob mit dem zuvor eingegebenen Passwort Zugriff auf das Verzeichnis, wobei die gesamte Verbindung gegenüber Dritten per SSL abgesichert ist.
mod_status
Mit mod_status gibt es Auskunft über Uptime, Anfragen pro Sekunde und aktive Verbindungen, kurz zusammengefasst also über den Status des Webservers. Die HTML-Seite ist schlicht und übersichtlich. Um die Daten per Munin mit einem Graphen zu visualisieren kann man noch ein ?auto an die URL anhängen, wodurch die Ausgabe als Text dargestellt wird. Hierzu in einem anderen Artikel mehr.
Das Modul wird mit
lighty-enable-mod status
aktiviert. Die Zeile
status.status-url = "/status"
muss wie in der Konfiguration gezeigt innerhalb der bedingten Host-Konfiguration eingefügt werden.
Was sonst noch?
Lighttpd bietet noch weit mehr Möglichkeiten und Module. Das sind zur Zeit aber alle, die ich für mein Projekt und dieses Beispiel verwende. Man sollte im Hinterkopf noch mod_evasive und die Variablen
server.kbytes-per-second
connection.kbytes-per-second
behalten, wenn man den Traffic auf dem Webserver besser steuern möchte.
Für Lighttpd gilt: Fast jedes Problem lässt sich mit der bedingten Konfiguration lösen.
Links
Dwb und Jumanji: Zwei Webkit-Browser mit vi-ähnlicher Steuerung
Letzte Woche hat mich Georg auf einen interessanten Webkit-Browser namens Jumanji aufmerksam gemacht. Ich ergreife hier die Gelegenheit und stelle sowohl Jumanji als auch Dwb kurz vor. Beide setzen auf die Webkit-Engine und eine vi-ähnliche Steuerung und eignen sich als leichtgewichtige Browser-Alternative nicht nur für ältere Rechner.
Die Bilder stammen alle von meiner ArchLinux-Installation auf dem Inspiron 4000.
Jumanji
Jumanji ist ein minimalistischer WebKit-Browser, dessen Interface schlicht und platzsparend und deswegen auch sehr übersichtlich ist.
Die Bedienung lässt sich tatsächlich mit dem Stichwort vi-ähnlich auf den Punkt bringen. Genauso wie bei seinem berühmten Vorbild betritt man mit dem Doppelpunkt den Kommandomodus und kann von dort diverse Befehle aufrufen. Besonders praktisch ist es mit Hilfe von Tab-Vervollständigung von Befehl zu Befehl zu wechseln. Noch schneller geht es nur noch mit Tastenkürzeln, die man wie bei vi durch das ":map"-Kommando definieren kann.
Neue Tabs öffnet man entweder mit :tabopen oder mit der Taste t. Sie erscheinen in dezentem schwarz hinterlegt am oberen Bildschirmrand. Aktive erkennt man durch die geänderte Schriftfarbe. Interessant ist auch, dass man durch den Browserverlauf mit Tab-Vervollständigung navigieren kann. Mit der rechten Maustaste lässt sich ein kleines Menü aufrufen, um die Seite neu zu laden oder vor- und zurück zu wechseln.
Jumanji lässt sich bei Arch Linux aus dem AUR installieren. Wer yaourt benutzt, erledigt das mit:
yaourt -S jumanji-git
P.S.: Als Randnotiz fiel mir noch der Webseitengenerator der offiziellen Jumanji-Homepage auf. Hakyll ist eine Haskell-Bibliothek, um statische Webseiten zu generieren. Nur falls jemand dachte, es gäbe keine weiteren Alternativen zu den schon im Artikel und Kommentaren genannten Blogkompilierern. 🙂
Dwb
Im Gegensatz zu Jumanji existiert von Dwb seit kurzem eine offizielle Debianversion in Sid und Wheezy.
Dwb basiert ebenfalls auf der Webkit-Engine, besitzt vi-ähnliche Tastaturkürzel und Kommandos und zeichnet sich durch eine ebenso schlanke und effiziente Benutzerschnittstelle aus. Tatsächlich ähneln sich Jumanji und Dwb in vielerlei Hinsicht.
Der große Unterschied ist jedoch, Dwb hat das Konzept schon deutlich weiter entwickelt. Er ist umfangreicher, bietet mehr Kommandos und Funktionen. Genauso wie bei Jumanji lässt sich ein Adblock-Skript einbinden, darüber hinaus besteht aber auch die Möglichkeit Javascript oder Flash zu blockieren. Neue Tabs lassen sich mit O öffnen und d schließen. Lesezeichen werden mit M hinzugefügt und übersichtlich mit gB angezeigt und in einem neuen Tab geöffnet. Links kann per Tastatur gefolgt werden.
Besonders erwähnenswert ist auch, dass sich Einstellungen und Optionen auf einer Extraseite innerhalb des Browsers konfigurieren lassen und die Dokumentation in einem guten Zustand ist. Die Handbuchseite ist vorbildlich.
Die Suche funktioniert genauso wie bei Vi/Vim, indem die Taste / benutzt, der Suchbegriff eingegeben und schließlich n zur Vorwärtssuche ausgeführt wird.
Fazit
Mir gefallen tastaturgesteuerte, leichtgewichtige Webbrowser. Dwb hat bei mir aber gegenüber Jumanji die Nase vorn. Beide ähneln stark dem Vimperator-Plugin des Firefox, setzen aber stattdessen auf die Webkit-Engine und ordnen sich in die Reihe von Webbrowsern wie Vimprobable, Uzbl oder Surf ein.
Webkit-Browser sind nicht wirklich ungewöhnlich, was für die Engine spricht.
Der Speicherverbrauch und auch die Reaktionsgeschwindigkeit lässt sich am besten mit der von Surf vergleichen. Wie im letzten Test, habe ich wieder ps_mem.py als Maßstab benutzt.
Jumanji:
Private: 19MB + Shared: 1,3MB = 20,3MB
Dwb:
Private: 21,1MB + Shared: 2MB = 23,1MB
Die Startzeiten waren sogar noch schneller als bei Surf, obwohl das auch an dem selbstkompilierten ArchLinux-Paket liegen kann. Für die Zukunft werde ich dwb häufiger benutzen und denke, dass es eine gute Wahl war ihn in Debian aufzunehmen, da er sich durch seine umfangreiche vi-ähnliche Steuerung von den anderen Browsern in Debian positiv unterscheidet.
Debian GNU/Linux Gerätetreiberüberprüfungsseite
Was für ein Wort, doch der Inhalt hat es in sich. Meine Suche nach freien Treibern für meine Hardware war in der Vergangenheit manchmal lang und steinig, die passende für den Internetzugang habe ich aber mittlerweile gefunden. Teilweise achte ich nicht mehr darauf, ob ein älteres Laptopmodell unter Linux vollständig erkannt wird. Sieht man mal von WinModems ab, hatte ich hier auch noch nie Probleme und alles wurde einwandfrei erkannt.
Anders kann die Sache bei sehr neuen Modellen aussehen, wenn viel Geld im Spiel ist und man sich nicht blind auf sein Gefühl verlassen möchte. Über den IRC bin ich in #debian schon öfter auf
gestoßen. Auf dieser Seite werden Informationen zur Kompatibilität von PCI-Geräten mit aktuellen Kerneltreibern bereitgestellt. Jeder der selbst Zugang zu einem Linux mit Terminal hat, kann mit lspci -n mehr über die Unterstützung seiner Hardware herausfinden. Einfach die Ausgabe in das Formularfeld kopieren und abschicken.
Eine ziemlich nützliche Seite, wie ich finde, nicht nur für Debianbenutzer.
Server automatisch mit Hilfe von Unattended-Upgrades und Apticron aktualisieren
Eine der wichtigen Aufgaben als Admin ist es, Sicherheitsaktualisierungen zeitnah auf dem Server einzuspielen. Bei meiner Suche zu Informationen zu Unattended-Upgrades habe ich diesen englischen Artikel auf howtoforge.com gefunden, der sowohl Unattended-Upgrades als auch Apticron vorstellt. Deswegen nur zur Dokumentation für das Spieleserverprojekt, drei wichtige Punkte.
1. Debians Sicherheitsankündigungen
Nicht nur für Serveradmins, sondern auch allgemein zu empfehlen ist Debians Mailingliste für Sicherheitsankündigungen. Hier werden nur sicherheitskritische Meldungen des Sicherheitsteams veröffentlicht, weswegen die Liste ruhig und äußerst informativ ist.
2. Unattended Upgrades
Unattended-Upgrades ist eine Software, die automatisch und unbeaufsichtigt Sicherheitsaktualisierungen herunterladen und aktualisieren kann.
aptitude install unattended-upgrades
/etc/apt/apt.conf.d/50unattended-upgrades:
Die Datei ist gut kommentiert. Hier lässt sich festlegen, welche Debian-Distribution aktualisiert werden soll, ob Pakete auf eine Schwarze Liste kommen und nicht erneuert werden dürfen, ob man per E-Mail informiert werden möchte, der Rechner nach dem Update neugestartet werden soll und so weiter. // leiten Kommentare ein.
Ein Auszug:
// Automatically upgrade packages from these (origin, archive) pairs
Unattended-Upgrade::Allowed-Origins {
"${distro_id} stable";
"${distro_id} ${distro_codename}-security";
// "${distro_id} ${distro_codename}-updates";
// "${distro_id} ${distro_codename}-proposed-updates";
};
// List of packages to not update
Unattended-Upgrade::Package-Blacklist {
// "vim";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};
// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. The package 'mailx'
// must be installed or anything that provides /usr/bin/mail.
Unattended-Upgrade::Mail "root@localhost";
/etc/apt/apt.conf.d/02periodic
In 02periodic wird das eigentliche Paket aktiviert. Täglich wird dann auf Updates überprüft.
// Enable the update/upgrade script (0=disable)
APT::Periodic::Enable "1";
// Do "apt-get update" automatically every n-days (0=disable)
APT::Periodic::Update-Package-Lists "1";
// Do "apt-get upgrade --download-only" every n-days (0=disable)
APT::Periodic::Download-Upgradeable-Packages "1";
// Run the "unattended-upgrade" security upgrade script
// every n-days (0=disabled)
// Requires the package "unattended-upgrades" and will write
// a log in /var/log/unattended-upgrades
APT::Periodic::Unattended-Upgrade "1";
// Do "apt-get autoclean" every n-days (0=disable)
APT::Periodic::AutocleanInterval "7";
Das war es auch schon. Bei einem Update werden alle Nachrichten nach /var/log/unattended-upgrades geschrieben.
Zusätzlich besteht auch die Möglichkeit das Paket mit Hilfe von debconf zu konfigurieren.
dpkg-reconfigure -plow unattended-upgrades
3. Apticron
Als Alternative oder zur Ergänzung kann man apticron installieren, ein Shellskript, das regelmäßig auf Updates überprüft, im Gegensatz zu unattended-upgrades aber die Pakete nicht automatisch installiert. Mit Hilfe von apt-listchanges werden Veränderungen und Neuigkeiten per E-Mail an die eingestellten Adressen verschickt.
Diese werden in /etc/apticron/apticron.conf festgelegt.
Gnome-Shell-Extensions mit Debian und Gnome 3.4
Einige Erweiterungen zur Gnome-Shell befinden sich mittlerweile in Debian Testing, weswegen ich mir vor einigen Wochen das Paket gnome-shell-extensions installiert habe. Nach dem großen Upgrade von Gnome 2 auf Gnome 3, habe ich bisher nur ganz wenige Aspekte des Standarddesktops geändert, darunter das Statusmenü.
Wer größeren Veränderungsbedarf hat findet viele weitere Erweiterungen auf extensions.gnome.org, wo sich die Alpha- zum Betastadium gewandelt hat. Ich persönlich kann der neuen Art und Weise wie Erweiterungen installiert werden einiges abgewinnen. Gnome ist weiterhin nicht der Desktop für die Do-it-yourself-Leute und besonders leichtgewichtig und für ältere Laptops geeignet ist er auch nicht gerade, aber er bleibt wenigstens seinen Zielen treu.
In der Vergangenheit habe ich die Debianentwickler und Mitglieder des Gnome-Teams in Schutz genommen und Verständnis dafür gezeigt, dass es mit dem Übergang von Gnome 2 zu Gnome 3 bei Debian länger dauert. Vor kurzem bin ich auch auf das Blog von Jordi Mallach, einer der Entwickler, gestoßen, dessen Artikel zum Thema "Gnome-Shell-3.2 in Wheezy" ich jedem empfehlen kann. Er unterstreicht noch einmal, dass Debian Gnome 3 eben für ein Dutzend Architekturen verfügbar macht, auch wenn wahrscheinlich nur die wenigsten jemals Debian GNU/kFreeBSD installieren werden.
Wie er selbst schreibt, sollte es nach den größten Veränderungen von nun an wieder schneller gehen. Der Status von Gnome 3.4 ist grün.
Hier sind ein paar Eindrücke der neuen Gnome-Shell-Erweiterungen als Ergänzung zur ersten Vorstellung.
Gnome-Shell-Erweiterungen
Die Gnome-Shell-Erweiterungen erscheinen als weitere Option im Gnome-Tweak-Tool. Ein An- und Aus-Schalter signalisiert den aktuellen Zustand. Installiert sind die offiziellen Erweiterungen, von denen ich lediglich das alternative Statusmenü und den CPU-Temperaturindikator gebrauchen konnte. Der Systemmonitor oder der zusätzliche Menüeintrag des Tweak-Tools im Statusmenü sind aber auch nicht verkehrt.
Statusicons
Einige Erweiterungen erscheinen nach der Installation direkt auf der oberen Leiste. Hier sind z.B. von links nach rechts der Wechselmedienumschalter, das Orte-Menü und der Arbeitsflächenindikator zu sehen.
Das Anwendungsmenü
Ist das nicht einer der Hauptgründe, warum viele doch lieber Cinnamon benutzen wollen? Das altbekannte Anwendungsmenü lässt sich ebenso leicht wie alle anderen Erweiterungen installieren und erscheint direkt neben den "Aktivitäten".
Vier ältere Laptops und ein Core Duo im April 2012
Ich weiß, es gab hier nicht wirklich viel Neues zu alternativen und leichtgewichtigen Betriebssystemen zu lesen, sieht man einmal von Haiku ab. Da ich selbst der kritischste Leser meines Blogs bin, fehlten mir auch ein paar Artikel zu coolen Konsolenprogrammen und noch ein paar Tipps und Tricks wie man sich ein effizientes Linuxsystem auf Basis von Fenstermanagern selbst zusammenstellen kann. Ich hoffe jemand schreibt diese Artikel noch für mich. 😉
Die Wahrheit ist auch, das Leben ist ein Karussell. Hätte ich einen Artikel über das Thema geschrieben, hätte er sich vermutlich wie der alte Sketch von Badesalz angehört: "Mir ist heute ein Waschlappen vom Haken gefallen, habe ich ihn halt wieder darauf gehangen." "Na toll." (kleine Übersetzung ins Hochdeutsche :)).
Gar nichts zu schreiben ist auch keine Lösung, deswegen hier die unglaublichen Erlebnisse mit vier älteren Laptops und einem Core Duo.
Core Duo
Letztes Jahr um diese Zeit war ich drauf und dran Ubuntu 10.10 gegen ein Multiboot-System auszutauschen. Ich wollte einfach mal wieder was anderes anstellen und nach und nach wurde Debian Testing zum Hauptsystem, Ubuntu der Dreh- und Angelpunkt für Experimente mit Videoeditoren und dem GIMP und Debian Sid zum Spielemekka.
Und heute...nun natürlich habe ich nicht schon wieder ein neues Multiboot-System aufgesetzt, Wiederholungen sind langweilig.
Seit November 2011 benutze ich mit Debian Testing Gnome 3 als meine Desktopumgebung der Wahl. Wer etwas kreuz und quer im Internet liest weiß, dass nicht jeder das neue Gnome toll findet. Nachdem ich die Extensions entdeckt und eine Erweiterung installiert hatte, die ich brauchte, gab es für mich keine großen Aufreger mehr.
Das lässt sich ganz leicht damit erklären, dass Gnome eben nur eine grafische Oberfläche für mich ist, die Regel jedoch mittlerweile alleinstehende Fenstermanager-Lösungen sind. Speziell auf den Status in Debian angesprochen, kann ich nur sagen, dass Gnome 3.4 langsam aber sicher Stück für Stück hier angekommen und nichts Aufregendes passiert ist. Die großen Veränderungen halten sich in Grenzen. Dennoch habe ich das Gefühl, dass insbesondere die Gnome-Shell nun reaktionsfreudiger reagiert. Insgesamt bin ich mit Gnome zufrieden und ich denke Debian leistet hier gute Arbeit.
Ab und zu sollte man sich mal selbst beobachten, wie viel Zeit man mit einzelnen Aufgaben und Anwendungen verbringt. Der Webbrowser scheint der Dreh- und Angelpunkt zu sein. Mein E-Mail-Programm Icedove landet auf einer Arbeitsfläche und bleibt dort ständig geöffnet, der Rest ist manchmal Mplayer, fast immer der Terminal mit Anwendungen wie Cmus*, ab und an LibreOffice, der Dateimanager und Virtualbox. Also genau die Programme, die bei mir in der linken Seitennavigation alias Dash untergebracht sind.
Ich brauche nicht zwangsläufig Gnome 3. Behindern tut es mich aber auch nicht und es ist eine gute Gelegenheit auf dem Laufenden zu bleiben und nicht die Trends zu verpassen ;). Von daher, bei Gnome 3 nichts Neues.
Quo vadis Ubuntu
Wenn ich sage Ubuntu, meine ich natürlich die Unity-Oberfläche. Ich habe nicht wirklich viel dazu in den letzten Monaten geschrieben und werde auch in Zukunft anderen das Feld überlassen. Unity ist mit Sicherheit eine Alternative, aber nicht mehr mein Schwerpunkt. Am ehesten lässt es sich mit Gnome 3 vergleichen und ich vermisse ehrlich gesagt nicht viel im Vergleich zu Unity, wenn ich Gnome 3 benutze.
Lubuntu ist es da schon eher wert weiter vorgestellt und verfolgt zu werden. Generell mag ich sowieso eher Underdogs. Aber wem erzähl ich da was Neues.
Fenstermanager, ein paar Laptops und die Konsole
Die Laptops gibt es natürlich noch. Ohne Veränderung, alles beim Alten. Der Dell Inspiron 4000 hat eine interessante Macke entwickelt. Ich denke, es ist nach dem Austausch der Festplatte passiert als ich Haiku installiert habe. Ab jetzt gelangt man nur noch in das GRUB-Menü, wenn man vorher ESC+F2 drückt und vorher im BIOS war. Scheinbar summieren sich die kleinen Alterserscheinungen. Doch solange er noch funktioniert, bleibt er natürlich an Bord.
Was den Rest angeht. Alte Laptops eignen sich hervorragend zur Administration eines Spieleservers. Von Konsole zu Konsole, wirklich kein Problem. Openbox ist weiterhin Nr.1, auch wenn sich DWM auf dem Thinkpad 600 ausgezeichnet schlägt.
Slitaz 4.0 ist erschienen! Eine Menge interessanter Vorschläge zu weiteren Betriebssystemen wurde an verschiedenen Stellen des Blogs gepostet. Es gibt also noch eine Menge zu tun. 🙂