Sobald mal im Besitz ein “gehacktes” iPhone’s ist, kann man über den “Installer.app” zahlreiche weitere Softwarepackete installieren. Darunter auch den Apache WebServer und PHP als Skriptsprache.
Hier nun eine kleine Anleitung:
1. Voraussetzungen
Ein gejailbreaktes iPhone mit SSH-Server (für den Zugriff auf das Dateisystem und die Shell) und installiertem “BSD Subsystem”.
2. Grundinstallation
Zunächst installiert man auf dem iPhone via “Installer.app” die Pakete “Apache” und “PHP”. Zum Testen kann man im Safari ja mal http://127.0.0.1 eingeben (localhost geht nicht) oder von einem Mac/PC im gleichen (W)LAN über einen Webbrowser auf die aktuelle IP-Adresse des iPhones (Einstellungen > Wi-Fi > Eigenschaften des aktuell verbundenen WLAN-Netzes) zugreifen.
Der Webserver ist nun also unter http://aktuelleIPAdresseDesiPhones erreichbar. Die Webseiten liegen auf dem iPhone übrigens unter /Library/WebServer/Documents. Die Konfiguration unter /etc/httpd/ bzw. /private/etc/httpd/. Die Logfiles unter /private/log/httpd/ und die Icons unter /usr/share/httpd/icons/. Die Dokumentation theoretisch unter /Library/WebServer/Documents/manual/ (ist aber um Platz zu sparen leer) und CGI-Module werden unter /Library/WebServer/CGI-Executables/ erwartet (auch noch leer).
PHP findet sich auf dem iPhone nun unter /opt/iPhone/.
3. iPhone Apache Webserver konfigurieren
Wie auch sonst üblich muss man nun dem Apache Webserver
via Konfigurationsdatei PHP als Skriptsprache noch beibringen. Hierzu einfach die Datei /etc/httpd/httpd.conf öffnen und die folgenden Zeilen einfügen:
ScriptAlias /php /opt/iphone/bin
AddType application/x-httpd-php .php
Action application/x-httpd-php “/php/php-cgi”
Anschliessend noch die Textdatei /etc/profile öffnen und die Pfadangabe in Zeile 3 um PHP erweitern (sieht dann ungefähr so aus):
PATH = "/bin:/sbin:/usr/bin:/usr/local/bin:/usr/sbin:/opt/iphone/bin"
Jetzt den Webserver auf der Shell des iPhone neu starten (hierzu entweder das via “Installer.app” installierbare VT100-Terminal benutzen oder vom Mac mittels Terminal und installiertem OpenSSH auf dem iPhone als Root verbinden durch Eingabe von ssh root@AktuelleIpAdresseDesiPhones) :
apachectl restart
Oder einfacher: Das iPhone kurz ausschalten und wieder einschalten.
Jetzt noch eine simple PHP-Testseite auf das iPhone schieben:
phpinfo.php:
<?
phpinfo();
?>
speichern als /Libary/Webserver/Documents/phpinfo.php und im Webbrowser aufrufen.
Glückwunsch…!
Tipp:
Mittels “Installer.app” kann man auch ein Tool namens “UiCtl” installieren. Damit kann man sehr einfach die laufenden Daemons / Services auf dem iPhone kontrollieren, also auch den Apache (alias org.apache.httpd). Mittels des Tools “Services” kann man hingegen sehr einfach gezielt EDGE, BT, WLAN und SSH an/aus schalten.
Tipp:
Die Konfigurationsdateien kann man auch prima hier als ZIP herunterladen.
Den Inhalt von “profile” schiebt man auf dem iPhone in den Ordner /private/etc/ und die “httpd.conf” in den Ordner /private/etc/httpd/. Dann das iPhone einmal neu starten – fertig.
Tweet This Post