- Termux installeren
- Mijn telefoon als webserver
- Een webserver installeren
- NGINX downloaden en uitvoeren
- Werkt mijn server?
- Een eigen webpagina
- Onze aangepaste webpagina
- Waar staat mijn server?
- Online gaan op het grote internet?
Termux installeren
Facilitator
Dit is het praktische gedeelte. Afhankelijk van hun technologische vaardigheden moeten alle deelnemers/groepen deelnemers hun eigen Android-smartphone hebben om de instructies te kunnen volgen. Ze moeten verbonden zijn met wifi. Het is gemakkelijker als ze de volgende QR-code kunnen scannen/de url kunnen intypen om toegang te krijgen tot de pagina. Op die manier kunnen ze ook enkele commando's kopiëren en plakken en de links volgen.
Wat is mijn Android-versie?
Om de juiste versie van Termux te installeren, willen we eerst de Android-versie van onze telefoon bepalen (het besturingssysteem waarop een smartphone draait).
- Ga naar de instellingen van je telefoon, scroll helemaal naar beneden en kijk bij Over de telefoon.
- Je zou een regel met de Android-versie moeten vinden.

Te oud voor Termux?
Als je telefoon Android 4 of lager heeft, dan werkt deze tutorial met Termux niet. Maar er zijn andere manieren om deze smartphone een nieuw leven te geven, zie het gedeelte Alternatieven.
Ga naar F-DROID
We downloaden Termux via F-Droid. F-Droid is een app store met alleen open-source apps. Dat betekent dat hun code voor iedereen zichtbaar is, zodat er geen verborgen trackers zijn die je gegevens verzamelen.
Geen Google Play Store
Hoewel je Termux ook in de Google Play Store kunt vinden, werkt het niet hetzelfde als je het daar downloadt.
-
Ga naar Termux | F-Droid - Gratis en open source Android-app-repository of download F-droid en download de app vervolgens vanaf daar.
-
Scroll helemaal naar beneden: download de stabiele (aanbevolen) versie (niet de bĂštaversie) door
Download APKte selecteren. !!! waarschuwing âAndroid 5 of 6â Als je telefoon op Android 5 of 6 draait, download dan het universele pakket van hier (selecteer [termux-app_v0.119.0-beta.3+apt-android-5-github-debug_universal.apk] (https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-5-github-debug_universal.apk)) -
Tik na het downloaden op de APK op uw apparaat. Als u het niet kunt vinden, ga dan naar uw Bestanden-app, onder Downloads.
Kwaadaardige app?
Uw browser geeft mogelijk een waarschuwing dat .APK gevaarlijk is. Geen paniek! APK is gewoon een type bestand waarmee een app wordt geĂŻnstalleerd. Wees gewoon voorzichtig met waar het vandaan komt, net als alles wat u van internet downloadt.




