DIY — AppleTV 2 als Webserver

Auf der Suche nach einem PC der für einen für einen privaten Webserver geeignet ist (niedrige Energiekosten und geringer Kaufpreis) bin ich bei heise.de den Artikel Provider nutzt Apple TV 2 als Webserver gefunden. Da der AppleTV (2. Generation) nur 119Euro kostet, habe ich mir gleich mal einen gekauft.
Im heise.de-Artikle fidet sich folgende Anleitung „Wer das Ganze nachbauen will, findet hier weitere Infos.„.
Es müssen folgende Schritte vollzogen werden:

  1. AppleTV jailbreaken
  2. Konfiguration der LAN oder WLAN Verbindung
  3. Installation des Webservers und der zusätzlich benötigten Software (PHP, Datenbank)

AppleTV jailbreaken

Da ich noch nie ein IOS-Gerät gejailbreakt habe müsste ich mich zuerst über die Jailbreak Thematik informieren was leider gar nicht so einfach ist, da man sehr viele unterschiedliche Informationen dazu im Netz findet.
Eine Web-Recherche hat folgende Möglichkeiten ergeben:

Nach längerem Probieren hat bei mir hat die Methode mit Seas0nPass funktioniert. Das Tool Pwnage 4.3 wäre mir persönlich lieber gewesen, da ich gleich die benötigten Pakete anhand einer Auswahl installieren konnte, leider hat aber der Jailbreak nicht funktioniert. Ich verzichte hier auf eine Beschreibung, da zum einem in den beiden Links das Vorgehen genau erklärt wird und zum anderen, da sich das Vorgehen beim Jailbreaken mit jeder neuen IOS-Version ändern kann. Es bleibt einem nichts anderes übrig als ich selbst in das Web zu stürzen und eine Möglichkeit die bei einem funktioniert zu suchen.

Konfiguration des AppleTVs als Webserver

