Vill du köra en enkel webbserver från en iPad eller iPhone? Om du har iSH linux-skal som körs i iOS så kan du enkelt starta och köra en enkel webbserver direkt från en iPhone eller iPad. Genom att köra iSH och starta en webbserver med python 3 kan du sedan skicka antingen HTML-filer eller en kataloglista till samma enhet via localhost, eller till vem som helst i samma nätverk med iOS-enhetens IP-adress. Detta kommer uppenbarligen inte att vara lika fullt funktionellt eller presenterat som att köra apache eller nginx, men om du vill nörda runt med en enkel lokal html-utvecklingsmiljö eller servera något via http från en iPhone eller iPad, kommer det att göra susen. Dessutom är det helt enkelt coolt.
Hur man kör en webbserver på iOS med iSH och python
- Installera iSH på iPhone eller iPad enligt anvisningarna här om du inte redan har gjort det, annars starta iSH
- På iSH-kommandoraden i iOS anger du följande syntax och trycker på retur:
- När du ser meddelandet "Server HTTP on 0.0.0.0 port 8000" är du nu redo att ansluta webbservern från antingen samma enhet eller en annan:
- För att ansluta till iOS-webbservern från samma enhet (localhost), peka med valfri webbläsare till:
- För att ansluta till iOS-webbservern från en annan enhet i samma nätverk, peka med valfri webbläsare till:
python3 -m http.server
http://127.0.0.1:8000
http://DEVICE-IP-ADDRESS:8000
Om du byter ut 'DEVICE-IP-ADDRESS' med IP-adressen för enheten som kör iSH och python-webbservern, kan du hitta iOS-enhetens IP-adress i nätverksinställningarna om det behövs. (Exempel på skärmdump visar iOS-enhetens IP 192.168.1.10)
Ganska coolt, eller hur?
Du kommer förmodligen att vilja lägga någon grundläggande index.html-fil i den nuvarande arbetskatalogen där du kör python-servern. Om du inte har en enkel index.html-fil i den aktuella arbetskatalogen på iOS-enheten där python-kommandot körs, visas istället en enkel kataloglista.
Medan den enkla webbservern körs kommer du att se standardloggningsinformation visas i iSH-terminalfönstret, som visar åtkomsttider, datum, IP-adresser, GET- och PUSH-förfrågningar, 404-fel och annan typisk åtkomstlogginformation.
Vi använder uppenbarligen python3-webbserverkommandot här, men du kan också använda Python 2-instant-webbservern om du föredrar det, eftersom både python2 och python3 är tillgängliga på iSH.
Hur som helst, även om det inte är en särskilt praktisk lösning för webbhotell eller webbutveckling och du förmodligen inte kommer att använda det här för något för allvarligt, är det fortfarande roligt och intressant som ett bevis på konceptet för oss nördigare människor. En dag kanske vi kommer att få en enkel webbserverinstallation i iOS-världen som MAMP för Mac, men tills dess är lösningarna ganska begränsade och de flesta webbarbetare och utvecklare kommer att fortsätta använda ssh för att ansluta till en webbserver under tiden vara.
Om du känner till andra intressanta eller nördiga lösningar för att ställa in en webbserver eller webbdelning med en iOS-enhet, dela med oss i kommentarerna!