Kategorie: Allgemein

Redesign eKiwi.de

Ein kleines Update in eigener Sache! Nachdem das alte Design bereits etwas angestaubt war, haben wir uns hingesetzt und eKiwi.de mit einem neuen Look versehen. Neben der neuen Darstellung, werden nun auch mobile Endgeräte wie Smartphones oder Tabletts unterstützt. Noch ist der ganze Prozess nicht abgeschlossen, wie man auch hier an dem Blog sehen kann. Diese Sachen werden wir aber nach und nach ebenfalls angehen und umstellen.


Wem noch etwas auffällt, zum Beispiel Links die ins Leere gehen oder Darstellungsfehler, kann sich einfach bei uns melden. Wir freuen uns über jede Rückmeldung positiv wie negativ!

Neben dem neuen Design wird es in Kürze auch komplett neue Inhalte geben. Mehr will ich an dieser Stelle nicht verraten. :-)

Redesign


DA-FormMaker für OSX Update

In den DA-FormMaker hat sich ein kleiner Fehler eingeschlichen. So konnte es passieren, dass die Sprache beim Ersten Start nicht korrekt dargestellt wird. Den Fehler habe ich jetzt behoben und es gibt ein kleines Update. Entweder als Download von unserer Webseite, bzw. über den Mac App Store.

DA-FormMaker für OSX

 

Erhätlich im Mac App Store


Cooler Streaming Lautsprecher: Sonos Play:1 und Bridge

Sonos_Play1Auf der Suche nach einem neuen guten Küchenradio, welches den Stand der Technik entspricht; soll heißen: guter Sound ist Pflicht, eigene Musiksammlung von iPad, IPhone & Co streamen und Internetradio muss auch drin sein; bin ich nach einigem Ringen zwischen Sonos und Bose bei der Play:1 von Sonos gelandet.

Vorweg: Wer Ansprüche hegt, dem das Geld nicht fehlt. Das schnucklige Teil kostet 200 Piepen und mit Bridge packt man noch einen Fuffi drauf.

Diese “Brücke” spannt ein eigenes Sonos-Wireless-Peer-to-Peer-AES-verschlüsseltes Netzwerk auf um Daten aus dem Internet variabel zu einzelne Player/Boxen zu streamen. Die Bridge wird benötigt, wenn man am Standort des Sonos_BridgeLautsprechers keinen Ethernet-Anschluss zum Router zur Verfügung hat, was wohl in den meisten Fällen zutreffen wird. Außerdem ermöglicht die Bridge zukünftige Erweiterungen. So kann man z.B. in jedem Zimmer einen Sonos-Lautsprecher aufstellen und über die Sonos-App per Smartphone mit unterschiedler oder der gleichen Musik beströmen. Der Beschallung sind damit zum Leidwesen der Nachbarn kaum noch Grenzen gesetzt. Angeschlossen wird die Bridge über einen Ethernet-Port am Router. Und wer jetzt rumjammert, dass kein Port mehr frei ist: Die Bridge ist mit einem 2-Port-Switch bestückt. Wie zerronnen so gewonnen.

Den Lautsprecher selbst gibt es in Schwarz und Weiß und mit dem relativ guten Design und einer Größe von 12cmx16cm kann man ihn so gut wie überall aufstellen, ohne dass er zum störenden Blickfang wird. Auf der Rückseite hat die Box einen Ethernet-Port zum Anschluss an das heimische LAN oder an die Bridge, welcher aber bei Wireless-Verbindung mit der Bridge jungfräulich bleiben darf. Für die direkte Bedienung gibt einen Taster für Laut&Leiste sowie einen für Stopp. Für alles andere zückt man die zugehörige kostenlose App. Wer sich die komplette Spezifikation reinziehen will, schaut hier bei Sonos nach.

Sonos Bridge: Das wird geliefert!

Auch wenn in meinen beiden Empfänger für auditive Luftdruck und –dichteschwankungen nicht das filigrane Musikerohr steckt, muss ich schon sagen, dass der Sound das alte 15€-Küchenradio bei Weitem übertrifft. Mit einer zweiten Play:1 kann man einen weiteren Klangsprung in Richtung Stereo machen. Und wer dann noch Kleingeld im Portemonnaie hat macht den Quantensprung zur Play:3 oder Play:5. Die maximale Lautstärke ist vollkommen ausreichend. Man kann bei offenen Türen locker alle Räume einer 70m² Wohnung beschallen.


Sonos Play:1: Was euch erwartet!