- Klik op âInstallerenâ en accepteer.
- Tik op installatie van apps van onbekende bronnen toestaan (u hebt dit later nodig) of ga naar de instellingen van de telefoon om apps van derden te kunnen starten en ga terug.
- Na de installatie ziet u de Termux-launcher op uw startscherm en in uw App-bibliotheek.
Termux API installeren (optioneel)
Facilitator
Termux API is optioneel en niet nuttig als we alleen een webserver maken voor demonstratiedoeleinden. Voor een breder publiek is het misschien beter om dit over te slaan.
Voor meer geavanceerde toepassingen werkt Termux het beste in combinatie met zijn zusterapp, Termux API. Met Termux API kunt u enkele hardwarefuncties van de telefoon bedienen, zoals trillen, de camera, enz. De documentatie vindt u hier.
Als u Termux API wilt installeren, volgt u de instructies hier voordat u doorgaat naar de volgende stap.
Laatste configuratie
Voordat we commandoâs kunnen geven aan onze telefoon via de Termux Terminal, maken we een laatste configuratie voor opslag. Het instellen van Termux-opslag helpt u uw bestanden en mappen bij te houden (meer informatie hier).
Opmerking
Volg voor elke opdracht dezelfde instructies als hiervoor: typ de exacte opdracht, druk op enter en wacht.
- Zorg ervoor dat alles up-to-date is (pakketupdate en pakketupgrade)
pkg update && pkg upgrade -y
- Sla opslag op:
termux-setup-storage -y
- Geef Termux toegang tot de opslag van de telefoon, fotoâs, enz.
Bekende bugs
Op sommige oude Samsung-telefoons werd de tekst die we in Termux typten niet weergegeven. We hebben gewoon een gratis en open-source toetsenbord-app gedownload op F-DROID genaamd Simple Keyboard in plaats van de ingebouwde versie van Samsung, en daarmee was het probleem opgelost!
Pauze?
Als we dat nog niet eerder hebben gedaan, is dit een goed moment om even pauze te nemen en bij te praten met deelnemers die problemen ondervinden.
Mijn telefoon als webserver
Een webserver installeren
Nu Termux is geĂŻnstalleerd, kunnen we instructies/opdrachten geven aan onze telefoon buiten de bestaande apps om. Om een server te maken, hebben we webserver-software nodig, een pakket code dat verzoeken van clients (andere computers) kan ontvangen en webcontent kan terugsturen. We gebruiken NGINX {âEngine Xâ}, dat veel wordt gebruikt.
NGINX downloaden en uitvoeren
Open Termux op je telefoon, typ + voer het volgende in en wacht:
- Installeer nginx
pkg install nginx -y
Waarom een -Y?
In het bovenstaande commando gebruiken we de optie -y. Dit staat voor âYesâ (ja), wat betekent dat we alle configuratievragen willen accepteren, in plaats van handmatig âYâ + enter te typen voor elke prompt.
- Start NGINX op met dit commando.
nginx
Hoewel er niets op je telefoon verschijnt (behalve als je een foutmelding krijgt), zou je server nu op de achtergrond moeten draaien!
Enkele handige commandoâs bij het werken met NGINX
- Stop de server;
nginx -s stop - Vernieuw de server (de inhoud ervan):
nginx -s reload - Zoek hulp
nginx -h
Werkt mijn server?
Om te controleren of je server draait, open je je browserapp en typ je het volgende in de zoekbalk: <http://localhost:8080> en druk je op Enter. Je zou de standaardpagina van NGINX moeten zien verschijnen met de tekst âWelcome to nginx!â
Laten we nu deze standaardwebpagina aanpassen.
veelgemaakte fouten
- Ik heb http:// niet toegevoegd voor
localhost:8080
- Ik heb https gebruikt in plaats van http
- http://127.0.0.1:8080 werkt ook!

Een eigen webpagina
Facilitator
Het is misschien een goed idee om even samen te kijken naar wat we hebben gedaan: de server is live, maar we openen het webpagina-bestand gewoon lokaal vanuit de nginx-map. Daarom heet het âlocalhostâ.
Nu onze server live is, gaan we eens kijken wat we zien. Wanneer we een website openen in de browser, halen we eigenlijk een bestand op uit de map van de webserver op die computer.
In wezen is een website gewoon een map met verschillende bestandstypen op een externe computer.
Meestal heet het hoofdbestand van een webpagina index.html. index omdat het een lijst is van alle inhoud van de pagina, maar ook van alle externe bronnen die nodig zijn om de pagina weer te geven, zoals afbeeldingen, videoâs, lettertypen, enz. HTML (Hypertext Mark-up Language) is de programmeertaal die wordt gebruikt voor webpaginaâs en het belangrijkste bestandsformaat. Er zijn ook andere talen:
- HTML is bedoeld om inhoud te structureren en een hiërarchie aan te brengen.
- CSS is voor stijlen: de lay-out van onze webpagina (kleur, grootte, kolommen maken, enz.).
- Javascript (
.js) is voor interactiviteit: knoppen animeren en omschakelen, dropdown, externe inhoud ophalen, enz.
Facilitator
De bovenstaande uitleg kan worden geĂŻllustreerd door aantekeningen te maken op een whiteboard of een laptop aan te sluiten op een beamer en de ontwikkelaarstools van een website te openen: rechtsklikken > bron (van pagina) bekijken. Er wordt een ander tabblad geopend met het HTML-bestand van die pagina.
Onze aangepaste webpagina
Onze webpagina vinden
Laten we onze webpagina op onze telefoon zoeken. We navigeren door mappen met behulp van Termux. We gebruiken het commando cd pad/naar/map/ om naar onze websitemap te gaan, die door onze webserver is aangemaakt. cd staat voor âchange directoryâ (directory is een ander woord voor map).
- Typ + enter
cd $PREFIX/share/nginx/html
- Nu wil je weergeven wat er in deze map staat, met behulp van
ls, wat staat voor âlistâ.
ls