Von der Seite How To Turn an Apple® TV 2G into a 24/7 Web Server kann man sich ein Shellscript herunterladen, das den gesamten Webserver installiert. Ich möchte im Folgenden trotzdem die einzelnen Schritte beschreiben, da man ja eigentlich nicht viel lernt, wenn man ein fertiges Script ausführt. Folgt hier eine Anleitung es per Hand zu machen.

  1. Installation der benötigten Software: dazu muss man sich mittels der Terminal.app und des Befehls ssh auf die Shell des AppleTV schalten:
     ssh root@ipappletv 
    mit Passwort alpine und anschließend folgende Befehle eingeben:
  2. <br />
    apt-get -y install top<br />
    apt-get -y install vim<br />
    apt-get -y install php<br />
    apt-get -y install lighttpd<br />
    apt-get update<br />
    apt-get update<br />
    apt-get -f -y upgrade<br />
    

    Es werden folgende Softwarepakete installiert:

    • top ist ein Befehl. der in den meisten Unix-ähnlichen Betriebssystemen eine ständig aktualisierte Liste der aktuell laufenden Prozesse des Systems ausgibt. Dabei zeigt top auch die Auslastung der CPU, Speicherverbrauch, sowie etliche andere Informationen an.
    • vim ist eine Weiterentwicklung des Texteditors vi. Das freie Open-Source-Programm wurde 1991 von Bram Moolenaar veröffentlicht. Seitdem wird der Editor aktiv weiterentwickelt. Wie vi zeichnet sich Vim durch seine verschiedenen Betriebs-Modi aus, während viele andere gebräuchliche Editoren nur einen kombinierten Modus für Eingabe und Befehle kennen, in dem Befehle über Tastenkombinationen und grafische Oberflächen ausgeführt werden. Alternativ kann auch nano installiert werden.
    • php ist eine Skriptsprache, die hauptsächlich zur Erstellung dynamischer Webseiten oder Webanwendungen verwendet wird.
    • lighttpd (zumeist gesprochen als Lighty) ist ein von Jan Kneschke entwickelter freier Webserver. Er implementiert alle wichtigen Funktionen eines Webservers und kann, ähnlich wie Apache, durch Module erweitert werden.
  3. Jetzt müssen noch ein paar Verzeichnisse erstellt und die Zugriffsrechte gesetzt werden. Im Verzeichnis /private/var/www werden die Daten gespeichert, die der Webserver zur Verfügung stellen wird. Das Verzeichnis /var/log/lighttpd dient zum loggen von Fehlern und Zugangsdaten des Webservers.
  4. <br />
    mkdir /private/var/www<br />
    chown root:wheel /private/var/www<br />
    mkdir /var/log/lighttpd<br />
    chown root:wheel /var/log/lighttpd<br />
    

    • mkdir Unix-Befehl der ein Verzeichnis erstellt.
    • chown root:wheel Unix-Befehl der die Eigentumsrechte für den Benutzer root aus der Gruppe wheel setzt.
  5. Die Konfiguration von lighttpd ist in einer Datei lighttpd.conf zusammengefasst, die im Verzeichnis /private/etc/ gespeichert werden muss.
  6. [js_markieren]

    server.document-root = "/private/var/www/"
    
    server.port = 80
    # server.username = "lighttpd"
    # server.groupname = "lighttpd"
    # richtige IP des Webservers eintragen
    server.bind                = "192.168.0.150" 
    server.tag ="lighttpd"
    
    server.errorlog            = "/var/log/lighttpd/error.log"
    accesslog.filename         = "/var/log/lighttpd/access.log"
    
    server.modules              = (
                "mod_access",
                "mod_accesslog",
    	    "mod_fastcgi",
                "mod_rewrite",
    	    "mod_auth"
    )
    
    # mimetype mapping
    mimetype.assign             = (
      ".pdf"          =>      "application/pdf",
      ".sig"          =>      "application/pgp-signature",
      ".spl"          =>      "application/futuresplash",
      ".class"        =>      "application/octet-stream",
      ".ps"           =>      "application/postscript",
      ".torrent"      =>      "application/x-bittorrent",
      ".dvi"          =>      "application/x-dvi",
      ".gz"           =>      "application/x-gzip",
      ".pac"          =>      "application/x-ns-proxy-autoconfig",
      ".swf"          =>      "application/x-shockwave-flash",
      ".tar.gz"       =>      "application/x-tgz",
      ".tgz"          =>      "application/x-tgz",
      ".tar"          =>      "application/x-tar",
      ".zip"          =>      "application/zip",
      ".mp3"          =>      "audio/mpeg",
      ".m3u"          =>      "audio/x-mpegurl",
      ".wma"          =>      "audio/x-ms-wma",
      ".wax"          =>      "audio/x-ms-wax",
      ".ogg"          =>      "audio/x-wav",
      ".wav"          =>      "audio/x-wav",
      ".gif"          =>      "image/gif",
      ".jpg"          =>      "image/jpeg",
      ".jpeg"         =>      "image/jpeg",
      ".png"          =>      "image/png",
      ".xbm"          =>      "image/x-xbitmap",
      ".xpm"          =>      "image/x-xpixmap",
      ".xwd"          =>      "image/x-xwindowdump",
      ".css"          =>      "text/css",
      ".html"         =>      "text/html",
      ".htm"          =>      "text/html",
      ".js"           =>      "text/javascript",
      ".asc"          =>      "text/plain",
      ".c"            =>      "text/plain",
      ".conf"         =>      "text/plain",
      ".text"         =>      "text/plain",
      ".txt"          =>      "text/plain",
      ".dtd"          =>      "text/xml",
      ".xml"          =>      "text/xml",
      ".mpeg"         =>      "video/mpeg",
      ".mpg"          =>      "video/mpeg",
      ".mov"          =>      "video/quicktime",
      ".qt"           =>      "video/quicktime",
      ".avi"          =>      "video/x-msvideo",
      ".asf"          =>      "video/x-ms-asf",
      ".asx"          =>      "video/x-ms-asf",
      ".wmv"          =>      "video/x-ms-wmv",
      ".bz2"          =>      "application/x-bzip",
      ".tbz"          =>      "application/x-bzip-compressed-tar",
      ".tar.bz2"      =>      "application/x-bzip-compressed-tar" 
     )
    index-file.names = ( "index.html", "index.php" )
    
  7. Mit dem Befehl lighttpd-angel -f /etc/lighttpd.conf wird der Webserver gestartet.

Hintergrund Informationen

Auf den folgenden Seiten findet man zusätzliche Informationen:

Installing and configuring lighttpd webserver – HOWTO

LDAP + Lighttpd :: Easy setup

Apple TV Webserver | Mac Mini Vault

DIY — Installation von Debian GNU/Linux als Webserver

[seriesposts name=“ProjektAG“ title=“DIY Projekte an der Schule“ orderby=“user_order“]

Ziel dieses Projekt ist die Installation und Funktionsweise eines Webservers zu vermitteln. Nach der Grundinstallation von Debian GNU/Linux, werden anhand dieser die nötigen Grundlagen zur Funktionsweise von Linux vermittelt. Auf der Grundinstallation werden dann ein Apache Webserver, PHP und MySQL Datenbank installiert und konfiguriert.

Inhalt:

  • Installation von Debian GNU/Linux
  • Aufbau und Funktionsweise von Linux
  • Installation des Apache Webservers
  • Konfiguration von Apache und die erste selbst gehostete Webseite
  • Installation von PHP und Einführung in die Funktionsweise von AJAX1
  • Installation und Konfiguration von MySQL
  • Informationen zum Datenschutz

