<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BALMUN - Labs</title>
	<atom:link href="http://dev.balmun.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://dev.balmun.de</link>
	<description>fatal developing: line 127: too many comments</description>
	<lastBuildDate>Wed, 16 Nov 2011 18:57:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Firefox 8 und Thunderbird 8 mit Ubuntu 10.04</title>
		<link>http://dev.balmun.de/2011/06/30/firefox-8-und-thunderbird-mit-ubuntu-10-04/</link>
		<comments>http://dev.balmun.de/2011/06/30/firefox-8-und-thunderbird-mit-ubuntu-10-04/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 07:29:19 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Firefox 8]]></category>
		<category><![CDATA[Firefox aktuell]]></category>
		<category><![CDATA[lucid]]></category>
		<category><![CDATA[Lucid Lynx]]></category>
		<category><![CDATA[Thunderbird 8]]></category>
		<category><![CDATA[Thunderbird aktuell]]></category>
		<category><![CDATA[Ubuntu 10.04]]></category>

		<guid isPermaLink="false">http://dev.balmun.de/?p=98</guid>
		<description><![CDATA[Ubuntu 10.04 hat in den offiziellen Repositories nur die älteren Versionen 3.16.x des Browsers Mozilla Firefox und 3.1.x des Email-Client Mozilla Thunderbird. Wer dennoch nicht auf die neuen Versionen verzichten möchte, muss nicht zu einer anderen Ubuntu-Version wechseln, denn durch Hinzufügen eines Launchpad-Repositories werden die neuen Versionen über den Betriebssystem-interenen Updater aktualisiert. sudo add-apt-repository ppa:mozillateam/firefox-stable...<a href="http://dev.balmun.de/2011/06/30/firefox-8-und-thunderbird-mit-ubuntu-10-04/">&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Ubuntu 10.04 hat in den offiziellen Repositories nur die älteren Versionen 3.16.x des Browsers Mozilla Firefox und 3.1.x des Email-Client Mozilla Thunderbird. Wer dennoch nicht auf die neuen Versionen verzichten möchte, muss nicht zu einer anderen Ubuntu-Version wechseln, denn durch Hinzufügen eines Launchpad-Repositories werden die neuen Versionen über den Betriebssystem-interenen Updater aktualisiert.</p>
<blockquote><p>sudo add-apt-repository ppa:mozillateam/firefox-stable<br />
sudo add-apt-repository ppa:mozillateam/thunderbird-stable</p></blockquote>
<p>Wenn nun eine Aktualisierung durchgeführt wird, z.B. über die Benutzeroberfläche &#8220;System&#8221; -&gt; &#8220;Systemverwaltung&#8221; -&gt; &#8220;Aktualisierungsverwaltung&#8221; werden die bereits installierten Programme geupdated und die neuen Firefox- bzw. Thunderbird-Versionen installiert.</p>
<p><strong>ACHTUNG:</strong> Je nachdem welche Add-ons installiert sind, sollte zuvor abgeglichen werden, ob diese auch für die neue Version verfügbar sind.</p>
<p>Bei dem Update werden die alten Sprachdateien der Version 3.16.x von Firefox unter Umständen nicht deinstalliert und lassen sich dann auch nicht über die Add-on-Verwaltung deinstallieren. Für diesen Fall kann das folgendermaßen nachgeholt werden: die Ordner bzw. *.xpi-Dateien der entsprechenden Erweiterung müssen gelöscht werden (dabei sollte das Programm geschlossen sein). Die Dateien der Spracherweiterung befinden sich in dem globalen extensions-Ordner unter /usr/lib/firefox/extensions bzw. /usr/lib/firefox-8.0/extensions. Diese sind nur mit root-Rechten beschreibbar und sollten mit Vorsicht behandelt werden, also sollte dieser Schritt nur dann durchgeführt werden, wenn man sich bewusst ist, was man tut, anderenfalls sollte er übersprungen werden, da die nicht kompatiblen Sprachdateien keine Probleme bereiten.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.balmun.de/2011/06/30/firefox-8-und-thunderbird-mit-ubuntu-10-04/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HowTo: CoovaChilli-Captive Portal mit Ubuntu 10.04.2-Server (i386)</title>
		<link>http://dev.balmun.de/2011/04/22/howto-coovachilli-captive-portal-mit-ubuntu-10-04-2-server-i386/</link>
		<comments>http://dev.balmun.de/2011/04/22/howto-coovachilli-captive-portal-mit-ubuntu-10-04-2-server-i386/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 16:07:42 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Captive Portal]]></category>
		<category><![CDATA[Chilli]]></category>
		<category><![CDATA[Coova]]></category>
		<category><![CDATA[CoovaChilli]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Tut]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Wifidog]]></category>

		<guid isPermaLink="false">http://dev.balmun.de/?p=75</guid>
		<description><![CDATA[Auf der Suche nach einem Captive Portal bin ich neben Wifidog u. a. auf CoovaChilli gestoßen. Wifidog hatte ich bereits im letzten Jahr eingesetzt und wollte es deshalb auch in diesem Jahr wieder verwenden, allerdings scheint die Entwicklung des Projektes leider etwas zu stagnieren. Deshalb fiel die Entscheidung auf CoovaChilli. Auf der Suche nach guten...<a href="http://dev.balmun.de/2011/04/22/howto-coovachilli-captive-portal-mit-ubuntu-10-04-2-server-i386/">&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Auf der Suche nach einem Captive Portal bin ich neben <a title="Wifidog" href="http://dev.wifidog.org" target="_blank">Wifidog</a> u. a. auf <a title="CoovaChilli" href="http://coova.org/CoovaChilli" target="_blank">CoovaChilli</a> gestoßen. Wifidog hatte ich bereits im letzten Jahr eingesetzt und wollte es deshalb auch in diesem Jahr wieder verwenden, allerdings scheint die Entwicklung des Projektes leider etwas zu stagnieren. Deshalb fiel die Entscheidung auf CoovaChilli.</p>
<p>Auf der Suche nach guten HowTos fand ich schnell das <a title="CoovaChilli-HowTo Ubuntu" href="https://help.ubuntu.com/community/WifiDocs/CoovaChilli" target="_blank">Tutorial</a> der Ubuntu-Community, allerdings entstand beim abarbeiten genau der Fehler, der auch im Titel erschien. Dieser Fehler lies sich auch nach zahlreichen Versuchen nicht lösen, weshalb ich entschied einmal selbst Hand anzulegen und getreu dem Motto &#8220;Weniger ist manchmal mehr&#8221; zu handeln. Nun genug des Vorgeplänkels:</p>
<p><strong>Voraussetzung ist ein Computer mit 2 Netzwerkkarten</strong>:<br />
eth0 &#8211; Verbindung in das Internet<br />
eth1 &#8211; neues Netzwerk für die zu schützenden Computer</p>
<p>Die Installation des Ubuntu-Servers funktioniert ohne jegliche Besonderheiten. Es muss auch nichts aus dem Auswahlmenü installiert werden, allerdings ist ein SSH-Server sehr hilfreich. Die Netzwerkkonfiguration sollte man hier für die Netzwerkkarte festlegen, die mit dem Internet verbunden ist (bei mir ist das eth0).</p>
<p>Als nächstes sollte das System auf den aktuellen Stand gebracht werden:</p>
<blockquote><p>sudo apt-get update<br />
sudo apt-get upgrade<br />
sudo reboot</p></blockquote>
<p>Um die Benutzer zu authentifizieren nutzt CoovaChilli Freeradius, der als nächstes installiert werden sollte:</p>
<blockquote><p>sudo apt-get install freeradius</p></blockquote>
<p>Freeradius besitzt eine Vielzahl von unterschiedlichen Ressourcen, in denen die Benutzer gesucht werden, u.a. SQL, LDAP und einfache Dateien. Nach der Installation von freeradius muss lediglich ein Benutzer in die Datei <em>/etc/freeradius/users</em> eingefügt werden. Die Konfiguration von Freeradius, um SQL oder LDAP zu nutzen wird hier nicht weiter erwähnt.</p>
<blockquote><p># /etc/freeradius/users<br />
&#8220;benutzer&#8221;  Cleartext-Password:=&#8221;password&#8221;</p></blockquote>
<p>Nach dem Speichern und neu starten des Services sollte der Benutzer sich mit <em>radtest</em> bereits erfolgreich testen lassen:</p>
<blockquote><p>sudo service freeradius restart<br />
sudo radtest &#8220;benutzer&#8221; &#8220;password&#8221; 127.0.0.1 0 testing123</p></blockquote>
<p>Als Resultat müsste etwas wie</p>
<blockquote><p>rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=213 length=20</p></blockquote>
<p>ausgegeben werden. Wenn der Radius-Server auf dem gleichen Rechner läuft wie das Captive-Portal, muss nichts weiter verändert werden, anderenfalls muss der Rechner, auf dem CoovaChilli läuft als Client in die Datei <em>/etc/freeradius/clients.conf</em> eingetragen werden, z. B.:</p>
<blockquote><p># /etc/freeradius/clients.conf<br />
client 192.168.0.0/24 {<br />
secret  =  testing123-2<br />
shortname  =  private-network-rad<br />
}</p></blockquote>
<p>Für die nächsten Schritte wird voraus gesetzt, dass Freeradius ordnungsgemäß wie oben beschrieben funktioniert. Sonst müssen erst die Fehler behoben werden, bevor fortgefahren wird.</p>
<p><strong>Installation von CoovaChilli</strong></p>
<p>Die CoovaChilli installation unter Ubuntu 10.04 ist sehr einfach: Den aktuellen Binary-Build herunterladen und mit dpkg installieren:<strong> </strong></p>
<blockquote><p>wget http://ap.coova.org/chilli/coova-chilli_1.2.5_i386.deb<br />
sudo dpkg -i coova-chilli_1.2.5_i386.deb</p></blockquote>
<p>Damit CoovaChilli startet, muss die Datei <em>/etc/default/chilli</em> so angepasst werden, dass der Parameter <em>START_CHILLI</em> auf 1 steht:</p>
<blockquote><p># /etc/default/chilli<br />
START_CHILLI=1</p></blockquote>
<p>Wenn CoovaChilli beim Systemstart automatisch gestartet werden soll, müssen noch Startuplinks angelegt werden:</p>
<blockquote><p>sudo update-rc.d chilli defaults 99 1</p></blockquote>
<p>Eine Konfigurationsdatei von CoovaChilli ist neben der default-Datei noch nicht vorhanden, um also eine eigene Konfiguration zu verwenden, muss die default-Datei kopiert werden. Danach kann diese angepasst werden:</p>
<blockquote><p>sudo cp /etc/chilli/default /etc/chilli/config<br />
sudo nano /etc/chilli/config<br />
# /etc/chilli/config<br />
# minimale Änderungen die durchgeführt werden müssen<br />
# Radius-Einstellungen:<br />
HS_NASID=0<br />
HS_RADIUS=127.0.0.1<br />
HS_RADIUS2=127.0.0.1<br />
HS_UAMALLOW=10.1.0.1,www.coova.org<br />
HS_RADSECRET=testing123</p></blockquote>
<p>Alle weiteren Einstellungen können auch modifiziert werden, allerdings sollte Vorsicht walten, bevor man Parameter verändert und danach nichts mehr funktioniert.</p>
<p>Eine letzte Anpassung die gemacht werden muss ist die Installation von Haserl:</p>
<blockquote><p>wget http://downloads.sourceforge.net/project/haserl/haserl-devel/haserl-0.9.28.tar.gz<br />
tar -xzf haserl-0.9.28.tar.gz<br />
cd haserl-0.9.28<br />
./configure<br />
# Sollten hier Fehler auftreten, liegt es vermutlich daran,<br />
# dass die nötigen Programme nicht installiert sind:<br />
# sudo apt-get install build-essential<br />
# schafft in diesen Fällen Abhilfe<br />
make<br />
sudo make install<br />
# Jetzt einfach neu starten:<br />
sudo reboot</p></blockquote>
<p>Nach diesem Neustart sollte nun eigentlich alles Funktionieren und bei der Verbindung eines Clients auf der Netzwerkkarte eth1 sollte dieser auf die Login-Seite weitergeleitet werden.</p>
<p>Bei mir trat jedoch ein Fehler auf, beim Versuch eine Seite aufzurufen:</p>
<blockquote><p>You need to install haserl to serve pages with this wwwsh script!<br />
see http://haserl.sourceforge.net</p></blockquote>
<p>Der Fehler verwunderte mich, da ja haserl bereits installiert war. Ein Blick in das Script <em>/etc/chilli/wwwsh</em> brachte mich auch nicht weiter, denn das Kommando, um den Pfad von haserl zu bestimmen funktionierte bei mir tadelos. Da der Pfad bekannt war, wurde er schlichtweg statisch eingetragen (vielleicht nicht unbedingt elegant, aber es funktioniert):</p>
<blockquote><p>#haserl=$(which haserl 2&gt;/dev/null)<br />
haserl=/usr/local/bin/haserl</p></blockquote>
<p>nun funktionierte alles wie gewünscht und die Clients konnten sich erfolgreich Authentifizieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.balmun.de/2011/04/22/howto-coovachilli-captive-portal-mit-ubuntu-10-04-2-server-i386/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo: Wifidog Gateway mit Ubuntu 8.04</title>
		<link>http://dev.balmun.de/2010/06/20/howto-wifidog-gateway-mit-ubuntu-8-04/</link>
		<comments>http://dev.balmun.de/2010/06/20/howto-wifidog-gateway-mit-ubuntu-8-04/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 20:04:51 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[8.04]]></category>
		<category><![CDATA[Captive Portal]]></category>
		<category><![CDATA[Gateway]]></category>
		<category><![CDATA[Tut]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Wifidog]]></category>

		<guid isPermaLink="false">http://dev.balmun.de/?p=24</guid>
		<description><![CDATA[Um Wifidog als Captive-Portal zu nutzen muss man einerseits den Authentifizierungs-Server und andererseits die eigentlich Gateway Software installieren. Der Authentifizierungs-Server ist grundlegend ein einfacher Webserver mit den entsprechenden PHP-Dateien und einer PostgreSQL-Datenbank im Hintergrund. Zunächst möchte ich hier beschreiben, wie man die Gateway-Software auf Basis von Ubuntu 8.04.04 (i386) installiert. Voraussetzung: Grundsätzlich gibt es viele...<a href="http://dev.balmun.de/2010/06/20/howto-wifidog-gateway-mit-ubuntu-8-04/">&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Um Wifidog als <a title="Captive Portal auf Wikipedia" href="http://de.wikipedia.org/wiki/Captive_Portal" target="_blank">Captive-Portal</a> zu nutzen muss man einerseits den Authentifizierungs-Server und andererseits die eigentlich Gateway Software installieren. Der Authentifizierungs-Server ist grundlegend ein einfacher Webserver mit den entsprechenden PHP-Dateien und einer PostgreSQL-Datenbank im Hintergrund. Zunächst möchte ich hier beschreiben, wie man die Gateway-Software auf Basis von Ubuntu 8.04.04 (i386) installiert.</p>
<p><strong>Voraussetzung: </strong></p>
<p>Grundsätzlich gibt es viele Möglichkeiten die Gateway-Software zu installieren. Man kann Sie z.B. auf einem <a title="OpenWRT" href="http://www.openwrt.org" target="_blank">OpenWRT</a>-System installieren &#8211; z.B. auf dem berühmten Linksys WRT54GL oder ähnlichen Routern. Andererseits kann man auch einen Computer mit 2 Netzwerkkarten nutzen, was wir getan haben:</p>
<blockquote><p>Computer/Server mit 2 Netzwerkkarten<br />
Die Hardware-Kompatibilität mit Ubuntu 8.04 versteht sich von selbst. Eine der Netzwerkkarten ist mit dem Netz verbunden, in dem der Webserver steht und von welchem aus Zugang zum Internet besteht. Die andere ist für die zukünftigen Clients des Captive-Portals zuständig.</p></blockquote>
<ul></ul>
<p><strong>Installation von Ubuntu 8.04.04 i386</strong><strong> Server-Edition:</strong></p>
<p>Der Installation von Ubuntu folgen bis zur Auswahl der primären Netzwerkkarte. Hier muss man die Ethernet-Karte auswählen, die mit dem zu sperrenden Netz &#8211; im Normalfall dem Netz mit dem Webserver und Zugang zum Internet &#8211; verbunden ist. Als nächstes habe ich die automatische Konfiguration der Netzwerkinformationen abgebrochen und das Netzwerk manuell konfiguriert – wie zum Beispiel:</p>
<blockquote><p>Adresse 10.49.127.10<br />
Subnetzmaske 255.255.255.0<br />
Gateway/DNS-Server auch entsprechend angeben.</p></blockquote>
<p>Die Installation abschließen (sinnvoll wäre auch gleich während der Installation von Ubuntu den OpenSSH-Server zu installieren, welcher allerdings keine Voraussetzung für die Software ist).</p>
<ul></ul>
<p><strong>Update und Grundkonfiguration</strong></p>
<p>Nach der Installation und dem Neustart des Rechners wird es Zeit das System zunächst auf den aktuellen Stand zu bringen und nötige Updates zu installieren:</p>
<ul></ul>
<blockquote><p>sudo apt-get update<br />
sudo apt-get upgrade</p></blockquote>
<p>Als erstes ist es sinnvoll die 2. Netzwerkkarte richtig zu konfigurieren. Diese Netzwerkkarte wird Teil des späteren Client-Netzwerks sein. Die Clients die in diesem Netzwerk verbunden sind versuchen durch diese Netzwerkkarte auf das gesperrte Netzwerk (auf der während der Installation eingerichteten Netzwerkkarte) zuzugreifen. Folgende Konfiguration könnte man vornehmen:</p>
<ul></ul>
<blockquote><p>sudo nano /etc/network/interfaces<br />
# öffnet die Netzwerkkonfigurationsdatei<br />
# anfügen und gegebenfalls anpassen:<br />
auto eth1<br />
iface eth1 inet static<br />
address 192.168.10.1<br />
netmask 255.255.255.0</p></blockquote>
<p>eth1 muss man durch die entsprechende Netzwerkkarte  ersetzt werden. Wenn eth1 benutzt wird um ins Internet zu gelangen, dann sollte es üblicherweise eth0 sein. Speichern und Schließen und anschließen ein Neustart der Netzwerk-Komponenten:</p>
<ul></ul>
<blockquote><p>sudo /etc/init.d/networking restart</p></blockquote>
<p>Um nun den Clients die im Netzwerk, des gerade ebend konfigurierten Interfaces, angeschlossen sind durch das 1. Interface Informationen aus dem gesperrten Netz empfangen zu lassen richtet man eine NAT-Regel ein und stellt IP-Forward an:</p>
<ul></ul>
<blockquote><p>sudo sysctl net.ipv4.ip_forward=1<br />
sudo iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE<br />
# wenn eth0 das Interface ins gesperrte Netz ist<br />
sudo iptables -A FORWARD -i eth1 -j ACCEPT<br />
# wenn eth1 das Interface für die Clients ist</p></blockquote>
<p>Um dieses Konfiguration dauerhaft zu übernehmen muss sie in<em> /etc/sysctl.conf </em>(um IP-Forward zu enablen, Suchstring: &#8220;﻿net.ipv4.ip_forward&#8221;) bzw. <em>/etc/rc.local</em> für die iptables-Regeln. Die iptables-Regeln sind einfach (ohne sudo) in die rc.local einzufügen.</p>
<ul></ul>
<p><strong>DHCP und Bind9 (DNS-Server) Installation:</strong></p>
<p>Um die Clients auch automatisch mit den nötigen Netzwerkinformationen zu versorgen, sobald sie sich ins Netzwerk einklinken, ist ein DHCP- und ein DNS-Server notwendig. Diese installiert man mit folgendem Kommando:</p>
<ul></ul>
<blockquote><p>sudo apt-get install dhcp3-server bind9</p></blockquote>
<p>Anschließend muss man beide Konfigurieren. Beginnen wir mit dem DHCP-Server. Die entsprechende Datei ist<em> /etc/dhcp3/dhcpd.conf </em>Eine minimale Konfigurationsdatei könnte folgendermaßen aussehen:<em><br />
</em></p>
<ul></ul>
<blockquote><p>default-lease-time 36000;<br />
max-lease-time 72000;<br />
authoritative;<br />
subnet 192.168.10.0 netmask 255.255.255.0 {<br />
range 192.168.10.5 192.168.10.250;<br />
option domain-name-servers 192.168.10.1;<br />
option broadcast-address 192.168.10.255;<br />
option routers 192.168.10.1;<br />
option subnet-mask 255.255.255.0;<br />
}</p></blockquote>
<p>Nun sollte man den DNS-Server konfigurieren. Das Konfigurations-Verzeichnis ist <em>/etc/bind9</em> hier sind vor allem die Dateien <em>named.conf.options </em>und <em>named.conf.local</em> interessant. Man muss mindestens den bzw. die Referenz-DNS-Server angeben, den der lokale DNS-Server fragt, wenn er selbst den Namen nicht kennt.</p>
<ul></ul>
<blockquote><p>/etc/bind/named.conf.options<br />
&#8230;<br />
forwarders {<br />
# Eine Liste öffentlicher DNS-Server findet man leicht<br />
# in einer Suchmaschine<br />
194.25.2.129;<br />
194.25.2.130;<br />
};<br />
&#8230;.</p></blockquote>
<p>Nun muss man den DHCP- und DNS-Server neu starten, um die neue Konfiguration zu übernehmen</p>
<ul></ul>
<blockquote><p>sudo /etc/init.d/dhcp3-server restart<br />
sudo /etc/init.d/bind9 restart</p></blockquote>
<p>Jetzt kann man Testen, ob alles einwandfrei funktioniert. Dies ist erforderlich, um mit den nächsten Schritten fortzufahren. Wenn ein Computer, der im Client Netzwerk hängt eine IP-Adresse via DHCP zugewiesen bekommt und ins Internet bzw. in das später gesperrte Netz zugriff hat, dann sollte alles geklappt haben.</p>
<ul></ul>
<p><strong>Wifidog-Gateway Installation</strong></p>
<p>Zuerst einmal sollte man Programme installieren, die für das Kompilieren notwendig sind:</p>
<ul></ul>
<blockquote><p>sudo apt-get install build-essential</p></blockquote>
<p>Jetzt ist es Zeit den Quelltext der Wifidog-Gateway-Software herunterzuladen und zu installieren:<br />
Aktuelle Download-Links sind auf <a title=" Wifidog-Downloads" href="http://dev.wifidog.org/wiki/Download" target="_blank">http://dev.wifidog.org/wiki/Download</a> zu finden.</p>
<ul></ul>
<blockquote><p>wget http://downloads.sourceforge.net/project/wifidog/wifidog-gateway/1.1.5/wifidog-1.1.5.tar.gz<br />
tar -xzf wifidog-1.1.5.tar.gz<br />
cd wifidog-1.1.5<br />
./configure<br />
make<br />
make install</p></blockquote>
<p>Jetzt nur noch die Konfigurationsdatei kopieren und Wifidog mittels Symbolischen Link zur Verfügung stellen:</p>
<ul></ul>
<blockquote><p>cp wifidog.conf /etc<br />
# Befindet sich die Datei wifidog.conf nicht im aktuellen<br />
# Verzeichnis (dem Verzeichnis der entpackten Software), kann<br />
# man danach suchen: find / -name wifidog.conf<br />
# Symbolischer Link für Wifidog-Software erstellen.<br />
ln -s /etc/wifidog.conf /usr/local/etc/wifidog.conf</p></blockquote>
<p><strong>Wifidog-Gateway Konfiguration</strong></p>
<p>Nun ist es an der Zeit die Software zu konfigurieren. Die Wifidog-Konfigurationsdatei (<em>/etc/wifidog.conf</em>) ist eigentlich selbsterklärend. Für eine minimale Konfiguration sollten folgende Dinge geändert werden:</p>
<ul></ul>
<blockquote><p>GateWay Id: hotspot1<br />
ExternalInt: eth1<br />
InternalInt: eth0<br />
AuthServer {<br />
Hostname login.example.com<br />
SSLAvailable no<br />
Path /<br />
}<br />
# Hier muss man login.example.com durch die spätere<br />
# (Sub)Domain des Webservers ersetzen, auf dem die<br />
# Login-Seite laufen soll. Natürlich auch die Interfaces<br />
# entsprechend ändern.</p></blockquote>
<p><strong>Wifidog Starten</strong></p>
<p>Nun sollte alles erfolgreich konfiguriert und installiert sein. <strong>Für das starten der Gateway-Software ist es notwendig den Webserver für den Login bereits installiert zu haben.</strong></p>
<ul></ul>
<blockquote><p>wifidog -f -d 7<br />
# -f bedeutet, dass wifidog im Vordergrund auf der Konsole laufen soll<br />
# -d 7 wählt das Debuglevel.</p></blockquote>
<p>Wenn folgender Fehler auftritt: &#8220;wifidog: error while loading shard libraries: libhttpd.so.0: cannot open shared object file: No such file or directory&#8221;, muss man folendes Kommando ausführen, danach sollte Wifidog normal starten:</p>
<ul></ul>
<blockquote><p>ldconfig</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dev.balmun.de/2010/06/20/howto-wifidog-gateway-mit-ubuntu-8-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo: LinuxTerminalServer mit Ubuntu 8.04</title>
		<link>http://dev.balmun.de/2010/04/06/howto-linuxterminalserver-mit-ubuntu-8-04/</link>
		<comments>http://dev.balmun.de/2010/04/06/howto-linuxterminalserver-mit-ubuntu-8-04/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 19:54:51 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[8.04]]></category>
		<category><![CDATA[Hardy]]></category>
		<category><![CDATA[Hardy Heron]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[LinuxTerminalServer]]></category>
		<category><![CDATA[LTS]]></category>
		<category><![CDATA[LTSP]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Tut]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://dev.balmun.de/?p=15</guid>
		<description><![CDATA[Beim Surfen durch das Web findet man kaum zusammenhängende und wirklich vollständige Anleitungen für einen LinuxTerminalServer. Ich selbst hatte zunächst einige Probleme bei der Installation und musste die kleinen Feinheiten erst ausprobieren, bevor alles so funktionierte, wie ich es wollte. Deshalb habe ich mich dazu entschieden eine kleine Anleitung für einen Terminal-Server auf  Basis von...<a href="http://dev.balmun.de/2010/04/06/howto-linuxterminalserver-mit-ubuntu-8-04/">&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Beim Surfen durch das Web findet man kaum zusammenhängende und wirklich vollständige Anleitungen für einen LinuxTerminalServer. Ich selbst hatte zunächst einige Probleme bei der Installation und musste die kleinen Feinheiten erst ausprobieren, bevor alles so funktionierte, wie ich es wollte. Deshalb habe ich mich dazu entschieden eine kleine Anleitung für einen Terminal-Server auf  Basis von Ubuntu 8.04 Server-Edition zu schreiben. Geholfen beim Verstehen und Installieren hat mir der folgende Wiki-Eintrag: <a title="Wiki auf ubuntuusers.de: LTSP" href="http://wiki.ubuntuusers.de/LTSP" target="_blank">http://wiki.ubuntuusers.de/LTSP</a> So nun genug des Vorgeplänkels und auf zum konkreten:</p>
<p><strong>Voraussetzung:</strong></p>
<p>Computer/Server mit 2 Netzwerkkarten<br />
Die Hardware-Kompatibilität mit Ubuntu 8.04 versteht sich von selbst. Eine der Netzwerkkarten ist mit dem Internet verbunden. Die andere bespeist ein eigenes Netz für die zukünftigen Clients des Terminal-Servers.</p>
<ul></ul>
<p><strong>Installation von Ubuntu 8.04.03 amd64 Server-Edition:</strong></p>
<p>Der Installation von Ubuntu folgen bis zur Auswahl der primären Netzwerkkarte. Hier muss man die Ethernet-Card auswählen, die mit dem Internet verbunden ist. Als nächstes habe ich die automatische Konfiguration der Netzwerkinformationen abgebrochen und das Netzwerk manuell konfiguriert &#8211; wie zum Beispiel:</p>
<blockquote><p>Adresse 192.168.49.10<br />
Subnetzmaske 255.255.255.0<br />
Gateway/DNS-Server auch entsprechend angeben.</p></blockquote>
<p>Als nächstes der Installationsroutine folgen, bis man zur Auswahl der zusätzlichen Software-Pakete kommt. Hier habe ich Openssh-Server ausgewählt. (Diesen kann man natürlich auch später per Hand installieren, aber grundsätzlich braucht man einen SSH-Server eigentlich immer, weshalb ich ihn schon hier mit installieren lasse.) <strong>ACHTUNG</strong>: Für den LTS ist der Openssh-Server Voraussetzung. Nun lediglich die Installation vervollständigen und die gewohnten Einstellungen ausführen.</p>
<ul></ul>
<ul></ul>
<p><strong>Update und Installation des LTS</strong></p>
<p>Nach der Installation und dem Neustart des Rechners wird es Zeit das System zunächst auf den aktuellen Stand zu bringen und nötige Updates zu installieren:</p>
<ul></ul>
<blockquote><p>sudo apt-get update<br />
sudo apt-get upgrade</p></blockquote>
<p>Nun muss man das Desktop-System installieren, welches Voraussetzung für den Terminal-Server ist:</p>
<ul></ul>
<blockquote><p>sudo apt-get install ubuntu-desktop<br />
# Dies kann eine ganze Weile dauern.<br />
# Danach rein Reboot:<br />
sudo reboot</p></blockquote>
<p>Ist alles bis hierhin gut Verlaufen, so müsste man sich jetzt in einer Grafischen Benutzeroberfläche  befinden. Nun öffnen wir ein Terminal ([ALT] + [F2] und dann gnome-terminal gefolgt von [ENTER] eingeben), indem wir schließlich den eigentlichen Terminal-Server installieren:</p>
<ul></ul>
<blockquote><p>sudo apt-get install ltsp-server-standalone ltspfsd<br />
# Dies installiert den LTS und ein Paket welches zur<br />
# Verwendung von USB-Sticks an den Clients  erforderlich ist</p></blockquote>
<p><strong>Konfiguration</strong></p>
<p>Zunächst muss die 2. Netzwerkkarte konfiguriert werden. Dazu öffnet man die entsprechende Datei und fügt dieser die entsprechenden Zeilen hinzu:</p>
<ul></ul>
<blockquote><p>sudo nano /etc/network/interfaces<br />
#öffnet die Netzwerkkonfigurationsdatei<br />
# folgende Zeilen sind anzufügen:<br />
auto eth1<br />
iface eth1 inet static<br />
address 10.49.0.1<br />
netmask 255.255.255.0<br />
# eventuelle zusätzlich Informationen wie broadcast<br />
# oder network, aber nicht zwingend erforderlich<br />
# [STRG] + [O] gefolgt von [ENTER] Speichert die Datei<br />
# [STRG] + [X] schließt den Editor</p></blockquote>
<p>Als nächstes muss man überprüfen, ob der TrivialFileTransferProtocoll-Daemon gestartet wird. Bei mir wurde das immer korrekt vom Installer ausgeführt. Dies erkennt man daran, wenn in der Datei <em>/etc/inetd.conf </em>die folgende Zeile vorhanden ist:</p>
<ul></ul>
<blockquote><p>tftp           dgram   udp     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot</p></blockquote>
<p>Nun &#8211; fast als letztes &#8211; muss man den DHCP-Server anpassen. <strong>ACHTUNG: </strong>Die Konfigurationsdatei findet man unter <em>/etc/ltsp/dhcpd.conf</em> und nicht unter <em>/etc/dhcp3/dhcpd.conf</em>:</p>
<ul></ul>
<blockquote><p>authoritative;<br />
allow booting;<br />
allow bootp;<br />
subnet 10.49.0.0 netmask 255.255.255.0 {<br />
range 10.49.0.20 10.49.0.250;<br />
option domain-name &#8220;example.com&#8221;;<br />
option domain-name-servers 10.49.0.1;<br />
option broadcast-address 10.49.0.255;<br />
option routers 10.49.0.1;<br />
option subnet-mask 255.255.255.0;<br />
option root-path &#8220;/opt/ltsp/i386&#8243;;<br />
if substring( option vendor-class-identifier, 0, 9 ) = &#8220;PXEClient&#8221; {<br />
filename &#8220;/ltsp/i386/pxelinux.0&#8243;;<br />
} else {<br />
filename &#8220;/ltsp/i386/nbi.img&#8221;;<br />
}<br />
}</p></blockquote>
<p>Anschließend habe ich den Server neu gestartet und kontrolliert, ob die Dienste und die Netzwerkkonfiguration erfolgreich übernommen wurden. (ifconfig zeigt z.B. die momentanen Netzwerkinformationen)</p>
<ul></ul>
<p><strong>LTS-Client bauen und Finale Konfiguration</strong></p>
<p>Wenn alle Einstellungen erfolgreich waren und der Server soweit funktioniert, dann kann das Client-Image erstellt werden:</p>
<ul></ul>
<blockquote><p>sudo ltsp-build-client &#8211;arch i386</p></blockquote>
<p>Die Angabe der Option arch i386 ist nicht zwingend erforderlich. Fehlt sie, so wird ein Image von amd64 anstatt eines i386 (Natürlich nur auf einer Basis von Ubuntu amd64. Auf Basis von Ubuntu i386 kann <strong>NUR </strong>ein i386-Image erstellt werden.</p>
<ul></ul>
<blockquote><p>sudo ltsp-update-sshkeys<br />
# muss ausgeführt werden, um die aktuellen<br />
# Einstellungen zu übernehmen</p></blockquote>
<p>Abschließend habe ich noch kontrolliert, ob auch die Freigabe für das Image erstellt wurde. Diese findet man in <em>/etc/inetd.conf</em>. Hier müsste mindestens einer der folgenden Einträge zu sehen sein:</p>
<ul></ul>
<blockquote><p>2000    stream  tcp     nowait  nobody /usr/sbin/tcpd /usr/sbin/nbdrootd /opt/ltsp/images/amd64.img<br />
2001    stream  tcp     nowait  nobody /usr/sbin/tcpd /usr/sbin/nbdrootd /opt/ltsp/images/i386.img<br />
# Fehlen diese, sollte man sie hinzufügen und den<br />
# Dienst neu starten: sudo /etc/init.d/openbsd-inetd restart</p></blockquote>
<p>Das war&#8217;s! Nun sollte es möglich sein von einem Computer/ThinClient der über das Netzwerk &#8211; der mit eth1 verbundenen Karte &#8211; in Ubuntu zu booten.</p>
<p>Weiterführende Links:</p>
<p><a title="Wiki Ubuntuusers.de: LTSP" href="http://wiki.ubuntuusers.de/LTSP" target="_blank">http://wiki.ubuntuusers.de/LTSP<br />
</a><a title="Wiki Ubuntuusers.de: LTSP - lts.conf" href="http://wiki.ubuntuusers.de/LTSP/lts.conf" target="_blank">http://wiki.ubuntuusers.de/LTSP/lts.conf<br />
</a><a title="LTSPQuickInstall" href="https://help.ubuntu.com/community/UbuntuLTSP/LTSPQuickInstall" target="_blank">https://help.ubuntu.com/community/UbuntuLTSP/LTSPQuickInstall<br />
</a><a title="UbuntuLTSP" href="https://help.ubuntu.com/community/UbuntuLTSP" target="_blank">https://help.ubuntu.com/community/UbuntuLTSP</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dev.balmun.de/2010/04/06/howto-linuxterminalserver-mit-ubuntu-8-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xajax 0.5 und PHP 5.3.1</title>
		<link>http://dev.balmun.de/2010/01/21/xajax-0-5-und-php-5-3-1/</link>
		<comments>http://dev.balmun.de/2010/01/21/xajax-0-5-und-php-5-3-1/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 21:03:37 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Deprecated Error]]></category>
		<category><![CDATA[PHP 5.3.1]]></category>
		<category><![CDATA[Xajax 0.5]]></category>

		<guid isPermaLink="false">http://dev.balmun.de/?p=1</guid>
		<description><![CDATA[Nach dem Update auf PHP 5.3.1 traf mich zuerst ein Schock, als ich meine bisher einwandfrei laufende Website betrachtete, denn es erschienen nur noch 2 PHP-Warnungen: Deprecated: Assigning the return value of new by reference is deprecated in /*****/xajax_core/xajax.inc.php on line 360 Deprecated: Assigning the return value of new by reference is deprecated in /*****/xajax_core/xajax.inc.php...<a href="http://dev.balmun.de/2010/01/21/xajax-0-5-und-php-5-3-1/">&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Nach dem Update auf PHP 5.3.1 traf mich zuerst ein Schock, als ich meine bisher einwandfrei laufende Website betrachtete, denn es erschienen nur noch 2 PHP-Warnungen:</p>
<blockquote><p>Deprecated: Assigning the return value of new by reference is deprecated in /*****/xajax_core/xajax.inc.php on line 360<br />
Deprecated: Assigning the return value of new by reference is deprecated in /*****/xajax_core/xajax.inc.php on line 1305</p></blockquote>
<p>PHP hatte also ein Problem mit dem Xajax-Code, wobei dieser Error erst mit der Version 5.3.x von PHP hinzugefügt wurde, weshalb er zuvor auch nicht erschienen ist. Man kann das auswerfen dieses Fehlers unterbinden, indem man im php-Script</p>
<blockquote><p>&lt;?php error_reporting(E_ALL ^ E_DEPRECATED); ?&gt;</p></blockquote>
<p>einfügt. Dieser Code bewirkt, dass alle Fehler, außer den Deprecated-Errors ausgegeben werden. Alternativ kann man die Fehlerebene auch anders wählen. Deprecated-Error sind Hinweise, dass die Funktion in zukünftigen PHP-Versionen nicht mehr verfügbar sein wird. Die Xajax-Funktionen funktionierten danach wieder problemlos bei mir. Nichts desto trotz erwarte ich mit Spannung die Xajax Version 0.6, mit der Xajax, laut <a title="Website" href="http://xajax-project.org/en/development-blog/the-next-step-xajax-0-6/" target="_blank">Website</a> (&#8220;For starters, we are going to take full advantage of PHP5 (even supporting STRICT mode).&#8221;), die vollständige Unterstützung und Nutzung der Vorteile von PHP 5 plant.</p>
<p style="text-align: left;">Nähere Hinweise:<br />
<a title="http://php.net/manual/de/migration53.deprecated.php" href="http://php.net/manual/de/migration53.deprecated.php" target="_blank">http://php.net/manual/de/migration53.deprecated.php</a>,<br />
<a title="http://www.php.net/manual/en/errorfunc.constants.php" href="http://www.php.net/manual/en/errorfunc.constants.php" target="_blank">http://www.php.net/manual/en/errorfunc.constants.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dev.balmun.de/2010/01/21/xajax-0-5-und-php-5-3-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

