Innehållsförteckning:
- Steg 1: Ny på Linux och terminalprogrammering?
- Steg 2: Material
- Steg 3: Programvara
- Steg 4: Snabbstart
- Steg 5: Konfigurera Raspberry Pi
- Steg 6: Installera Apache
- Steg 7: Installera serverprogramvara
- Steg 8: Redigera DHCP -konfigurationsfilen
- Steg 9: Redigera standard DHCP -serverfil
- Steg 10: Konfigurera en statisk IP -adress
- Steg 11: Konfigurera detaljerna i åtkomstpunkten
- Steg 12: Konfigurera nätverksadressöversättning ("NAT")
- Steg 13: Testa den åtkomstpunkten
- Steg 14: Skapa en daemon
- Steg 15: Nästan där! Skapa en webbserver HTML -fil
- Steg 16: Redigera HTML -filen Pt. 1
- jenfoxbots lokala webbserver
- Steg 17: Redigera HTML -filen Pt. 2
- Steg 18: OMG Äntligen! Var gjort:)
- Steg 19: Vad är nästa?
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Spara och få tillgång till dokument och foton och musik på din egen lokala Pi Cloud -server! Den bästa delen: du kan använda den om eller när Internet går ner (eller om du befinner dig på en avlägsen plats och vill ha åtkomst till Wikipedia). Åh hej, och om din vän får en och de bor nära (*ahem*80ft*ahem*) kan du dela saker med dem och skapa din egen personliga chattrad!
Det får mig att tänka.. om tillräckligt många byggde Pi Cloud -servrar skulle vi kunna samla in Internet på massor! Det skulle vara en 11/10 på en storhetsskala. Med de nya modellerna på Raspberry Pi -datorn är det möjligt och inte ens dyrt! (Vad! Berätta mer!)
Denna handledning visar dig hur du ställer in en WiFi-åtkomstpunkt med kort räckvidd (~ 80 fot) och en personlig webbserver (återför den till HTML-bbies). Du kan bara konfigurera detta som ett (stängt) lokalt nätverk (dvs din egen personliga "moln" backup -enhet), eller sända det till resten av världen! (..om du gör detta, se till att du känner till nätverkssäkerhet.)
Som sagt, förutsatt att du har en grundläggande kunskap om Pi, här är uppdelningen:
Lästid: ~ 40 min
Byggtid: ~ 60 min (mindre om du har erfarenhet av Linux)
Kostnad: ~ $ 35 (för Pi 3)
Om du är intresserad av att hjälpa till att starta ett folks internet, dela det med dina vänner och familj och alla du känner (eller bygg det för dem!). Om du bygger detta projekt, markera att du har byggt det så att vi kan få en uppfattning om hur många människor som har den infrastruktur vi behöver för att faktiskt skapa ett fullvärdigt människors internet. Slutligen, följ mig för att hålla dig uppdaterad (jag vänder mig till några människor för att försöka få det här att vara en verklig sak, var god kontakta mig om du kan hjälpa till och/eller ta det vidare, det är öppen källkod!).
Steg 1: Ny på Linux och terminalprogrammering?
Vi måste kunna komma åt vår Pi på distans (t.ex. via SSH). Om du gillar "wtf is that", kolla in den här introduktionshandledningen för en mer ingående översikt över hur du konfigurerar Raspberry Pi 3 och lite snabb Linux -programmering.
Detta tillvägagångssätt för Pi Access Point* och webbserver ** använder Jessie Lite OS. Om du följer denna handledning rad-för-rad behöver du den här specifika versionen av Linux
Slutligen är denna handledning byggd på Adafruit Digital Free Library -handledning, så kolla själv om du stöter på några problem (eller lämna en kommentar och jag eller någon annan hjälpsam folk kommer att försöka svara på din fråga:))
(Det kan också kännas lite långt, så jag har inkluderat olika söta valpbilder hela tiden för att hålla dig motiverad: D)
*En åtkomstpunkt är en hårdvaruenhet som gör att en WiFi -enhet (t.ex. smartphone) kan ansluta till ett trådbundet nätverk (t.ex. router).
** En webbserver är en dator som levererar en webbsida. När du går till dina favoritwebbplatser skriver du in "www.wikipedia.org" som tar dig till IP -adressen för webbservern och visar offentlig information.
Varning: det rekommenderas att du bara kör din Pi som ett lokalt nätverk (dvs. anslut inte Pi till den bredare World Wide Web) eftersom WPA2 -lösenordsprotokollet kanske inte är säkert.
Steg 2: Material
Dator med Ethernet -port och SD -kortplats
Raspberry Pi 3
- SD -kort (8 GB eller större, särskilt om du vill använda det för lagring)
MicroUSB till USB strömkabel
Ethernet -kabel
- Rekommenderas: Raspberry Pi -fodral
Steg 3: Programvara
1. PuTTY låter oss fjärrlogga in på Raspberry Pi med hjälp av Pi: s IP -adress, användarnamn och lösenord.
Ladda ner här:
2. Etcher formaterar och skriver Raspbian (eller annat) operativsystem (“OS”) till ett SD -kort.
Ladda ner här:
3. WinSCP möjliggör enkel filöverföring mellan din dator och Raspberry Pi.
Ladda ner här (klicka på installationspaketet):
4. Windows -datorer behöver Bonjour -utskriftstjänster för Windows (från Apple) för att använda "raspberrypi.local" IP -adress.
Ladda ner här:
Steg 4: Snabbstart
Om du har arbetat med Pi tidigare och är bekväm med Linux -terminalen och så, här är en snabb översikt över denna process:
1. Ladda Jessie Lite på ett SD -kort (8 GB eller mer) och sätt in i Pi.
Ladda ner Jessie Lite OS här.
2. Logga in på distans (t.ex. SSH) och ange referenser.
3. Här är ett Github -arkiv med alla kommandon för att göra din Pi till en webbserver: D
Gå igenom installationsfilen och mata in kommandona (i ordning). Denna process kommer att installera HostAPD (autentisering), DHCP (IP -hantering), iptables (brandvägg) och Apache (webbserverprogramvara).
4. Skapa en offentlig webbsida eller behåll dina filer/data privata/w/vänner och familj
Ett exempel på en HTML-webbsida anpassad från Adafruit Digital Free Library-handledningen ingår i Github-förvaret (ServerWebsiteHTML-Raw). Du kan också använda den större zip -filen för att bygga på:)
Varning: det rekommenderas att bara köra din Pi som ett lokalt nätverk (dvs. anslut inte Pi till den bredare World Wide Web) eftersom WPA2 -lösenordsprotokollet kanske inte är säkert.
Steg 5: Konfigurera Raspberry Pi
1. Flasha SD -kortet med Jessie Lite (ladda ner Jessie Lite här). Aktivera SSH genom att lägga till en fil som heter "SSH" i SD -kortets filinnehåll (inga tillägg - ta bort.txt om någon läggs till automatiskt). Sätt i Pi.
2. Anslut Ethernet -kabeln mellan din dator och Pi och anslut sedan Pi -strömkabeln
3. Skapa en nätverksbrygga mellan din dator och Pi
Gå till Inställningar -> Nätverk och Internet -> Ändra adapterinställningar. Välj Ethernet -anslutningen (ska visa en okänd anslutning eller något liknande). Håll "CTRL" -tangenten och välj sedan WiFi -anslutningen. Högerklicka och välj "Bridge Connections".
3. Öppna PuTTY, skriv "raspberrypi.local" för värdnamnet och logga in på din Pi, woo
Om du loggar in för första gången, använd standard användarnamn: pi och lösenord: hallon. Ändra ditt lösenord med kommandot passwd
4. Kontrollera att Pi är ansluten till Internet och uppdatera den
Kör det här kommandot för att kontrollera om Pi kan ansluta till Google (det kommer att skriva ut 5 rader som säger det om det fått information från google.com):
ping -c 5 google.com
Kör det här kommandot för att uppdatera Pi (den första laddar ner paketen, den andra installerar dem):
sudo apt-get uppdatering
sudo apt-get uppgradering
Steg 6: Installera Apache
Apache är vår webbserverprogramvara! (Det gör att vi enkelt kan hålla information och filer tillgängliga via en webbläsare som Chrome, Firefox, Explorer, etc.)
Låt oss installera Apache -programvaran och sedan ändra behörigheter för att redigera HTML -mappen. Skriv och ange följande kommandon (i ordning):
sudo apt -get install apache2 -y
cd /var /www
sudo chown pi: pi/var/www/html
CD
Steg 7: Installera serverprogramvara
1. Installera HostAPDand DHCP -programvara.
HostAPD används för att autentisera information som skickas och tas emot från anslutna enheter, och DHCP är ett protokoll som används för att tillhandahålla snabb, automatisk och central hantering för distribution av IP -adresser i ett nätverk.
För att installera båda samtidigt, skriv följande kommando och tryck sedan på "y" för att fortsätta:
sudo apt-get install hostapd isc-dhcp-server
2. Installera iptables för en brandvägg. (yayy för säkerhets skull!)
Kör det här kommandot och skriv "y" (ja) till båda konfigurationsskärmarna som dyker upp:
sudo apt-get install iptables-persistent
Steg 8: Redigera DHCP -konfigurationsfilen
Låt oss konfigurera DHCP -kommunikationsprotokollet så att vi kan skicka och ta emot information (ganska viktigt om du funderar på att bygga ett anslutet nätverk)! Gå till DHCP -konfigurationsfilen genom att skriva följande:
sudo nano /etc/dhcp/dhcpd.conf
1. Lägg till en kommentar ("#") framför följande rader (så det ser ut som filen i Foto 1):
alternativ domännamn “exempel.org”;
alternativ domännamnservrar ns1.example.org, ns2.example.org;
2. Ta bort kommentaren ("#" ') från raden "auktoritativ" (foto 1 är också till hjälp här):
#Om denna DHCP -server är den officiella DHCP -servern för det lokala nätverket, bör det auktoritativa direktivet vara utan kommentarer.
#auktoritativ;
3. Lägg till den här koden i slutet av filen (se foto 2):
delnät 192.168.42.0 nätmask 255.255.255.0 {
intervall 192.168.42.10 192.168.42.50 alternativ sändningsadress 192.168.42.255; alternativrouter 192.168.42.1; default-lease-time 600; maxhyrestid 7200; alternativ domännamn "lokal"; alternativ domännamnservrar 8.8.8.8, 8.8.4.4; }
Vad gör detta ?! För att (mycket kort) sammanfatta, det ställer in en rad IP -adresser att tilldela anslutna enheter (från 192.168.42.10 till 192.168.42.50), precis som din hemrouter! Den berättar också för Pi hur man kommunicerar till andra enheter (dess sändningsadress, 192.168.42.255 och sin egen IP -adress, 192.168.42.1). Det tilldelar en tid (i sek) för att dela denna anslutning (leasingtid) och ställer in domännamnservrar (som att leta upp ett telefonnummer i en katalog).
4. Spara och avsluta genom att trycka på "Ctrl - X" och sedan "y" (och sedan enter -knappen)
Steg 9: Redigera standard DHCP -serverfil
Låt oss redigera DHCP -serverfilen så att vi kan tilldela den att sända via WiFi! Gå till DHCP -standardserverfilen genom att skriva följande:
sudo nano/etc/default/isc-dhcp-server
1. Bläddra ner till raden som säger INTERFACES =”” och ändra den till sändning via wlan0 (det är en nolla, inte en O):
GRänssnitt =”wlan0”
2. Spara och avsluta genom att trycka på “Ctrl - X” och sedan “y” (du har säkert kommit på den här tangentkombinationen nu så jag slutar nämna det:)).
Steg 10: Konfigurera en statisk IP -adress
1. Låt oss ge vår Pi en statisk (oförändrad) IP -adress så att vi alltid kan hitta den, yay! Inaktivera tillfälligt det trådlösa gränssnittsnätverket:
sudo ifdown wlan0
2. Använd nano -textredigeringsprogrammet för att redigera nätverksgränssnittsfilen (som du förmodligen kom på genom att läsa kommandot (:)
sudo nano/etc/network/interfaces
3. Redigera filen så att den ser exakt ut så här, avsluta och spara (kolla även på Foto 1):
auto lo
iface lo inet loopback iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet statisk
adress 192.168.42.1 nätmask 255.255.255.0
#iface wlan0 inet manual
#wpa-roam /etc/wpa-supplicant/wpa_supplicant.conf #iface default inet dhcp
4. Tilldela en statisk IP:
sudo ifconfig wlan0 192.168.42.1
Steg 11: Konfigurera detaljerna i åtkomstpunkten
1. Skapa en ny konfigurationsfil med namnet "hostapd":
sudo nano /etc/hostapd/hostapd.conf
2. Skriv följande (exakt som det är) i den här nya konfigurationsfilen (avsluta och spara sedan) (Foto 1):
gränssnitt = wlan0
ssid = HelloWorld #Namn på din RPi WiFi -anslutning country_code = USA #Om du inte är någon annanstans! hw_mode = g channel = 6 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 #Detta är lösenordsprotokollet wpa_passphrase = hallon #Ändra lösenordet! wpa_key_mgmt = WPA-PSK wpa_pairwise = CCMP wpa_group_rekey = 86400 ieee80211n = 1 wme_enabled = 1
3. Berätta för HostAPD -protokollet var du kan hitta den här nya filen
Redigera standard HostAPD -fil:
sudo nano/etc/default/hostapd
Hitta raden som säger #DAEMON_CONF = "". Ta bort kommentaren och redigera den så att den ser ut så här (Foto 2):
DAEMON_CONF =”/etc/hostapd/hostapd.conf”
Redigera HostAPD -initieringsfilen:
sudo nano /etc/init.d/hostapd
Hitta raden där det står DAEMON_CONF =. Redigera den så att den pekar på din nya konfigurationsfil! Så här (foto 3):
DAEMON_CONF =/etc/hostapd/hostapd.conf
Steg 12: Konfigurera nätverksadressöversättning ("NAT")
Detta steg gör det möjligt för flera klienter (som alla dina vänner!) Att ansluta till Pi: s WiFi på en gång (spela alla spel !!). Det är lite tekniskt, så jag kommer att överblicka deets (inte heller särskilt bekant med den här delen), men det kommer att ta dig igenom processen.
1. Först måste vi börja vidarebefordra IP varje gång Pi slås på. Ange följande kommando för att redigera sysctl* -konfigurationsfilen:
sudo nano /etc/sysctl.conf
- Bläddra till botten och skriv den här koden på en ny rad, avsluta och spara:
net.ipv4.ip_forward = 1
*btw det är ett L i sysctl, inte ett 1, som jag har trasslat sååå många gånger -.-
2. Aktivera IP -vidarebefordran genom att skriva:
sudo sh -c "echo 1>/proc/sys/net/ipv4/ip_forward"
3. Skapa nätverksöversättning mellan Ethernet -porten eth0 och WiFI -porten wlan0 genom att skriva följande kommandon (w/ - tecken och kepsar och så):
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state -state RELATED, ESTABLISHED -j ACCEPT
sudo iptables -A FRAMÅT -i wlan0 -o eth0 -j ACCEPTERA
4. För att säkerställa att nätverksöversättning sker när vi startar om Pi, kör detta:
sudo sh -c "iptables -save> /etc/iptables/rules.v4"
Steg 13: Testa den åtkomstpunkten
1. Kör hostapd med vår konfigurationsfil manuellt med det här kommandot:
sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf
2. Kontrollera WiFi -listan på din dator eller smartphone och hitta din nya åtkomstpunkt SSID! Om du inte ändrade något kommer det att heta "HelloWorld" med lösenordet "Raspberry".
Om du ansluter framgångsrikt får du lite text på Raspberry Pi -skärmen. Vi kommer inte se mycket än, men vi är väldigt nära!
3. Avbryt testet genom att skriva "Ctrl+C" i Raspberry Pi -konsolen
Du kan kontrollera statusen för värd -AP -servern och DHCP -servern med följande kommandon:
sudo service hostapd status
sudo service isc-dhcp-server status
Steg 14: Skapa en daemon
En daemon är ett program som startar automatiskt varje gång Pi slås på och körs i bakgrunden (inte riktigt som serien "His Dark Materials"..).
1. Starta hostapd- och dhcp -programmen:
sudo service hostapd start
sudo service isc-dhcp-server start
2. Kör följande två kommandon för att aktivera hostapd och dhcp att starta automatiskt när Pi slås på:
sudo update-rc.d hostapd aktivera
sudo update-rc.d isc-dhcp-server aktivera
Steg 15: Nästan där! Skapa en webbserver HTML -fil
1. Skriv en HTML -sida för att vara värd för din webbserver! Eller ladda ner en jag anpassade från Adafruit Digital Free Library:)
Ladda ner och spara zip -filen och extrahera sedan innehållet. (Här är hela GitHub -sidan)
2. Öppna WinSCP och ange värdnamnet: raspberrypi.local
3. Logga in på Pi (skriv in användarnamn och lösenord)
4. På Pi -sidan av skärmen (höger sida) går du till hemkatalogen
Klicka på mappen med uppåtpilen på den två gånger.
5. Gå till filen/var/www/html
Dubbelklicka på mappen märkt”var”, sedan på”www” -mappen”och slutligen på” html”-mappen.
6. Ta bort den befintliga index.html -filen (eller om du vill skriva din egen kan du bara öppna och redigera den).
7. Kopiera webbserverfilerna till Pi html -mappen
Till vänster på skärmen (din dator) går du till mappen där du sparade filerna. Markera och dra innehållet (två mappar och en fil med namnet "index.html") till Pi html -mappen. Det är allt!
8. Öppna en webbläsare och skriv "raspberrypi.local" i navigeringsfältet högst upp. Om det fungerade ser du webbserversidan, vadå!
Steg 16: Redigera HTML -filen Pt. 1
Du vill förmodligen skapa din egen webbplats, så lägg till dina egna dokument/bilder/vad som helst och ändra HTML -filen så att den pekar på dina filer!
1. Öppna index.html -filen på Pi
2. Redigera rubriker och beskrivningar i filen index.html
- Ändra titeln på din webbserver genom att redigera texten mellan titeldelarna:
jenfoxbots lokala webbserver!
- Ändra webbserverns rubrik genom att redigera texten mellan h2 och mittdelarna (rad 51):
jenfoxbots lokala webbserver
- Valfritt: Ändra beskrivningen av webbsidan (rad 55):
Beroende på månens och stjärnornas position*, denna hotspot kan ge en internetanslutning eller inte.
Om det finns en internetanslutning, kolla in jenfoxbots webbplats
och lär dig om andra coola saker hon gör!
*Och med månens och stjärnornas position menar vi nuvarande nycklar till byggaren, jenfoxbot:)
3. Valfritt: Radera befintliga dokument, bilder och videor och lägg till dina egna
Det finns två lager på denna webbsida: förstasidan, som skapas av filen "index.html" och "intern", som har två sidor: "helpfulinfo.html" och "books.html". Om du vill lägga till/ändra innehåll på förstasidan kan du redigera filen "index.html" och lägga till bilder i mappen "bilder" direkt i samma (du kan också lägga till fler mappar för att lagra annat eller mer innehåll).
Om du vill ändra innehåll på de interna sidorna, redigera "helpfulinfo.html" och "books.html" -filerna, lägg till bilder i mappen "images" och PDF -filer (eller andra dokument) i mappen "issues" (igen, du kan lägga till fler mappar här).
Steg 17: Redigera HTML -filen Pt. 2
1. Lägg till dina egna dokument
- Bestäm vad du vill inkludera på din server och ladda ner PDF-filer med dessa dokument. Ladda ner också bilder för vart och ett av dokumenten så att du har något roligt att klicka på: D
- Använd WinSCP, lägg till dina dokument i lämpliga mappar (se föregående steg och foto 1).
- Redigera index.html eller annan relevant html-fil (t.ex. om du vill lägga till eller ändra en bok på sidan med användbar information, redigera filen "helpfulinfo.html"). Visa och få åtkomst till bilder och dokument genom att ändra filnamn och tillägg och uppdatera beskrivningarna:
ALLA DINA FAVORITORD HÄR
2. För nybörjare inom kod kan du lägga till fler dokument genom att kopiera och klistra in den befintliga koden och ändra filnamn och tillägg (se foto 2)!
Här är en användbar översikt över HTML från Khan Academy!
Steg 18: OMG Äntligen! Var gjort:)
Koppla ur Ethernet -kabeln, anslut till din trådlösa åtkomstpunkt och skriv sedan in IP -adressen i adressfältet i din favoritwebbläsare (192.168.42.1 om du följt den här självstudien exakt).
Om allt fungerar ser du din webbsida (jag har inkluderat mina skärmdumpar). Woohoo du har precis skapat en trådlös åtkomstpunkt !! (Om det inte fungerade, kör igenom installationen igen och dubbelkolla att all terminalkod är exakt som visas, inklusive mellanslag och sådant).
Utforska din egen lokala molnwebbplats och bestäm hur du vill använda den härifrån!
Steg 19: Vad är nästa?
Ett alternativ är att använda den som en lokal trådlös lagringsenhet. Anslut Pi, anslut till WiFi -åtkomstpunkten du ställde in (den här heter "HelloWorld") och lagra eller ta ut filer från den. Du kan komma åt dessa filer även om du är bortkopplad från Internet. Så du kan spara din favoritfilm och fortfarande titta på den när strömmen går:) (eh, förutsatt att du har en laddad bärbar dator).
Lägg till fler dokument (t.ex. kan du använda det som reservlagring), leka med HTML -koden för att göra din webbplats snygg och ha kul!
Ett annat alternativ är att konfigurera detta som en offentligt vänd webbsida och tilldela det ett domännamn så att andra människor kan komma åt filerna. Detta är särskilt användbart om du ska någonstans utan WiFi eller kabel -internet - du kan ta Wikipedia med dig! (men kanske donera till dem om du gör det för de är fantastiska). Om du känner dig bekväm med kod kan du ställa in detta till att vara en automatisk reservserver, en lokal trådlös spelserver för dig och dina vänner etc. Var kreativ!
Om du går den här vägen, se till att du vet lite om nätverkssäkerhet eftersom WPA2 -lösenordsprotokollet nyligen har äventyrats (se nedan).
Slutligen, som nämnts i inledningen, kan du använda denna molnserver för att kickstarta ett folks internet! Ha en byggdag med dina vänner för att skapa ett gäng molnservrar så att ni alla kan "prata" med varandra! Detta tillvägagångssätt är inte nödvändigtvis det * bästa * (aka mest effektiva/effektiva) sättet att bygga ett offentligt internet, men det är en bra utgångspunkt. Dessutom, ju bättre vi förstår hur denna teknik fungerar, desto bättre använder vi dem för att lösa allvarliga problem och förespråka för oss själva och våra samhällen.:)
Mer information om WPA2 -säkerhetsrisken från den hjälpsamma användaren BillDauterive:
"[Angriparen behöver en enhet inom räckvidden för wifi -nätverket för att vara ett hot, dvs att en port till webben inte påverkar det. Om en [åtkomstpunkt] äventyras kan angriparen sedan spionera på/ändra trafik på Wifi -nätverket som inte är krypterad via TLS. På ett komprometterat WLAN skulle okrypterad VNC till Pi vara en risk även när man kommer åt med WLAN."
Tvåa i Raspberry Pi -tävlingen 2017