Eine kleine Bitternote hat das Ganze: Der Verbrauch im Ruhezustand wird von Sonos mit jeweils 4 Watt für die Play:1 und für die Bridge angegeben. 8 Watt übers ganze Jahr läppern sich zu 70,08 kWh, was sich dann bei ca. 30Ct/kWh mit ungefähr 21€ extra Stromkosten im Haushaltsbudget niederschlägt. Über den guten Vorsatz immer emsig die Netztrennung per Steckerziehen zu realisieren, wenn das gute Teil nicht gebraucht wird, wird alsbald die Bequemlichkeit siegen. Denn ehe die Box und die Bridge nach Wiederherstellung der Stromversorgung zueinander finden, gehen etliche gelangweilte Sekunden ins stumme Land. Wer das Radio einschaltet, möchte eigentlich sofort beschallt werden und dazu lässt man die Komponenten besser an der Elektronenspeisung.


IP–Update für DynDNS-Dienste unabhängig vom Router

Vorrede

Vor Kurzem hatte ich mir meinen Raspberry Pi als Server eingerichtet und den Zugriff übers Internet auf den Server über einen eigenen DynDNS-Dienst konfiguriert. Wie in dem Artikel schon angedeutet handelt es sich nicht um einen echten DNS-Dienst, sondern um ein IP-Update mit Weiterleitungsfunktion, was für viele HTTP-Anwendungsfälle funktioniert aber, oh Schmach, leider nicht für alle Anwendungsfälle, wie z.B. dem Synchronisieren von Kalender- oder Kontaktdaten zwischen Server und Smartphone via CalDAV oder CardDAV.

Also musste jetzt übergangsweise ein herkömmlicher DynDNS-Dienst her, bis die Firma einen richtigen Linux-Server spendiert auf dem man auch einen eigenen DynDNS z.B. via Bind9 einrichten kann Smiley. Das war aber kein leichtes Unterfangen, da, wie ich feststellen musste, inzwischen die meisten bekannten DynDNS-Dienste entweder kostenpflichtig geworden sind oder umständliche, regelmäßige Logins auf deren Webseite verlangen. Ich bin nun bei http://dnsdynamic.org/ gelandet. Dort ist das Angebot kostenlos ohne regelmäßige Logins und es wird bis zum heutigen Tag versprochen auch in Zukunft absolut kostenfrei zu bleiben.


Was ich eigentlich sagen wollte

Da ein solcher DynDNS-Dienst es erforderlich macht, dass der Router nach der Zwangstrennung durch den Internet-Provider seine neu zugewiesene IP-Adresse dem DynDNS-Dienst mitteilt, muss man sich Gedanken machen, wie das erfolgen soll. Der bekannteste Ansatz ist, das Update der IP-Adresse durch den Router durch Verwendung einer Update-URL vornehmen zu lassen. Das nachfolgende Bild zeigt die Eingabemaske in der Fritz!Box dafür.

dyndns_fritzbox

Der andere mögliche Ansatz ist das IP-Update auf dem Server laufen zu lassen. Hierfür gibt es den Perl Client DDclient.  Man installiert den DDclient mit dem Befehl

pi@raspberrypi ~ $ sudo apt-get install ddclient 

Bei dem nun folgenden Installationsprozess wird man noch zu den Daten seines dynalias abgefragt. Dabei wird gleich die *.config-Datei angelegt. Im Falle der Verwendung eines dynalias von dnsdynamic kann darüber hinweg gehen bzw. erstmals irgendetwas eintragen.

Ist die Installation fertig ruft man die Konfigurationsdatei mit einem Texteditor auf

pi@raspberrypi ~ $ sudo nano /etc/ddclient.conf 

und trägt dort folgendes ein:

daemon=60                                                  # check every 60 seconds
syslog=yes                                                   # log update msgs to syslog
mail=root                                                     # mail all msgs to root
mail-failure=root                                          # mail failed update msgs to root
pid=/var/run/ddclient.pid                             # record PID in file.
ssl=yes                                                        # use ssl-support.  Works with
# ssl-library
use=web, web=myip.dnsdynamic.com        # get ip from server.
server=www.dnsdynamic.org                     # default server
login=DeinLogin                                          # default login
password=DeinPasswort                            # default password
server=www.dnsdynamic.org,              \
protocol=dyndns2

Die Platzhalter “DeinLogin” und “DeinPasswort” müssen noch mit den eigenen Login-Daten ersetzt werden. Den Wert von daemon kann man getrost nach weiter nach oben setzen. Dort wird angegeben in welchem Intervall auf IP-Änderungen geprüft werden soll. Selbst für den ambitionierten Heimserverbetreiber sind 60 Sekunden etwas Overkill. Hier kann man auch gut und gerne 10 Minuten (600) oder länger eintragen.

Wenn jetzt noch die erforderlichen Ports im Router freigegeben sind, sollte dem Zugriff aus dem Internet nichts mehr im Wege stehen.


Mac OS X: Enable Access for Assistive Devices

Einige Programm unter MacOS fordern manchmal “Enable Access for Assistive Devices”. So ist es mir wiederfahren bei dem praktischem Programm SnagIt zum Aufnehmen von Screenshots. Die Meldung bedeutet, dass die Anwendung Funktionen zum Steuern des Computers übernehmen will. In meinem Fall das Scrollen von Bildschirminhalten:

“To capture a scrolling area, you must enable access for assistive devices in the System Preferences and restart SnagIt”

Dass man eine solche Einstellung bewusst freigeben muss, ist schon mal gut. Aber wo findet man diese Einstellung, wenn man erschwerender Weise auch noch als Systemsprache Deutsch eingestellt hat?

Die App navigierte mich “straight ahead”  zu Systemsteuerung –> Bedienhilfen, wo die Einstellung auch in früheren Versionen von OS X zu finden war.

systemsteuerung_bedienungshilfen

 

Seit Mavericks hat man aber die Einstellung zu Systemsteuerung –> Sicherheit –> Privatsphäre verschoben.

 

systemsteuerung_sicherheit

Hier einfach über das Schloss-Symbol in der unteren linken Ecke mit dem Administrator-Passwort die Einstellungen entsperren und bei der gewünschten App das Häkchen setzen.


Netzwerkverkehr mit Fritz!Box aufzeichen

Neulich stand ich für einen anderen Artikel in unserem Blog vor dem Problem den Datenverkehr zwischen meiner Fritz!Box und dem Internet aufzeichnen zu wollen, um herauszufinden wie die Fritz!Box in Bezug auf ihren DynDNS-Dienst eine DNS-Anfrage stellt. Wie ich schnell herausfand, hält die Fritz!Box dafür eine versteckte Funktionalität bereit, welche über die normale Admin-Oberfläche nicht erreichbar ist. Diese Sniffer-Funktion, welche den Datenverkehr bzw. Datenpakete von verschiedenen an den Router angeschlossenen Netzwerkkomponenten aufzeichnen kann, findet man unter der URL

http://fritz.box/html/capture.html

fritzbox_paketmitschnitt

Ruft man diese Seite in seinem Router auf, so muss man sich als erstes mit seinem standardmäßigem Admin-Passwort anmelden.

fritzbox_anmeldung

Woraufhin sich die Oberfläche zum Mitschneiden der Datenpaket auftut

fritzbox_capture

Dort klickt man auf den Start-Button für die Schnittstelle 0 (“internet”). Dann öffnet sich eine Download-/Speichern Unter-Dialog. Hier sucht man sich einen Pfad aus, wo die Datei mit dem Datenverkehr gespeichert werden soll und vergibt noch einen Dateinamen. Nun beginnt die Fritz!Box mit der Aufzeichnung. Gestoppt wird die Aufnahme über den Stopp-Button. Während der Aufnahme werden die Daten in eine ETH-Datei geschrieben. Diese Datei lässt sich mit dem freien Programm Wireshark öffnen und analysieren.

wireshark

Die Spalten in Wireshark sind alle filterbar und sortierbar, so dass man sich schnell zu den gewünschten Eintrag anhand der IP-Adresse, Zeit oder anhand des Protokolls durchwühlen kann. Zu jedem Paket kann man sich die Details anzeigen lassen sowie auch eine Byte-Darstellung.

wireshark_detailview

Im obigen Bild sieht man die Detail-Auflösung eines Datenpaketes, welches HTTPS-Daten enthält. Deswegen sollte man theoretisch diesen Daten nicht viel Informationen entnehmen können. Es wird an dieser Stelle aber auch das Missbrauchspotential offensichtlich. Würde es sich bei dem Datenpaket um eine einfaches HTTP-Protokoll handeln, bei welchem gerade die Login-Daten zu einer Internet-Seite übertragen worden sind, könnten man Username und Passwort im Klartext auslesen. Deswegen sollte man immer darauf achten, dass, wenn man nicht im heimischen, vertrautem Netzwerk surft, solche sensiblen Daten nur über HTTPS übertragen werden. Findet man in der Öffentlichkeit ein frei zugängliches WLAN-Netzwerk, ist die Versuchung groß dieses zu nutzen. Die Absichten des WLAN-Betreibers könnten aber zweifelsohne nicht die Solidarischsten sein.


Eigener DynDNS Dienst Dynalias für dynamische IP

Wer sich zu Hause ein Heimnetzwerk aufbaut mit z.B. einem NAS oder einem eigenen Webserver, kommt schnell in die Verlegenheit, dass er auch von außerhalb über das Internet auf seine Daten zugreifen möchte. Kernproblem dabei ist, dass die jeweiligen DSL-Provider eine tägliche Zwangstrennung vornehmen, welche mit einem Wechsel der IP-Adresse daher kommt, so dass ohne dem Wissen um die IP-Adresse kein Zugriff möglich ist. Das  Problem ist meistens schnell gelöst, da es im Internet jede Menge Anbieter für Dynamische IP-Adressen (Dyn DNS) gibt; viele auch kostenlos. Jedoch ist es ggf. nicht jedermanns Sache sich einem solchen Dienst anzuvertrauen, weil die Anbieter vielleicht im Ausland sitzen oder man ein ungutes Gefühl hat, was der Dienst alles protokolliert und ggf. auswertet.