Teilnehmerzahl

  • max. 8 Schülerinnen und Schüler der 10-12. Klassenstufen

Literatur

Howto: Installation von Debian GNU/Linux als Webserver

  1. „Asynchronous JavaScript and XML“ []

Web-Design mit html und css

[seriesposts name=“ProjektAG“ title=“DIY Projekte an der Schule“ orderby=“user_order“ order=“ASC“]
Html1 und css2 sind die Grundlagen des World Wilde Web. Dabei hat html die Aufgabe in den Inhalt einer Web-Seite zu strukturieren, z.B. Abschnitte, Listen, Tabellen und Überschriften.
Css wiederum ist für das Design verantwortlich. Das reicht von der Schriftgröße einer Überschrift bis zum Hintergrundbild einer Webseite. Dieses grundlegende Zusammenspiel von html und css soll in dem Projekt vermittelt werden.

Inhalt:

  • Erste Schritte mit HTML & CSS
  • HTML Tags
  • Layout einer Seite mit HTML & CSS
  • Formatieren mit CSS Stylesheets, z.B. Text, Listen & Bilder
  • Einbindung von Bildern in Ihre Website
  • Erstellung von Hyperlinks
  • Pfade, Struktur & Organisation

Teilnehmerzahl

  • max. 15 Schülerinnen und Schüler der 7-10. Klassenstufen

Literatur

http://www.html-seminar.de/

  1. Die Hypertext Markup Language (HTML; deutsch Hypertext-Auszeichnungssprache), oft kurz als Hypertext bezeichnet, ist eine textbasierte Auszeichnungssprache zur Strukturierung von Inhalten wie Texten, Bildern und Hyperlinks in Dokumenten. []
  2. Die Cascading Style Sheets (englische Aussprache [kæsˌkeɪdɪŋˈstaɪlʃiːts]; für stufenförmige oder (hintereinander) geschachtelte Gestaltungsvorlagen), kurz CSS genannt, sind quasi eine deklarative Sprache für Stilvorlagen (eng. stylesheets) von strukturierten Dokumenten. []

Publizieren im WWW mit WordPress

[seriesposts name=“ProjektAG“ title=“DIY Projekte an der Schule“ orderby=“user_order“ order=“ASC“]
Die Grundkenntnisse in html und css sollen anhand der Blog-Software WordPressDie erste stabile Version von WordPress erschien am 3. Januar 2004. vertieft werden.
Im Zentrum sollen die Grundinstallation, das Erweitern von WordPress mit Hilfe von Plugins und das veröffentlichen von Post stehen. Fragen des Urheberschutzes und Datenschutzes sollen auch erarbeitet und ein Gefühl für den sensiblen Umgang mit diesen geschaffen werden.

Voraussetzungen

  • Modernes web-Design mit html und css

Geplanter Inhalt

  • Installation von WordPress auf einem Webserver
  • Zusammenspiel von php und mysql
  • Installation von Plugins und verschiedenen Design
  • Publizieren von Inhalten
  • Daten- und Urheberschutz
  • Are we really social? — Verbindung mit Facebook und Co.

Teilnehmerzahl

  • max. 15 Schülerinnen und Schüler der 10. Klassenstufe

Literatur

  • Quellen in WWW

Einführung in die wissenschaftliche Textverarbeitung mit LaTeX

Im Rahmen der NwT-Facharbeit wird von den Schülerinnen und Schüler verlangt einen wissenschaftlichen Bericht zu verfassen. Dieses Projekt bietet die Möglichkeit mithilfe von LaTeX1 effektive wissenschaftliche Arbeiten zu verfassen.

Voraussetzungen

Geplanter Inhalt

  • Installation der Software (gerne auf eigenem Laptop oder PC)
  • Grundlagen von LaTeX: Titleseite, Inhaltsangabe, Überschriften, Abschnitte, Tabellen und Bilder
  • Wissenschaftliches Zitieren mit LaTeX

Teilnehmerzahl

  • max. 15 Schülerinnen und Schüler der 10. Klassenstufe

Literatur

Software

Texmaker, Download bei heise TeXstudio (ehemals TexMakerX), Download bei heise
Sowohl Texmaker als auch TeXstudio sind integrierte Entwicklungsumgebungen, die für alle Betriebssysteme (Windows, Mac OS X und Linux) verfügbar sind.

  1. Das Programm TeX wurde von Donald E. Knuth, Professor an der Stanford-University, entwickelt. Leslie Lamport entwickelte Anfang der 1980er Jahre darauf aufbauend LaTeX, eine sehr mächtige Sammlung von TeX-Makros. Der Name ist eine Abkürzung für Lamport TeX. Heute ist LaTeX die populärste Methode, TeX zu verwenden. []