[Tutorial] Webserver mit Lighttpd und PHP

Discussion in 'iFans auf Deutsch' started by chris14465, Jun 15, 2009.

  1. chris14465

    chris14465 New Member

    Joined:
    Mar 19, 2009
    Messages:
    1
    Likes Received:
    0
    Device:
    2G iPod touch
    Hallo Community,

    da ich bisher noch kein Tutorial gefunden habe, dass erklärt, wie man lighttpd in Verbindung mit PHP auf dem Ipod Touch installiert und lauffähig macht, habe ich mich entschlossen, eines zu schreiben

    Please Register or Log in to view images



    Zuerst einmal benötigt ihr natürlich einen ge-jailbreakten Ipod Touch (habs getestet mit der zweiten Revision) mit Cydia und SSH Zugang. Auf den Umgang mit OpenSSH, WinSCP und Putty werde ich hier nicht weiter eingehen.

    Geht in Cyda, sucht und installiert den lighttpd Webserver. Falls ihr nichts findet, habt ihr womöglich die Source noch nicht (bei mir war sie zumindest standardmäßig dabei): http://apt.saurik.com .
    IMG_0001.PNG
    Nach der Installation von lighttpd benötigt ihr noch PHP.
    Das gibt es in Cydia von der gleichen Quelle. Sucht einfach nach PHP und installiert es.
    IMG_0002.PNG

    Da lighttpd ohne Konfigurationsdatei kommt, müssen wir zuerst eine erstellen.
    Es empfiehlt sich, die Konfigurationsdatei zuerst auf dem Computer zu erstellen (mit Notepad z.B.), und dann z.B. über WinSCP auf den Ipod zu bringen.

    Im folgenden einmal eine Beispielkonfiguration, mit der man lighttpd mit PHP problemlos nutzen kann:

    Wie ich schon geschrieben habe, gibt es für die Dokumente standardmäig kein Verzeichnis. Da dies auf den meisten Linux Systemen aber /var/www ist, soll es auch auf dem Ipod so sein. Für die Konfigurationsdatei habe ich einen neuen Ordner erstellt: /etc/lighttpd. Dort hinein kommt jetzt meine Konfigurationsdatei.

    So, jetzt muss der Server nur noch gestartet werden.
    Ich benutze z.B. Putty um mich über SSH auf meinen Ipod einzuloggen.
    Startet den Daemon mit
    In meinem Beispiel habe ich die Konfigurationsdatei "conf" (ja, ohne Endung) genannt und in /etc/lighttpd/ gespeichert:
    lighttpd -f /etc/lighttpd/conf

    Fertig! Wenn es jetzt keinen Error gibt, läuft euer Webserver.
    Erreichbar unter der IP Adresse eures Ipods oder vom Ipod direkt unter "http://localhost".
    Ihr bekommt zwar einen 404 Fehler, but "It works!" trotzdem (insider

    Please Register or Log in to view images

    ).
    Ladet ihr jetzt Dateien in euer Dokumentverzeichnis, sind diese erreichbar.
    Ich habe beispielsweise mal eine PHP Datei erstellt, die mir "phpinfo" ausgibt:
    IMG_0003.PNG

    Bei Fragen oder Problemen könnt ihr euch ja melden, ich versuche natürlich zu helfen!

    beste Grüße,
    Chris
  2. Sinarius

    Sinarius New Member

    Joined:
    Dec 4, 2009
    Messages:
    4
    Likes Received:
    0
    Device:
    iPod touch
    Nachdem ich mich drei Tage lang rumgequält habe mit englischen Anleitungen, habe ich Deine gefunden, die tatsächlich funktioniert.
    Ich musste allerdings erst rausfinden wie, deswegen, falls andere auch das Problem haben:
    ich hatte eine index.html, in der PHP eingebettet war, die HTML-Text anzeigen sollte und die PHP-Info.
    Der HTML-Text wurde angezeigt, die PHP-Inhalte nicht. Aus Verzweiflung probierte ich es gerade mit einer puren PHP-Datei, und siehe da, PHP läuft!

    Jetzt nur meine Frage: an welcher Schraube muss ich drehen, damit auch eingebettetes PHP in HTML-Dateien interpretiert wird?

    DANKE jedenfalls, ich wär bald durchgedreht.

    Liebe Grüße,
    Sinarius

    PS: Ich werd jetzt noch ausprobieren, ob ich es hinbekomm, dass der Server automatisch gestartet wird, hatte das vorher schon mal nach einer anderen Anleitung, und wenn es funzt, poste ich das hier rein.

    PPS: Hab übrigens gerade rausgefunden, dass die HTML-Datei geht, wenn man die Endung einfach in ".php" ändert... sowas gabs ganz früher mal, aber naja, kann ja sein, dass der lighttdp-Server das nicht anders kann...
    ------------------double post merged------------------
    Oki doki, dann kann ich zumindest meinen sinnvollen Beitrag dazu leisten.

    Wer den Server auf seinem iPod von alleine beim Booten starten lassen will erstellt eine Datei namens "com.lighttpd.plist" mit folgendem Inhalt:

    Code:
    <?xml version="1.0" encoding="UTF-8" ?> 
      <!DOCTYPE plist (View Source for full doctype...)> 
      <plist version="1.0">
      <dict>
      <key>Label</key> 
      <string>lighttpd</string> 
      <key>OnDemand</key> 
      <false /> 
      <key>Program</key> 
      <string>/usr/sbin/lighttpd</string> 
      <key>ProgramArguments</key> 
      <array>
      <string>/usr/sbin/lighttpd</string> 
      <string>[COLOR="Red"]-f/etc/lighttpd/conf[/COLOR]</string> 
      <string>-D</string> 
      </array>
      </dict>
      </plist>
    
    Das rot geschriebene müsst ihr euren Bedürfnissen anpassen, je nachdem, wie ihr die Konfigurations-Datei genannt habt, und wo sie liegt. Ich hab sie z.B. direkt in etc liegen, wollte jetzt aber bei den Voraussetzungen bleiben, die mein Namensvetter Chris angegeben hat.

    Gut, diese Datei schiebt ihr auf euren iPod, und zwar in das Verzeichnis:
    /Library/LaunchDaemons/

    Das wars. Bootet euren iPod neu, und ihr werdet sehen, dass der Server ganz ohne den Umweg über Putty startet. Ich weiss allerdings nicht, ob das nicht auch Auswirkungen auf die Akku-Laufzeit hat!

    So... bleibt nur noch das Problem mit PHP-Code in HTML-Dateien... ach ja und SQL will ich ja auch noch benutzen können, ich glaub, das ist ja irgendwie schon drauf, aber das kommt noch.

    Liebe Grüße,
    Sinarius

    Please Register or Log in to view images

Share This Page