Deshalb gibt es sicherlich genügend Gründe die Einrichtung eines eigenen Dyn DNS Dienst in Erwägung zu ziehen. In den folgenden Zeilen wird ein möglicher Lösungsvorschlag beschrieben. Die erläuterte Umsetzung ist eine einfache Variante ohne tiefe Eingriffe in die Serverkonfiguration des Webhosting-Paket und ist geeignet für alle Anwendungen auf Basis HTTP, womit ein Großteil wie Webserver, OwnCloud, Seafile u.ä. abgedeckt ist. 

Voraussetzungen

Was wird gebraucht? Es wird mindestens ein Webhosting Paket mit PHP- und MySQL-Unterstützung inkl. einer eigenen Domain benötigt. Es sollte zudem die Möglichkeit bestehen eigene Subdomains, wie z.B. myhomenet.mydomain.de, anzulegen.
Man sollte weiterhin einen Router zu Hause im Einsatz haben auf welchem man einen Dyn DNS Dienst konfigurieren kann. In diesem Artikel erfolgt die Konfiguration am Beispiel der Fritz!Box 7390.

Prinzip

Nach der Zwangstrennung durch den DSL-Provider erfolgt die neue Anmeldung und der Router erhält vom Provider eine neue IP-Adresse zugeordnet. Sofern ein DynDNS Dienst im Router konfiguriert ist, versucht sich der Router bei diesem Dienst anzumelden, so dass die aktuelle IP-Adresse bereitgestellt werden kann. Deshalb werden wir im ersten Schritt eine PHP-Datei schreiben, welche auf unserem Webhosting Paket mit statischer IP-Adresse läuft, die aktuelle IP des Routers erfasst und diese in eine Datenbank schreibt. Erfolgt dann der Zugriff über z.B. myhomenet.mydomain.de so soll dort eine index.php ausgeführt werden, welche uns an das Heimnetzwerk weiter dirigiert. Es wird bei dieser Lösung also nicht in den DNS-Server eingegriffen.

Datenbank einrichten

Zuerst richten wir uns eine eigene Datenbank dafür ein. Das kann manuell über den Admin-Bereich zum Verwalten der Datenbanken bei dem Webhosting-Paket machen.

Innerhalb der Datenbank erzeugt man eine Tabelle namens userip mit den Spalten id, username, password, domain und ip. Namen für Tabellen und Felder sind natürlich Schall und Rauch und können nach eigenem Gutdünken angepasst werden.