- U zou 2 bestanden moeten zien:
index.htmlen50x.html.index.htmlis de hoofdpagina, terwijl50x.htmlwordt weergegeven als er een specifieke fout is.
Note
Dat betekent dat ons index.html-bestand zich in de map html bevindt, die zich in de map nginx bevindt, die zich in share bevindt, enz.
map locatie
$PREFIX/share/nginx/html is een aliasnaam voor het pad, een snelkoppeling. Het volledige pad naar onze webpagina is â> /data/data/com.termux/files/usr/share/nginx/html/
Onze webpagina bekijken.
index.html is de webpagina die we in de browser van onze telefoon zien. Laten we deze openen.
- We gebruiken het commando
nano bestandsnaam.extensie. ânanoâ is een zeer eenvoudige teksteditor in de terminal.
nano index.html
- We hebben het html-bestand in de terminal geopend. Dit is vergelijkbaar met het openen van een .docx-bestand in Office.
<!DOCTYPE html>
<html>
<head>
<title>Welkom bij nginx!</title>
<style>
html { color: dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welkom bij nginx!</h1>
<p>Als u deze pagina ziet, is de nginx-webserver succesvol geĂŻnstalleerd en
werkt deze. Verdere configuratie is vereist.</p>
<p>Raadpleeg voor online documentatie en ondersteuning
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commerciële ondersteuning is beschikbaar op
<a href="http://nginx.com/">nginx.com</a>.</p>
</body>
</html>
Facilitator
De onderstaande informatie moet worden uitgelegd terwijl het html-fragment op een beamer wordt getoond of op een whiteboard wordt getekend. Meer informatie over HTML hier.
HTML structureert informatie met verschillende waarden binnen âelementenâ die worden omgeven door <tags>: de openingstag <p> en de sluitingstag </p>. Hier zien we verschillende elementen die we terugvinden op de weergegeven browserpagina. Binnen het <body>-element bevindt zich een <h1>-tag met een koptekst, enkele <p>-alineaâs en enkele <a>-links.
Binnen de <head> vinden we informatie over de pagina, maar dat is niet de inhoud:
<title>...de titel hier...</title>: is de titel die in het browsertabblad wordt weergegeven.<style>color: blue;<style>is waar we CSS-code plaatsen om informatie te geven over de lay-out, kleur, enz.
Lazy typing
We kunnen de tab-knop (met 2 pijltjes) gebruiken om een bestands- of mapnaam automatisch aan te vullen. Begin met het typen van âindeâ en druk op de tab-knop, dan wordt het einde van je bestandsnaam âindex.htmlâ automatisch ingevuld.
Onze webpagina bewerken.
Laten we wat tekst op de pagina veranderen.
Facilitator
Dit is een creatief moment, laat elke deelnemer binnen een paar minuten zijn eigen tekst en kleur kiezen (zie CSS-kleuren).
- Gebruik de pijltjes < > in nano om te navigeren en wat tekst te veranderen.
<h1>Deze webpagina staat op de telefoon van mijn oude vader</h1>
<p>Als je deze pagina ziet, ben je OP MIJN TELEFOON!</p>
Zet me tussen die tags
Zorg ervoor dat je de HTML-syntaxis respecteert. Elementen moeten tussen tags staan <h1>Je tekst hier</h1>
- Wijzig de tekstkleur in
<style>
<style>
html { color: orange;
background: limegreen;
}
</style>
Styling met stijl
Zorg ervoor dat je de CSS-syntaxis respecteert. De stijlinformatie moet tussen <style> Styling komt hier en ALLEEN hier<style> staan. Elke declaratie volgt deze structuur: property : value;, bijvoorbeeld: font-size: 20px;

HTML-handleidingen
Meer informatie over HTML vindt u op de officiële W3. Maak je eigen website gids, HTML-sectie hier, HTML-webzine hier
CSS-handleidingen
Deze geweldige CSS-bronnen van kunstenaar Doriane Timmermans: declarations.style of deze video
Opslaan, afsluiten en opnieuw laden
Laten we nu opslaan en onze update bekijken:
- Druk op
CTRLen typxop het toetsenbord van Termux. - Je krijgt de vraag âSave modified buffer? [Y/n]â (Gewijzigde buffer opslaan? [J/n])
- Typ
yvoor ja en druk op enter. (Typnoom af te sluiten zonder op te slaan). - Ga naar je browser en vernieuw de pagina [http://localhost:8080/index.html].
Zie je geen veranderingen?
Als het niet werkt, probeer dan het volgende:
1. Sluit de browser-app, open deze opnieuw en probeer het nogmaals.
2. Start nginx opnieuw, in Termux nginx -s stop, vervolgens nginx.
3. Controleer of je daadwerkelijk wijzigingen hebt aangebracht en opgeslagen in de index html-pagina: nano index.html.
Nginx-fout
Voeg hier het nginx-padrouteringsprobleem van Samsung toe (@ibo of Rein).
Oké, geweldig! Maar dat is niet zo spannend, toch? Ik kan mijn webpagina bekijken op mijn eigen webserver. Ik zou dat bestand ook gewoon in de bestandsbeheerder kunnen openen, daar heb ik geen internet voor nodig. Eigenlijk is uw webpagina al toegankelijk voor andere clients (andere computers), u hoeft hen alleen uw IP-adres te geven.
Waar staat mijn server?
Facilitator
Voordat we daadwerkelijk webpaginaâs van andere deelnemers bezoeken, introduceren we het concept van het IP-adres door een vergelijking te maken tussen een IP-adres/webadres en een straatadres. Dit helpt om de fysieke aard van het web te benadrukken: websites staan op servers die zich ergens in een gebouw in de fysieke wereld bevinden.
Wat is een IP-adres?
IP-adres staat voor Internet Protocol-adres, de communicatiemethode die door alle soorten computers/servers op het internet wordt gebruikt (webservers, e-mails, bestandsoverdrachten, enz.). Aangezien het internet een enorm netwerk van computers is, hebben we een unieke manier nodig om elke server te identificeren, zodat we verzoeken naar de server kunnen sturen en de server informatie terug kan sturen naar het juiste apparaat.
Zie het als een straatadres: elk IP-adres is uniek en geeft aan waar die server zich bevindt en hoe je daar kunt komen.
Traditioneel bestaan IP-adressen uit een reeks van vier sets getallen (0 tot 255) gescheiden door een punt. Daarom zijn er adressen variërend van 0.0.0.0 tot 255.255.255.255, dat zijn meer dan 4,3 miljard unieke adressen! Door de exponentiële toename van het aantal apparaten dat online is aangesloten, raken we echter bijna door onze adressen heen. Daarom gebruiken sommige apparaten nu een nieuw, langer IP-adresformaat, IPv6 genaamd (dat er zo uitziet: 2600:1f1c:446:4900::259).
Lokaal versus wereldwijd netwerk
Facilitator
Terugkomend op de tutorial, gaan we het IP-adres van elke telefoon achterhalen, maar eerst moeten we weten wat een privé-IP-adres is en wat een openbaar IP-adres is.
Wat is het IP-adres van mijn server?
In Termux is er een commando om het huidige IP-adres van mijn apparaat te bepalen. We gebruiken het commando ifconfig om de bereikbaarheid van een server te testen.
1. Typ en voer in:
curl ifconfig.me
- We krijgen iets als dit:
200.300.304.304
Facilitator
Door iedereen te vragen dit IP-adres op te schrijven en voor te lezen, zien we dat iedereen hetzelfde adres heeft. We leggen uit waarom (hieronder):
Nu zou elke telefoon die met dezelfde wifi is verbonden hetzelfde adres moeten krijgen. Waarom is dat zo? Dit is eigenlijk het openbare IP-adres van de wifi-router, het unieke adres dat de router gebruikt om toegang te krijgen tot het internet. Alle verzoeken die we (via het internet) naar externe servers sturen, gaan via onze wifi-router, die de toegangspoort is tot het grote internet, het wereldwijde netwerk.
Alle apparaten die via wifi of kabel met de router zijn verbonden, vormen echter ook een netwerk: het lokale netwerk. Als je multiplayer-videogames in LAN (Local Area Network) hebt gespeeld, bijvoorbeeld met een Minecraft-server met je vrienden thuis, is dit je wellicht bekend. Via dit lokale netwerk kunnen we ook op afstand met onze printer communiceren, terwijl we met hetzelfde wifi-netwerk zijn verbonden.
In dit lokale netwerk heeft elk aangesloten apparaat ook een uniek IP-adres, zodat de router weet wie verzoeken verstuurt (naar het internet of naar andere apparaten) en het verkeer kan sturen. Dit lokale IP-adres wordt het privé-IP-adres* genoemd.
Kort gezegd is het openbare IP-adres het adres van onze router wanneer deze op het internet surft, terwijl een privé-IP-adres** het lokale adres is van elk apparaat in ons thuisnetwerk.

Facilitator
De afbeelding hierboven helpt het concept van een lokaal netwerk te verklaren. Elk apparaat op het lokale netwerk is via wifi (draadloos) of kabel (ethernet) verbonden met de router. Om elk apparaat te kunnen onderscheiden en verzoeken te kunnen ontvangen, wijst de router aan elk apparaat een lokaal IP-adres toe. Alle verzoeken gaan via de router, hetzij om tussen apparaten te communiceren (bijvoorbeeld een computer die bestanden naar de printer stuurt om af te drukken), hetzij via de âgatewayâ naar het grote internet en terug.
Wat is het privé-IP-adres van mijn telefoon?
In de terminal gebruiken we ifconfig om het privé-adres van ons apparaat te achterhalen:
1. Typ en druk op Enter:
ifconfig
2. In de uitvoer zoeken we naar de regel die begint met wlan0....inet, dit heeft betrekking op de wifi-interface. Na inet staat een IP-adres dat er als volgt uitziet:
192.168.1.255
- Noteer dit adres. Dit is het IP-adres van uw apparaat zolang u verbonden blijft. (Het kan veranderen als u de verbinding verbreekt en vervolgens opnieuw verbinding maakt).
Het lokale netwerk verkennen
Nu we het lokale (privé) IP-adres van onze webserver kennen (waar onze server zich bevindt), kunnen we andere apparaten op het netwerk onze webpagina laten bezoeken!
Facilitator
Nu kunnen we de aangepaste webpagina van elke deelnemer bezoeken. Met een laptop die is verbonden met wifi en een beamer kunnen we elke deelnemer om zijn of haar âadresâ (IP-adres) vragen, dit invoeren en aan iedereen laten zien!
1. Gebruik een ander apparaat dan uw telefoonserver om de servers van uw telefoon via het lokale netwerk te bezoeken.
2. Typ in de browser + enter: http:// + 192.168.XX.XX+ :8080
3. Zorg ervoor dat u http:// gebruikt en niet https:// (we hebben nog geen secure SSL-certificaat).
4. U kunt nu uw aangepaste webpagina bekijken.

Facilitator
We kunnen nu nauwkeuriger uitleggen wat er gebeurt. Onze client (telefoon of laptop) vraagt de index.html op bij een bepaald adres. De router stuurt dit verzoek door naar de telefoonserver (met zijn lokale IP). De server âserveertâ het index.html-bestand.

Facilitator
Dit lokale netwerk heeft al veel potentieel. Nu we weten dat dit mogelijk is, zouden veel toepassingen van het internet net zo goed kunnen werken met een lokaal netwerk, zonder dat er een datacenter nodig is. Het QR-codemenu van een restaurant zou bijvoorbeeld op het lokale netwerk kunnen staan, net als lokaal nieuws, enz. Op die manier hoeven gegevens niet te worden opgeslagen en van een externe locatie te worden verzonden. De afbeelding hierboven toont een project van Constant VZW (BE): zij hebben een lokaal netwerk om aantekeningen te maken tijdens een vergadering of workshop. In plaats van de notities op een externe server te bewaren, worden ze hier gehost. Dat zorgt er ook voor dat ze privé blijven, aangezien ze alleen toegankelijk zijn als je binnen het bereik van de wifi bent.
Facilitator
We kunnen de deelnemers een vraag stellen om een discussie op gang te brengen: welke toepassingen van het internet zouden ook op een lokaal netwerk kunnen werken? Welke nieuwe toepassingen kun je je voorstellen?
Online gaan op het grote internet?
Facilitator
Nadat we de relatie tussen client en server hebben begrepen, duiken we in het grotere internet.
Hoewel een lokaal netwerk al potentieel heeft, is het uiteindelijke (althans het oorspronkelijke) doel van het internet om afgelegen plaatsen met elkaar te verbinden en gebruikers toegang te geven tot informatie over de hele wereld.
Er zijn verschillende manieren om een lokale server via het internet open te stellen voor het publiek. In wezen komt het erop neer dat je aan andere servers uitlegt op welk openbaar IP-adres je website te vinden is, zodat bezoekers daar naartoe kunnen worden geleid.
Protip
We kennen het openbare IP-adres van onze router al van eerder. Om veiligheidsredenen houden de meeste internetproviders echter geen vast IP-adres aan voor elk huisnetwerk en het openstellen van ons privĂ©netwerk voor het internet stelt ons bloot aan veiligheidsrisicoâs. Er zijn echter veel online tutorials beschikbaar over hoe je dat kunt doen, afhankelijk van je internetprovider/router.
Hoe zit het met de naam van mijn website?
Wacht even! Als ik online ga, gebruik ik nooit een IP-adres. Ik typ gewoon een adres in de zoekbalk of zoek het op met een zoekmachine. Omdat IP-adressen moeilijk te onthouden en te wijzigen zijn (om veiligheidsredenen of omdat een site van de ene server naar de andere verhuist), gebruiken we domeinnamen in webadressen.
Een domeinnaam bestaat uit ten minste twee delen: de domeinnaam, zoals Wikipedia, en de extensie, zoals .org, of (.com, .net, .nl, .fr, enz.). Soms is er ook een subdomein, zoals in
www-subdomein
De meeste websites gebruiken de standaard âwwwâ als subdomein, zoals in www.w3schools.com

Facilitator
De afbeelding hierboven legt uit hoe we een webpagina via internet kunnen ophalen. Eerst gaat ons verzoek via wifi naar onze router. De router moet uitzoeken welk IP-adres overeenkomt met de domeinnaam. Hij stuurt een zoekopdracht via een DNS, Domain Name Server: deze server kan IP-adressen koppelen aan domeinnamen en stuurt het IP-adres van de server terug. De router kan vervolgens de bestanden opvragen bij de server, die ze levert (terugstuurt). Meer informatie hierover vindt u in dit leuke stripboek: Hoe DNS werkt.
Facilitator
De 2 onderstaande oefeningen zijn optioneel, afhankelijk van de groep/het niveau/de timing. Het idee is om IP-adressen te koppelen aan domeinnamen.
Oefening: IP-adres van bekende websites
In de terminal (Termux) kunnen we een eenvoudig commando gebruiken om het IP-adres van een website (de server) te achterhalen. We gebruiken het commando ping om de bereikbaarheid van een server te testen.
- Typ en druk op Enter:
ping wikipedia.org
-
Als we online zijn, zouden we nu binnen enkele milliseconden informatie terug moeten krijgen! We zien ook het IP-adres van wikipedia.org, dus
185.15.58.224(de laatste keer dat we dit controleerden). Als u dit IP-adres in uw browser invoert, komt u ook op Wikipedia terecht: http://185.15.58.224 -
Om
pingaf te sluiten, drukt u opCTRLencop het toetsenbord.

Oefening: Waar staat Wikipedia?
Met behulp van een dienst als IP-location kunnen we een IP-adres koppelen aan een locatie en zien waar bekende websites hun servers hebben staan.
- Ga naar IP-location
- Typ een IP-adres in (zoals 185.15.58.224 voor Wikipedia)
- Kijk op de kaart waar het zich bevindt :)
URL - Het volledige adres van een webpagina
Een url is de naam van het volledige webadres. Het bestaat uit 3 delen. We hebben bijvoorbeeld https://en.wikipedia.org/wiki/Internet/index.html
- https:// is het communicatieprotocol van het web (webpaginaâs op websites, op webservers)
- en.wikipedia.org is het domein en subdomein
- /wiki/Internet/ is het pad, de mappen en submappen die we moeten doorlopen om bij de locatie te komen waar ons bestand zich bevindt.
- index.html is het bestand dat we opvragen, het bestand dat de inhoud van deze pagina bevat en de lijst met alle bronnen die nodig zijn om deze pagina weer te geven (lettertypen, afbeeldingen, stylesheets, databases, enz.). Standaard is dit index.html, dus u hoeft dit niet te schrijven.
!!! opmerking âhttp VS httpâs protocolâ http:// staat voor het communicatieprotocol dat we gebruiken. http of (https) is het protocol voor het browsen op websites, terwijl SMTP bedoeld is voor het verzenden van e-mails, enz. :8080 is onze poort, de âplaatsâ die we proberen te bereiken op onze server. Als ons IP-adres het adres van ons servergebouw was, zou de poort de verdieping zijn waar âNGINXâ zijn kantoor heeft.
Er zijn verschillende manieren om âopenbaarâ te gaan: door een vast openbaar IP-adres te gebruiken en de poorten open te stellen voor het publiek (poortdoorsturing), door een dynamische DNS-tool te gebruiken of door een reverse proxyserver te gebruiken.
Reverse-Proxy
We gaan een reverse proxy gebruiken. Een reverse proxy is een tussenliggende server die al openbaar is en fungeert als tussenpersoon tussen onze lokale webserver en potentiële klanten (andere apparaten).
In deze tutorial gebruiken we de reverse proxy-server van comphost.club in Nederland, zodat we dit enigszins lokaal kunnen houden.

Aan de hand van bovenstaande afbeelding kunnen we uitleggen hoe onze reverse proxy werkt. 1. We maken een âtunnelâ-verbinding tussen onze server-telefoon en de proxyserver. 2. Een klant probeert een verbinding te maken en wordt via de DNS (3-4) doorgestuurd naar het IP-adres van de proxyserver. 5. De proxyserver geeft de verbinding door aan de server en stuurt vervolgens het antwoord door naar de klant (6). Dit is vergelijkbaar met hoe een VPN werkt, maar dan zonder de versleuteling.
Configuraties voor reverse proxyâs
Hieronder worden verschillende manieren beschreven om een reverse proxy te maken:
- SirTunnel gebruiken op comphost.club, onze zelfgehoste methode.
- Localhost.run gebruiken, een freemium online tool waarvoor geen registratie nodig is.
- Met behulp van Ngrok, een freemium en krachtige tool waarvoor registratie vereist is.
Er zijn veel (commerciële) reverse proxy-tools, waarvan er een aantal worden vermeld in deze uitgebreide lijst.
1. SirTunnel op comphost.club
Comphost.club draait de reverse-proxy-software SirTunnel, die werkt met het communicatieprotocol SSH.
Warning
Comphost.club-domeinhosting en reverse proxy zijn echter alleen beschikbaar op workshops die worden gehost door CCU. Gelukkig zijn er veel commerciële alternatieven. Je kunt ook kijken naar zelfhosting van je eigen reverse proxy-software op je server.
!!! protip âSSH-protocolâ Het Secure Shell Protocol (SSH) wordt doorgaans gebruikt om veilig in te loggen op de command-line interface (CLI) van een externe computer en om opdrachten uit te voeren op een externe server. We kunnen ssh ook gebruiken om onze telefoon op afstand te bedienen via een laptop, zodat we gemakkelijker kunnen typen.
- We installeren SSH-software op onze telefoon: OpenSSH:
pkg install openssh -y
- We passen onze eigen SirTunnel-opdracht aan op basis van het volgende:
ssh -tR XXXX:localhost:8080 comphost@comphost.club ./sirtunnel.py xx-my-subdomain-name-xx.comphost.club XXXX
-
We vervangen
XXXXdoor een uniek poortnummer (elke deelnemer moet zijn eigen nummer hebben), bijvoorbeeld4567 -
We vervangen
xx-my-subdomain-name-xxdoor een origineel subdomeinadres, bijvoorbeeldbrokensamsung -
Typ + voer de aangepaste opdracht in Termux in:
ssh -tR 4567:localhost:8080 comphost@comphost.club ./sirtunnel.py brokensamsung.comphost.club 4567


-
Als je voor het eerst verbinding maakt, bevestig dan de authenticiteit van de host door âyesâ te typen en op Enter te drukken.
-
Voer het wachtwoord in en druk op Enter.
Facilitator
wachtwoord is workshopbymarieandrein:)
Protip
Wanneer u een wachtwoord in een CLI typt, kunt u dit niet zien. Als u zich zorgen maakt over spelfouten, typ het dan in een ander programma (uw Notitie-app) en kopieer en plak het.
- Andere apparaten kunnen nu uw webpagina bezoeken op brokensamsung.comphost.club
Alle mobiele servers die momenteel actief zijn, staan vermeld op de indexpagina van comphost.club.
Probleemoplossing
Toegang geweigerd? Probeer een andere poort (deze is mogelijk bezet)