CREATE TABLE  `deinDatenbankname`.`userip` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` TEXT NOT NULL ,
`password` TEXT NOT NULL ,
`domain` TEXT NOT NULL ,
`ip` TEXT NOT NULL
) ENGINE = INNODB;

Alternativ kann man sich nun ein oder zwei PHP-Seiten bauen um die Datenbank-Einträge zu verwalten: neue User anlegen, löschen, editieren u.s.w. Der Einfachheit halber lege ich meinen Datensatz mittels phpMyAdmin an.

Das Eintragen des Passworts erfolgt selbstverständlich nicht im Klartext sondern als Hash. Dazu kann man z.B. die PHP-Funktion crypt() verwenden.

Das Anlegen des Datensatz kann mit folgendem SQL-Statement erfolgen, wobei wir den Wert für die IP-Adresse leer lassen.

INSERT INTO  `deinDatenbankname`.`userip` (
`id` ,
`username` ,
`password` ,
`domain` ,
`ip`
) VALUES (NULL ,  ‘yourusername’, ‘yourpasswordhash’,  ‘yourdomain’,  ”);

PHP-Seite für IP Aktualisierung

Nun legen wir eine php-Seite namens useripupdate.php an über welche sich der Router nach der Zwangstrennung und dem damit verbundenen IP-Wechsel wieder anmeldet. Die neu zugeteilte IP-Adresse wird bei dem zugehörigen User in der Datenbank aktualisiert.

  1: <?php
  2: //Datenbank Zugangsdaten
  3: $dbhost = "localhost";
  4: $dbname = "datenbankname";
  5: $dbuser = "datenbankbenutzer";
  6: $dbpass = "datenbankpasswort";
  7: //Datenbankverbindung herstellen
  8: $conn = mysql_connect($dbhost, $dbuser, $dbpass);
  9: if(! $conn )
 10: {
 11:   die('Konnte Datenbank nicht verbinden: ' . mysql_error());
 12: }
 13: $db_selected = mysql_select_db($dbname, $conn);
 14: if (!$db_selected) {
 15:     die ('Kann Datenbank nicht benutzen : ' . mysql_error());
 16: }
 17: 
 18: //Parameter per GET auslesen
 19: $user = $_GET['user'];
 20: $pass = $_GET['pass'];
 21: $ip = $_GET['myip'];
 22: //Passwort-Hash aus dem übergebenen Passwort erzeugen
 23: $passhash = crypt($pass, "NprsdkwfpavvGnDKZlS8qv");
 24: 
 25: //Datenbank-Abfrage zu übergebenen User
 26: $query = "SELECT id, password FROM userip WHERE username='".$user."'";
 28: $sql_fetch = mysql_query($query );
 29: if (!$sql_fetch) {
 30:     die ('Konnte Abfrage nicht ausführen: ' . mysql_error());
 31: }
 32: $row = mysql_fetch_row($sql_fetch);
 33: //Auslesen der Datenbank Id und des Passwort-Hash aus der Datenbank
 34: $dbID = $row[0]; //id
 35: $hashFromDB = $row[1]; //passwordhash aus Datenbank
 36: 
 37: //Passwort-Hash auf Richtigkeit überprüfen
 38: if($hashFromDB != $passhash){
 39: 	die ('Ungültige Passwort'); 
 40: } 
 41: else{
 42: 	//Wenn Passwort richtig ist, dann IP-Adresse in Datenbank aktualisieren
 43: 	$query = "UPDATE userip "."SET ip='".$ip."' WHERE id='".$dbID."'";
 44: 	$sql_update = mysql_query($query);
 45: 		if (!$sql_fetch) {
 46: 			die ('IP Update konnte nicht ausgeführt werden: ' . mysql_error());
 47: 		}
 48: 	//diese Ausgabe wird als Statusrückmeldung für die Fritz!Box benötigt
 49: 	echo ("good ".$ip);
 50: }
 51: //Datenbankverbindung schließen
 52: mysql_close($conn);
 53: ?>

Bei der Anmeldung mittels dieses Script werden drei Parameter Benutzername (user), Passwort (pass) und IP-Adresse (myip) übergeben, welche mit $_GET eingelesen werden. Es wird dann anhand des Benutzernamen der zugehörige Datenbankeintrag ausgelesen, geprüft ob die Hash-Werte der Passwörter übereinstimmen und dann die aktuell übergebene IP-Adresse in der Datenbank aktualisiert.

Router einrichten

Die Router – Einrichtung erfolgt in diesem Fall am Beispiel der FRITZ!Box 7390. Um in die entsprechenden Einstellungen für die Dynamic DNS zu gelangen muss man ggf. noch den Expertenmodus oder die Erweiterte Ansicht in der Fritz!Box aktivieren. Das macht man, nachdem man sich in der Fritz!Box eingeloggt hat, über das Menü System –> Ansicht.

Nun wechselt man in das Menü Internet –> Freigaben und wählt den Reiter Dynamic DNS an.

fritzbox_dynamicdns

Man aktiviert nun “Dynamic DNS benutzen” und stellt den “Dynamic DNS Anbieter” auf “Benutzerdefiniert”. In dem Feld Update-Url trägt man die Adresse zu der useripupdate.php ein mit Platzhalter für die Parameter username, pass und myip, was dann folgende Form hat:

http://sub.domain.de/useripupdate.php?user=<username>&pass=<pass>&myip=<ipaddr>

Es ist dann noch der Domainname einzutragen, wobei dieser nicht als Parameter übergeben wird. Bei Benutzername und Kennwort ist der in der Datenbank angelegt Benutzername und das dort hinterlegte Kennwort (nicht Hash) zu verwenden. Diese werden als Parameter von der Fritz!Box übergeben und in dem Script useripupdate.php verwendet.

Damit man auf den eigenen Webserver im Heimnetzwerk Zugriff hat, müssen ggf. noch entsprechende Portfreigaben gesetzt werden:

fritzbox_portfreigabe

PHP-Skript zur Weiterleitung

In den Pfad für unseren statischen Zugriff (myhomenet.mydomain.de) packen wir nun noch eine PHP-Datei namens index.php, welche anhand des Domainnamen aus der Datenbank die aktuelle IP-Adresse ausliest. Es wird dann der Domainname durch die aktuelle IP-Adresse ersetzt und es erfolgt die Weiterleitung an das Heimnetzwerk.

  1: <?php
  2: //Datenbank Zugangsdaten
  3: $dbhost = "localhost";
  4: $dbname = "datenbankname";
  5: $dbuser = "datenbankbenutzer";
  6: $dbpass = "datenbankpasswort";
  7: //Datenbankverbindung herstellen
  8: $conn = mysql_connect($dbhost, $dbuser, $dbpass);
  9: if(! $conn )
 10: {
 11:   die('Konnte Datenbank nicht verbinden: ' . mysql_error());
 12: }
 13: $db_selected = mysql_select_db($dbname, $conn);
 14: if (!$db_selected) {
 15:     die ('Kann Datenbank nicht benutzen : ' . mysql_error());
 16: }
 17: //aufgerufenen Domainnamen auslesen, da über diesen die aktuelle IP aus der Datenbank abgefragt wird
 18: $domain = $_SERVER['SERVER_NAME'];
 19: //Datenbank-Abfrage zur aktuellen IP
 20: $query = "SELECT ip FROM userip WHERE domain='".$domain."'";
 21: $sql_fetch = mysql_query($query );
 22: if (!$sql_fetch) {
 23:     die ('Konnte Abfrage nicht ausführen: ' . mysql_error());
 24: }
 25: $row = mysql_fetch_row($sql_fetch);
 26: //Auslesen der IP-Adresse aus der Datenbank
 27: $ip = $row[0]; //ip
 28: //eingegebene URL analysieren
 29: //hier muss in die Trickkiste gegriffen werden und hinter der Domain ein ? eingegeben werden,
 30: //in der Form http://subdomain.domain.de/?verzeichnis1/datei1.htm 
 31: //damit er nicht die Datei in der Domain sucht sondern beim Fragezeichen abricht und die index.php aufruft
 32: $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
 33: $new_url = str_replace($domain, $ip, $actual_link);
 34: $new_url = implode("", explode("?", $new_url, 2));
 35: //Weiterleitung an Heimentz IP
 36: header("Location: $new_url");
 37: //Datenbankverbindung schließen
 38: mysql_close($conn);
 39: ?>

Problem bei dieser Variante mit der Weiterleitung über ein PHP-Script ist, dass man Unterverzeichnisse und Dateien nicht einfach in der Form

myhomenet.mydomain.de/verzeichnis1/datei2.htm

aufrufen kann, da dies ins Leere läuft und die index.php nicht ausgeführt wird. Aus diesem Grund greift man hier in die Trickkiste und ruft die Seite wie folgt auf:

myhomenet.mydomain.de/?verzeichnis1/datei2.htm

Das Fragezeichen bewirkt, dass nur der Part vor dem Fragezeichen aufgerufen wird, wodurch die index.php aufgerufen wird. Für die Weiterleitung wird im Skript dann das erste Vorkommen des Fragezeichen für die Weiterleitungs-URL entfernt. Es ist wichtig, dass nur das erste Fragezeichen in der URI entfernt wird, da sonst keine dynamischen Webseiten mit Parameterübergaben funktionieren.

Unschön! Aber damit kann man leben

Zum Schluss sei noch erwähnt, dass man, wenn man alles erfolgreich eingerichtet hat, in der Fritz!Box die folgende Meldung in regelmäßigen Abständen erhält:

Dynamic DNS-Fehler: Die Dynamic DNS-Aktualisierung war erfolgreich, anschließend trat jedoch ein Fehler bei der DNS-Auflösung auf.

Diese Meldung bedeutet keine Einschränkung der Funktionalität. Kann aber vermutlich auch nicht beseitigt werden, zumindest ist mir noch keine Lösung bekannt. Wer eine Lösung weiß: her damit!

Nach der erfolgreichen Anmeldung versucht die Fritz!Box anscheinend “Anfragen” an den Dynamic DNS-Domainnamen zur Verifikation der IP zu stellen. Da bei der hier vorgestellten Methode der DNS-Server nicht angepasst wird, sondern nur eine Weiterleitung erfolgt, stellt die Fritz!Box eine Differenz fest, was sie zu dieser Meldung veranlasst.

Da mich interessiert hat, wie diese “Anfrage” näher aussieht habe ich mittels eines Sniffer den Datenverkehr aufgezeichnet und mir angeschaut. Darin war zu sehen, dass die Fritz!Box ein DNS-Query an einen DNS-Server sendet. Der Query lautet auf den in der Fritz!Box eingetragenen DNS-Domainnamen. Zum Query kommt dann als Antwort die DNS-Response, welche neben den DNS-Domainnamen die IP-Adresse zurückgibt, welche wie schon vermutet nicht mit der IP der Fritz!Box übereinstimmt.


Tilde ~ mit Mac Tastatur

Ein weniger oft genutztes Zeichen ist die Tilde, welches man neben einigen anderen Zeichen nicht auf der Mac-Tastatur findet. Und da man bei wenig genutzten Zeichen auch ganz schnell die Tastenkombination wieder vergisst, soll diese hier ein für alle Mal festgehalten werden. Es handelt sich um

[Alt] + [n]

Oft hat man auch das Zeichen vor Augen und kommt auf dessen Name nicht. Eine Tilde ist dieses schlangenförmige oder wellenförmige Zeichen:

~


Raspberry Pi einrichten: Erste Schritte

Vor Kurzem hatten wir in diesem Blog einen kleinen Artikel über die Verkaufszahlen des Raspberry Pi veröffentlicht. Auch wir zählen mit mindestens zwei Geräten zu den 1,75 Millionen verkauften Geräten (Stand: Oktober 2013) und möchten an dieser Stelle die ersten Schritte zum Einrichten der Rasberry Pi erläutern.

Der Raspberry Pi

Die Hersteller des Raspberry Pi machten es wie andere Computerhersteller und benannten ihren Kleincomputer nach einer Frucht. In diesem Fall die Himbeere. Und in der Tat stimmen hier auch ungefähr die Größenverhältnisse zwischen Apfel und Himbeere. Der Raspberry Pi kommt nämlich als Einplatinen-Computer in Kreditkartengröße daher. Die nachfolgenden Bilder zeigen wie beeindruckend klein das Gerät ist.

rasberry1

 

rasberry2

 

Das Pi im Namen des Gerätes steht übrigens nicht für die bekannte Kreiszahl, sondern soll Phyton Interpreter bedeuten, da der ursprüngliche Ansatz war den Computer mit einen Interpreter für die Programmiersprache Phyton auszuliefern.

Entwickelt wurde der Kleinstcomputer als Billigprodukt, welches zum Experimentieren anregen soll. Neben wirklich coolen Experimenten, wie Videoaufnahmen von einem 40km hoch fliegenden Wetterballon, finden sich im Internet viele Beschreibungen zu Standardanwendungen für den “Hausgebrauch”, wie z.B. als Home-Server-Ersatz, Media-Center, NAS oder sogar als Desktop-Rechner.

Technische Detail

Hier in den Bildern abgebildet ist das Mod. B Rev. 2.0 mit 512 MB RAM, 2 USB 2.0 Anschlüssen, 10/100 MBit Ethernet und HDMI Ausgang.

rasberry5

Neben einen Audio und Video-Ausgang gibt es auch GPIO-Pins für frei verwendbare Ein- und Ausgänge. Damit kann sich der ambitionierte Bastler auch eine kleine Steuerung aufbauen.

rasberry3

Die Stromversorgung des Mini-Computers mit 700MHz ARM-Prozessor erfolgt über ein 5V-Netzteil mit Micro-USB-Anschluss. Unterhalb der Platine erkennt man auch den Slot zum Einschieben der SD-Karte, von welcher aus auch das Betriebssystem gebootet wird.

rasberry4

SD-Card vorbereiten und Betriebssystem installieren

rasberry9_sdcardDas Betriebssystem für den Rasberrry Pi wird auf einer SD-Karte installiert, welche 4GB oder mehr Speicherkapazität haben sollte. Bevor die SD-Karte genutzt werden kann, muss diese formatiert werden. Es wird empfohlen die spezielle Formatierungssoftware von der SD Association zu verwenden, da sonst abhängig vom Betriebssystem die SD-Karte nicht vollständig formatiert wird, sondern nur bestimmte Partitionen. Den Download der Formatierungssoftware gibt es für Windows und Mac. Nach dem man das Software-Tool installiert, kann man die SD-Karte in den Computer oder in das Kartenlesegerät einführen. Die Formatierung ist sehr simpel: Ggf. betreffende SD-Karte auswählen, falls noch nicht vorgewählt; Overwrite Format (dauert sehr lange) wählen und nach Wunsch noch einen Namen vergeben für die SD-Card.

rasberry8_sdformatter

Ist die SD-Karte nun fertig formatiert, kann das Betriebssystem auf der Karte installiert werden. In unserem Fall laden wir es uns von http://downloads.raspberrypi.org/noobs herunter und entpacken dann die zip-Datei auf unserem Rechner. Es gibt inzwischen viele Varianten und Flavors an Betriebssystemen für den Pi. Welches davon den Vorzug erhält sollte anhand dem vorgesehenen Anwendungsfall und dem persönlichen Geschmack recherchiert und entschieden werden.

Die entpackten Dateien kopieren wir dann auf die SD-Karte.

Bei der über diesen Link herunter geladenen NOOBS-Datei (New Out of Box Software) handelt es sich um eine Sammlung mehrerer Betriebssysteme, so dass man nach dem ersten Start auswählen kann, welches man installieren möchte.

Jetzt wird verkabelt

rasberry11_hdmi_to_dviZunächst werden wir für die Erstinstalltion den Pi direkt an Monitor, Tastatur und Maus anschließen. Dazu brauchen wir eine USB-Maus und USB-Tastatur. Hier muss man ggf. aufpassen, dass die beiden Geräte nicht zu viel Strom ziehen. Sollte das der Fall sein, empfiehlt sich ein USB-Hub mit separaten Netzteil dazwischen zu hängen. rasberry10_micro_usbDer Anschluss des Monitors kann über HDMI zu HDMI oder HDMI zu DVI erfolgen oder alternativ über den RCA Video-Ausgang. Für die Stromversorgung wird eine Netzteil mit Micro-USB Anschluss benötigt. Oftmals hat man solch ein Netzteil noch in der Schublade liegen von irgendwelchen Handy-Ladegeräten. Die Ausgangsspannung des Netzteil muss 5.0V sein und die maximal mögliche Stromstärke sollte mindestens 0,7A sein. Zusätzlich kann noch ein LAN Kabel angeschlossen werden, um ggf. im Anschluss der Installation erforderliche Downloads durchzuführen. Dies ist bei der Verwendung von NOOBS aber nicht zwingend notwendig.

Installation des Betriebssystem

Hat man nun zuletzt das Netzkabel angeschlossen, bootet der Pi in die Auswahlroutine von NOOBS. NOOBS ist hier so etwas wie ein Boot-Manager. Hier wählt man sich das gewünschte Betriebssystem aus und klickt auf Install. Nun kann man sich einen Kaffee kochen gehen, denn der Installationsvorgang braucht wieder eine Weile Zeit. Es ist auch möglich später ein anderes Betriebssystem zu installieren; auch parallel zum Vorhanden. Um in das entsprechende Menü zu gelangen muss man beim Boot-Vorgang die Shift-Taste gedrückt halten.

rasberry12_install1

Nach dem die Installation abgeschlossen ist und der Pi gebootet hat, wird man noch aufgefordert ein paar Einstellungen vorzunehmen. Ich habe hier das Passwort geändert und festgelegt, ob der PI in einer Desktop-Umgebung starten soll oder über Text-Konsole.

NOOBs macht es einem damit gegenüber anderen Anleitungen sehr einfach den Pi schnell an den Start zu bringen.

In einem Folgebeitrag zeige ich wie man per Fernzugriff auf den Raspberry Pi zugreifen kann.


Bewerbung in der IT-Branche: Darauf achten Personaler

Um karrieretechnisch weiter zu kommen, benötigt man nicht nur Fachwissen alleine. Besonders die sogenannten Soft Skills sind mittlerweile ein entscheidender Faktor für Personaler, um motivierte und vielversprechende neue Arbeitnehmer zu finden. Die Einladung zum Bewerbungsgespräch bildet bei der Jobsuche daher zumeist nur die erste Hürde. Auch wenn die eigenen fachlichen Kompetenzen gut zum Unternehmen zu passen scheinen, stellt sich die Frage, wie durch individuelle Soft Skills auch mit der eigenen Persönlichkeit überzeugt werden kann.

Soft Skills – auch für Programmer ein Muss

Während der Lebenslauf mit Hard Skills wie beispielsweise HTML Fähigkeiten oder praktischen und fachbezogenen Erfahrungswerten überzeugen sollte, muss im persönlichen Gespräch vor allen Dingen mit Soft Skills gepunktet werden. Diese sogenannten weichen Fähigkeiten beschreiben unter anderem die soziale Kompetenz, welche ein potentieller Arbeitnehmer mitbringt. Hinter diesen versteckt sich das Potential einer Person, nicht nur mit Menschen und deren Handlungsweisen umgehen zu können, sondern auch mit sich selbst im Reinen zu sein. In Personalgesprächen können Bewerber daher nur bestehen, wenn sie über die eigenen emotionalen Fähigkeiten nachdenken und sich dabei ihrer Stärken und Schwächen bewusst werden.

Worauf Personaler in der IT-Branche achten

Auch als IT-Experte ist es mittlerweile unabdingbar, mit positiven Soft Skills zu überzeugen. Besonders wichtig sind dabei folgende Fähigkeiten:

  • Offene Kommunikations- sowie Teamfähigkeit
  • Kundenorientierung
  • Konfliktfähigkeit und Verhandlungsgeschick
  • analytische Kompetenz und Fähigkeiten, gepaart mit Neugier
  • Engagement und Ownership
  • Flexibilität
  • Vertrauensvolles Zusammenarbeiten
  • Selbstbewusstsein und die Fähigkeit zur Selbstreflexion
  • Moderationstalent

Das IT-Bewerbungsschreiben

Jobs in der Softwarebranche sind hart umkämpft, weswegen bei einer Bewerbung auf besondere Feinheiten geachtet werden sollte. Besonders wichtig im direkten Bewerbungsschreiben ist es, die persönlichen Fachkenntnisse hervorzuheben und diese plausibel an praktischen Beispielen zu erläutern und zu belegen. Auch sollte man auf das Unternehmen und dessen Philosophie eingehen. Dadurch merkt der Personaler schnell, dass sich der Bewerber wirklich für die ausgeschriebene Stelle interessiert und keine Standard-Bewerbung in der gleichen Form an zahlreiche Unternehmen verschickt. Gerade im Hinblick auf etwaige Anlagen muss auf Vollständigkeit Wert gelegt werden. Arbeits-, Praktikums- und eventuell auch Studienzeugnisse belegen die Leistungsmöglichkeiten, sodass sich Personaler schnell einen Überblick über die Qualifikationen des Bewerbers verschaffen können. Auch bei der äußeren Form gelten die allgemein üblichen Regeln. Ein Foto auf dem Lebenslauf sollte nicht fehlen und dem Gegenüber bereits einen ersten Eindruck von der Person verschaffen. Urlaubs- sowie Automatenbilder sind hier tabu. Stattdessen sollte mit einem professionellen Foto und einem ehrlichen und aufrichtigen Lächeln der neue potentielle Arbeitgeber positiv von sich überzeugt werden.