localhost.run gebruiken
- Typ in Termux het volgende en druk op Enter:
ssh -R 80:localhost:8080 localhost.run
-
Typ yes + enter om verbinding te maken.
-
U krijgt een tijdelijke domeinnaam die er ongeveer zo uitziet: https://46dd096d0d85c2.lhr.life. Als u een aangepast domein wilt toevoegen, moet u betalen.
ngrok gebruiken
Ngrok is een Amerikaanse commerciële reverse proxy-tool, dus u moet deze installeren en een account aanmaken.
- Installeer ngrok in Termux, typ elke opdracht, druk op enter en ga verder
pkg update -y
pkg install git -y
git clone https://github.com/Yisus7u7/termux-ngrok
cd termux-ngrok
bash install.sh
- Meld u aan bij ngrok:
- Ga naar
- Meld u aan en verifieer uw e-mailadres.
- Kopieer uw auth-token in het relevante gedeelte en voeg het toe aan de configuratie: - Voer de volgende opdracht in en vervang [auth-token] door het auth-token dat u zojuist hebt gekopieerd en geplakt.
ngrok config add-authtoken [auth-token]
- Kopieer en plak de opdracht onder statisch domein en verander poort 80 in poort 8080
ngrok http --url=gorilla-champion-tomcat.ngrok-free.app 8080
Controleer de ngrok-configuratie en betaalde abonnementen voor meer geavanceerde configuratie. Bijvoorbeeld om een aangepast domein in te stellen.
Conclusie
Facilitator
Dit is het einde van de begeleide workshop. Het is goed om even de tijd te nemen om dit deel af te ronden. Sommige deelnemers willen misschien vertrekken, terwijl anderen verdergaan met het bewerken van hun webpagina. We kunnen beginnen met de vraag wat voor elke deelnemer de belangrijkste leerpunten zijn in een rondje van korte toespraken. Enkele goede open vragen: Begrijpen ze waarom zelfhosting belangrijk is? Hoe stellen ze zich een internet voor dat draait op kleine hergebruikte apparaten?
De tutorial over mobiele webservers eindigt hier! Bedankt voor het volgen. Als je feedback of vragen hebt, aarzel dan niet om contact op te nemen (zie de pagina Over voor contactgegevens).
Verder gaan
Er zijn aanvullende bronnen te vinden in de sectie Verder gaan. Je kunt ook de Git-repository van Comphost raadplegen voor extra code en voorbeelden.
We zullen enkele updates plaatsen naarmate we de documentatie verder ontwikkelen.