ทำให้ Pi ของคุณเป็นเซิร์ฟเวอร์คลาวด์ (ท้องถิ่น)!: 19 ขั้นตอน (พร้อมรูปภาพ)
ทำให้ Pi ของคุณเป็นเซิร์ฟเวอร์คลาวด์ (ท้องถิ่น)!: 19 ขั้นตอน (พร้อมรูปภาพ)

สารบัญ:

Anonim
ทำให้ Pi ของคุณเป็นเซิร์ฟเวอร์คลาวด์ (ท้องถิ่น)!
ทำให้ Pi ของคุณเป็นเซิร์ฟเวอร์คลาวด์ (ท้องถิ่น)!

บันทึกและเข้าถึงเอกสารและภาพถ่ายและเพลงบนเซิร์ฟเวอร์ Pi Cloud ในพื้นที่ของคุณ! ส่วนที่ดีที่สุด: คุณสามารถใช้ได้หากอินเทอร์เน็ตล่มหรือเมื่อไร (หรือถ้าคุณอยู่ในที่ห่างไกลและต้องการเข้าถึงวิกิพีเดีย) โอ้ ถ้าเพื่อนของคุณได้มันมาและพวกเขาอาศัยอยู่ใกล้ ๆ (*ahem*80ft*ahem*) คุณสามารถแบ่งปันสิ่งต่างๆ กับพวกเขาและสร้างสายสนทนาส่วนตัวของคุณเองได้!

นั่นทำให้ฉันคิดว่า.. ถ้ามีคนสร้างเซิร์ฟเวอร์ Pi Cloud มากพอ เราก็สามารถใช้อินเทอร์เน็ตได้! นั่นจะเป็น 11/10 ในระดับความยิ่งใหญ่ ด้วยคอมพิวเตอร์ Raspberry Pi รุ่นใหม่ เป็นไปได้และไม่แพงเลย! (อะไรนะ บอกฉันอีก!)

บทช่วยสอนนี้จะแสดงวิธีตั้งค่าจุดเชื่อมต่อ WiFi ระยะสั้น (~ 80 ฟุต) และเว็บเซิร์ฟเวอร์ส่วนบุคคล ('นำกลับไปใช้ HTML bbies) คุณสามารถตั้งค่านี้เป็นเครือข่ายท้องถิ่น (ปิด) เท่านั้น (เช่น อุปกรณ์สำรองข้อมูล "คลาวด์" ส่วนตัวของคุณเอง) หรือเผยแพร่ไปยังส่วนอื่นๆ ของโลก! (..ถ้าคุณทำเช่นนี้ต้องแน่ใจว่าคุณรู้ความปลอดภัยของเครือข่าย)

ที่กล่าวว่าสมมติว่าคุณมีความรู้พื้นฐานเกี่ยวกับ Pi นี่คือรายละเอียด:

เวลาในการอ่าน: ~ 40 นาที

เวลาสร้าง: ~ 60 นาที (น้อยกว่านี้หากคุณมีประสบการณ์กับ Linux)

ราคา: ~ $ 35 (สำหรับ Pi 3)

หากคุณสนใจที่จะช่วยเริ่มต้นอินเทอร์เน็ตของผู้คน แบ่งปันกับเพื่อนและครอบครัวของคุณและทุกคนที่คุณรู้จัก (หรือสร้างเพื่อพวกเขา!) หากคุณสร้างโปรเจ็กต์นี้ โปรดทำเครื่องหมายว่าคุณได้สร้างมันแล้ว เพื่อให้เราเข้าใจว่ามีผู้คนจำนวนเท่าใดที่มีโครงสร้างพื้นฐานที่เราจำเป็นต้องใช้เพื่อสร้างอินเทอร์เน็ตเต็มรูปแบบให้กับผู้คน สุดท้ายนี้ โปรดติดตามฉันเพื่อรับทราบข้อมูลล่าสุด (ฉันกำลังติดต่อกับบางคนเพื่อพยายามทำให้สิ่งนี้เป็นจริง โปรดติดต่อฉันหากคุณสามารถช่วยและ/หรือดำเนินการนี้ มันเป็นโอเพ่นซอร์ส!).

ขั้นตอนที่ 1: ยังใหม่กับการเขียนโปรแกรม Linux & Terminal หรือไม่

ยังใหม่กับการเขียนโปรแกรม Linux & Terminal ใช่ไหม
ยังใหม่กับการเขียนโปรแกรม Linux & Terminal ใช่ไหม

เราจะต้องสามารถเข้าถึง Pi ของเราจากระยะไกลได้ (เช่น ผ่าน SSH) หากคุณชอบ "wtf is that" ลองดูบทแนะนำเบื้องต้นนี้เพื่อดูภาพรวมที่ละเอียดยิ่งขึ้นเกี่ยวกับวิธีตั้งค่า Raspberry Pi 3 และการเขียนโปรแกรมเทอร์มินัล Linux แบบด่วน

แนวทางนี้สำหรับ Pi Access Point* และเว็บเซิร์ฟเวอร์** ใช้ Jessie Lite OS หากคุณปฏิบัติตามบทช่วยสอนนี้ทีละบรรทัด คุณจะต้องใช้ Linux เวอร์ชันเฉพาะนี้

สุดท้าย บทช่วยสอนนี้สร้างขึ้นจากบทช่วยสอนของ Adafruit Digital Free Library ดังนั้นให้ตรวจสอบบทช่วยสอนนั้นหากคุณพบปัญหาใดๆ (หรือแสดงความคิดเห็นและตัวฉันเองหรือผู้ช่วยเหลือคนอื่นๆ จะพยายามตอบคำถามของคุณ:))

(และอาจจะดูยาวไปหน่อย เลยเก็บภาพน้องหมาน่ารักๆ ไว้เผื่อมีแรงใจ:D)

*จุดเข้าใช้งานคืออุปกรณ์ฮาร์ดแวร์ที่อนุญาตให้อุปกรณ์ WiFi (เช่น สมาร์ทโฟน) เชื่อมต่อกับเครือข่ายแบบมีสาย (เช่น เราเตอร์)

**เว็บเซิร์ฟเวอร์คือคอมพิวเตอร์ที่ให้บริการหน้าเว็บ เมื่อคุณไปที่เว็บไซต์โปรด คุณจะต้องพิมพ์ "www.wikipedia.org" ซึ่งจะนำคุณไปยังที่อยู่ IP ของเว็บเซิร์ฟเวอร์และแสดงข้อมูลสาธารณะ

คำเตือน: ขอแนะนำให้เรียกใช้ Pi ของคุณเป็นเครือข่ายท้องถิ่นเท่านั้น (เช่น อย่าเชื่อมต่อ Pi กับเวิลด์ไวด์เว็บที่กว้างกว่า) เนื่องจากโปรโตคอลรหัสผ่าน WPA2 อาจไม่ปลอดภัย

ขั้นตอนที่ 2: วัสดุ

วัสดุ
วัสดุ

คอมพิวเตอร์พร้อมพอร์ตอีเธอร์เน็ตและช่องเสียบการ์ด SD

ราสเบอร์รี่ Pi 3

- การ์ด SD (8GB หรือใหญ่กว่า โดยเฉพาะหากคุณต้องการใช้เก็บข้อมูล)

สายไฟ MicroUSB เป็น USB

สายอีเธอร์เน็ต

- แนะนำ: เคส Raspberry Pi

ขั้นตอนที่ 3: โปรแกรมซอฟต์แวร์

โปรแกรมซอฟต์แวร์
โปรแกรมซอฟต์แวร์

1. PuTTY ช่วยให้เราสามารถเข้าสู่ระบบ Raspberry Pi จากระยะไกลโดยใช้ที่อยู่ IP ชื่อผู้ใช้และรหัสผ่านของ Pi

ดาวน์โหลดที่นี่:

2. Etcher จัดรูปแบบและเขียนระบบปฏิบัติการ Raspbian (หรืออื่นๆ) (“OS”) ลงในการ์ด SD

ดาวน์โหลดที่นี่:

3. WinSCP ช่วยให้ถ่ายโอนไฟล์ระหว่างคอมพิวเตอร์และ Raspberry Pi ได้ง่าย

ดาวน์โหลดที่นี่ (คลิกที่แพ็คเกจการติดตั้ง):

4. คอมพิวเตอร์ Windows จะต้องใช้บริการพิมพ์ Bonjour สำหรับ Windows (จาก Apple) เพื่อใช้ที่อยู่ IP "raspberrypi.local"

ดาวน์โหลดที่นี่:

ขั้นตอนที่ 4: เริ่มต้นอย่างรวดเร็ว

เริ่มต้นอย่างรวดเร็ว
เริ่มต้นอย่างรวดเร็ว

หากคุณเคยใช้งาน Pi มาก่อนและคุ้นเคยกับเทอร์มินัล Linux อยู่แล้ว ต่อไปนี้คือภาพรวมโดยย่อของกระบวนการนี้:

1. โหลด Jessie Lite ลงในการ์ด SD (8GB หรือมากกว่า) แล้วใส่ลงใน Pi

ดาวน์โหลด Jessie Lite OS ที่นี่

2. เข้าสู่ระบบจากระยะไกล (เช่น SSH) และป้อนข้อมูลรับรอง

3. นี่คือที่เก็บ Github พร้อมคำสั่งทั้งหมดเพื่อเปลี่ยน Pi ของคุณให้เป็นเว็บเซิร์ฟเวอร์: D

ไปที่ไฟล์ Setup และป้อนคำสั่ง (ตามลำดับ) กระบวนการนี้จะติดตั้ง HostAPD (การรับรองความถูกต้อง), DHCP (การจัดการ IP), iptables (ไฟร์วอลล์) และ Apache (ซอฟต์แวร์เว็บเซิร์ฟเวอร์)

4. สร้างหน้าเว็บสาธารณะหรือเก็บไฟล์/ข้อมูลของคุณเป็นส่วนตัว/กับเพื่อนและครอบครัว

ตัวอย่างหน้าเว็บ HTML ที่ดัดแปลงจากบทช่วยสอน Adafruit Digital Free Library จะรวมอยู่ในที่เก็บ Github (ServerWebsiteHTML-Raw) คุณสามารถใช้ไฟล์ zip ที่ใหญ่กว่าเพื่อสร้าง:)

คำเตือน: ขอแนะนำให้เรียกใช้ Pi ของคุณเป็นเครือข่ายท้องถิ่นเท่านั้น (เช่น อย่าเชื่อมต่อ Pi กับเวิลด์ไวด์เว็บที่กว้างกว่า) เนื่องจากโปรโตคอลรหัสผ่าน WPA2 อาจไม่ปลอดภัย

ขั้นตอนที่ 5: ตั้งค่า Raspberry Pi

ตั้งค่า Raspberry Pi
ตั้งค่า Raspberry Pi
ตั้งค่า Raspberry Pi
ตั้งค่า Raspberry Pi
ตั้งค่า Raspberry Pi
ตั้งค่า Raspberry Pi
ตั้งค่า Raspberry Pi
ตั้งค่า Raspberry Pi

1. แฟลชการ์ด SD ด้วย Jessie Lite (ดาวน์โหลด Jessie Lite ที่นี่) เปิดใช้งาน SSH โดยการเพิ่มไฟล์ชื่อ "SSH" ในเนื้อหาไฟล์การ์ด SD (ไม่มีนามสกุล -- ลบ.txt หากมีการเพิ่มโดยอัตโนมัติ) ใส่เข้าไปใน Pi

2. เสียบสายอีเทอร์เน็ตระหว่างคอมพิวเตอร์ของคุณกับ Pi จากนั้นเสียบสายไฟ Pi

3. สร้างสะพานเครือข่ายระหว่างคอมพิวเตอร์ของคุณและ Pi

ไปที่การตั้งค่า -> เครือข่ายและอินเทอร์เน็ต -> เปลี่ยนการตั้งค่าอแด็ปเตอร์ เลือกการเชื่อมต่ออีเทอร์เน็ต (ควรแสดงการเชื่อมต่อที่ไม่รู้จักหรือสิ่งที่คล้ายกัน) กดปุ่ม "CTRL" ค้างไว้ จากนั้นเลือกการเชื่อมต่อ WiFi คลิกขวาและเลือก "การเชื่อมต่อสะพาน"

3. เปิด PuTTY พิมพ์ "raspberrypi.local" สำหรับชื่อโฮสต์และเข้าสู่ระบบ Pi ของคุณ woo

หากคุณเข้าสู่ระบบเป็นครั้งแรก ให้ใช้ชื่อผู้ใช้เริ่มต้น: pi และรหัสผ่าน: raspberry เปลี่ยนรหัสผ่านของคุณโดยใช้คำสั่ง passwd

4. ตรวจสอบว่า Pi เชื่อมต่อกับอินเทอร์เน็ตและอัปเดต

เรียกใช้คำสั่งนี้เพื่อตรวจสอบว่า Pi สามารถเชื่อมต่อกับ Google ได้หรือไม่ (จะพิมพ์ 5 บรรทัดว่าหากได้รับข้อมูลจาก google.com):

ping -c 5 google.com

เรียกใช้คำสั่งนี้เพื่ออัปเดต Pi (อันแรกดาวน์โหลดแพ็คเกจ อันที่สองติดตั้ง 'em):

sudo apt-get update

sudo apt-get อัพเกรด

ขั้นตอนที่ 6: ติดตั้ง Apache

ติดตั้ง Apache!
ติดตั้ง Apache!
ติดตั้ง Apache!
ติดตั้ง Apache!

Apache เป็นซอฟต์แวร์เว็บเซิร์ฟเวอร์ของเรา! (ช่วยให้เราสามารถโฮสต์ข้อมูลและไฟล์ที่เข้าถึงได้ง่ายผ่านเว็บเบราว์เซอร์ เช่น Chrome, Firefox, Explorer เป็นต้น)

มาติดตั้งซอฟต์แวร์ Apache แล้วเปลี่ยนการอนุญาตเพื่อแก้ไขโฟลเดอร์ HTML พิมพ์และป้อนคำสั่งต่อไปนี้ (ตามลำดับ):

sudo apt-get ติดตั้ง apache2 -y

cd /var/www

sudo chown pi:pi /var/www/html

ซีดี

ขั้นตอนที่ 7: ติดตั้งซอฟต์แวร์เซิร์ฟเวอร์

ติดตั้งซอฟต์แวร์เซิร์ฟเวอร์!
ติดตั้งซอฟต์แวร์เซิร์ฟเวอร์!

1. ติดตั้งซอฟต์แวร์ HostAPD และ DHCP

HostAPD ใช้เพื่อรับรองความถูกต้องของข้อมูลที่ส่งและรับจากอุปกรณ์ที่เชื่อมต่อ และ DHCP เป็นโปรโตคอลที่ใช้ในการจัดเตรียมการจัดการที่รวดเร็ว อัตโนมัติ และศูนย์กลางสำหรับการกระจายที่อยู่ IP ภายในเครือข่าย

หากต้องการติดตั้งทั้งสองอย่างพร้อมกัน ให้พิมพ์คำสั่งต่อไปนี้ จากนั้นกด "y" เพื่อดำเนินการต่อ:

sudo apt-get ติดตั้ง hostapd isc-dhcp-server

2. ติดตั้ง iptables สำหรับไฟร์วอลล์ (yayy เพื่อความปลอดภัย!)

เรียกใช้คำสั่งนี้และพิมพ์ "y" (ใช่) ไปที่หน้าจอกำหนดค่าทั้งสองที่ปรากฏขึ้น:

sudo apt-get install iptables-persistent

ขั้นตอนที่ 8: แก้ไขไฟล์การกำหนดค่า DHCP

แก้ไขไฟล์การกำหนดค่า DHCP
แก้ไขไฟล์การกำหนดค่า DHCP
แก้ไขไฟล์การกำหนดค่า DHCP
แก้ไขไฟล์การกำหนดค่า DHCP

มาตั้งค่าโปรโตคอลการสื่อสาร DHCP เพื่อให้เราสามารถส่งและรับข้อมูล (ค่อนข้างสำคัญหากคุณกำลังคิดที่จะสร้างเครือข่ายที่เชื่อมต่อ)! ไปที่ไฟล์การกำหนดค่า DHCP โดยพิมพ์ดังต่อไปนี้:

sudo nano /etc/dhcp/dhcpd.conf

1. เพิ่มความคิดเห็น ("#") ข้างหน้าบรรทัดต่อไปนี้ (เพื่อให้ดูเหมือนไฟล์ในรูปภาพ 1):

ตัวเลือกชื่อโดเมน "example.org";

ตัวเลือกโดเมนเนมเซิร์ฟเวอร์ ns1.example.org, ns2.example.org;

2. ลบความคิดเห็น ("#") ออกจากบรรทัด "เผด็จการ" (ภาพที่ 1 ยังมีประโยชน์ที่นี่):

#หากเซิร์ฟเวอร์ DHCP นี้เป็นเซิร์ฟเวอร์ DHCP อย่างเป็นทางการสำหรับเครือข่ายท้องถิ่น คำสั่งที่เชื่อถือได้ไม่ควรแสดงความเห็น

#เผด็จการ;

3. เพิ่มรหัสนี้ที่ส่วนท้ายสุดของไฟล์ (ดูรูปที่ 2):

ซับเน็ต 192.168.42.0 เน็ตมาสก์ 255.255.255.0 {

ช่วง 192.168.42.10 192.168.42.50 ตัวเลือกที่อยู่ออกอากาศ 192.168.42.255; เราเตอร์ตัวเลือก 192.168.42.1; ผิดสัญญาเช่าเวลา 600; เวลาเช่าสูงสุด 7200; ตัวเลือกชื่อโดเมน "ท้องถิ่น"; ตัวเลือกโดเมนเนมเซิร์ฟเวอร์ 8.8.8.8, 8.8.4.4; }

ทำอะไรเนี่ย! เพื่อสรุป (สั้น ๆ มาก) มันตั้งค่าช่วงของที่อยู่ IP เพื่อกำหนดให้กับอุปกรณ์ที่เชื่อมต่อ (จาก 192.168.42.10 ถึง 192.168.42.50) เช่นเดียวกับเราเตอร์ที่บ้านของคุณ! นอกจากนี้ยังบอก Pi ถึงวิธีการสื่อสารกับอุปกรณ์อื่น ๆ (ที่อยู่ออกอากาศ 192.168.42.255 และที่อยู่ IP ของตัวเอง 192.168.42.1) มันกำหนดระยะเวลา (เป็นวินาที) เพื่อแบ่งปันการเชื่อมต่อนี้ (เวลาเช่า) และตั้งค่าเซิร์ฟเวอร์ชื่อโดเมน (เช่นการค้นหาหมายเลขโทรศัพท์ในไดเรกทอรี)

4. บันทึกและออกโดยกด "Ctrl - X" แล้วกด "y" (แล้วกดแป้น Enter)

ขั้นตอนที่ 9: แก้ไขไฟล์เซิร์ฟเวอร์ DHCP เริ่มต้น

แก้ไขไฟล์เซิร์ฟเวอร์ DHCP เริ่มต้น
แก้ไขไฟล์เซิร์ฟเวอร์ DHCP เริ่มต้น
แก้ไขไฟล์เซิร์ฟเวอร์ DHCP เริ่มต้น
แก้ไขไฟล์เซิร์ฟเวอร์ DHCP เริ่มต้น

มาแก้ไขไฟล์เซิร์ฟเวอร์ DHCP เพื่อให้เราสามารถกำหนดให้ออกอากาศผ่าน WiFi ได้! ไปที่ไฟล์เซิร์ฟเวอร์เริ่มต้นของ DHCP โดยพิมพ์ดังต่อไปนี้:

sudo nano /etc/default/isc-dhcp-server

1. เลื่อนลงไปที่บรรทัดที่ระบุว่า INTERFACES=”” และเปลี่ยนเป็นออกอากาศผ่าน wlan0 (นั่นคือศูนย์ ไม่ใช่ O):

อินเทอร์เฟซ =”wlan0”

2. บันทึกและออกโดยกด "Ctrl - X" ตามด้วย "y" (ตอนนี้คุณอาจเข้าใจคีย์ผสมนี้แล้ว ดังนั้นฉันจะไม่พูดถึงมัน:))

ขั้นตอนที่ 10: ตั้งค่าที่อยู่ IP แบบคงที่

ตั้งค่าที่อยู่ IP แบบคงที่
ตั้งค่าที่อยู่ IP แบบคงที่
ตั้งค่าที่อยู่ IP แบบคงที่
ตั้งค่าที่อยู่ IP แบบคงที่

1. ให้ที่อยู่ IP แบบคงที่ (ไม่เปลี่ยนแปลง) แก่ Pi ของเราเพื่อให้เราค้นหาได้เสมอ เย้! ปิดใช้งานเครือข่ายอินเทอร์เฟซไร้สายชั่วคราว:

sudo ifdown wlan0

2. ใช้โปรแกรมแก้ไขข้อความนาโนเพื่อแก้ไขไฟล์อินเทอร์เฟซเครือข่าย (ซึ่งคุณอาจเข้าใจได้โดยการอ่านคำสั่ง (:)

sudo nano /etc/network/interfaces

3. แก้ไขไฟล์ให้มีลักษณะดังนี้ จากนั้นออก & บันทึก (ดูรูปภาพที่ 1):

รถยนต์

iface lo inet ลูปแบ็ค iface eth0 inet dhcp

อนุญาต-hotplug wlan0

iface wlan0 inet คงที่

ที่อยู่ 192.168.42.1 netmask 255.255.255.0

#iface wlan0 inet manual

#wpa-roam /etc/wpa-supplicant/wpa_supplicant.conf #iface ค่าเริ่มต้น inet dhcp

4. กำหนด IP แบบคงที่:

sudo ifconfig wlan0 192.168.42.1

ขั้นตอนที่ 11: กำหนดค่ารายละเอียดจุดเข้าใช้งาน

กำหนดค่ารายละเอียดจุดเข้าใช้งาน
กำหนดค่ารายละเอียดจุดเข้าใช้งาน
กำหนดค่ารายละเอียดจุดเข้าใช้งาน
กำหนดค่ารายละเอียดจุดเข้าใช้งาน
กำหนดค่ารายละเอียดจุดเข้าใช้งาน
กำหนดค่ารายละเอียดจุดเข้าใช้งาน

1. สร้างไฟล์การกำหนดค่าใหม่ชื่อ "hostapd":

sudo nano /etc/hostapd/hostapd.conf

2. เขียนสิ่งต่อไปนี้ (ตามที่เป็น) ในไฟล์การกำหนดค่าใหม่นี้ (จากนั้นออก & บันทึก) (รูปภาพ 1):

อินเทอร์เฟซ=wlan0

ssid=HelloWorld #ชื่อการเชื่อมต่อ RPi WiFi ของคุณ country_code=US #เว้นแต่คุณจะอยู่ที่อื่น! hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 dissolve_broadcast_ssid=0 wpa=2 #นี่คือโปรโตคอลรหัสผ่าน wpa_passphrase=raspberry #เปลี่ยนรหัสผ่าน! wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP wpa_group_rekey=86400 ieee80211n=1 wme_enabled=1

3. บอกโปรโตคอล HostAPD ว่าจะหาไฟล์ใหม่นี้ได้ที่ไหน

แก้ไขไฟล์ HostAPD เริ่มต้น:

sudo nano /etc/default/hostapd

ค้นหาบรรทัดที่ระบุว่า ลบความคิดเห็นและแก้ไขเพื่อให้มีลักษณะดังนี้ (ภาพที่ 2):

DAEMON_CONF=”/etc/hostapd/hostapd.conf”

แก้ไขไฟล์การเริ่มต้น HostAPD:

sudo nano /etc/init.d/hostapd

ค้นหาบรรทัดที่ระบุว่า DAEMON_CONF= แก้ไขให้ชี้ไปที่ไฟล์กำหนดค่าใหม่ของคุณ! ชอบสิ่งนี้ (ภาพที่ 3):

DAEMON_CONF=/etc/hostapd/hostapd.conf

ขั้นตอนที่ 12: กำหนดค่าการแปลที่อยู่เครือข่าย ("NAT")

กำหนดค่าการแปลที่อยู่เครือข่าย
กำหนดค่าการแปลที่อยู่เครือข่าย
กำหนดค่าการแปลที่อยู่เครือข่าย
กำหนดค่าการแปลที่อยู่เครือข่าย

ขั้นตอนนี้อนุญาตให้ลูกค้าหลายราย (เช่นเพื่อนของคุณทั้งหมด!) เพื่อเชื่อมต่อกับ WiFi ของ Pi พร้อมกัน (เล่นเกมทั้งหมด!!) มันเป็นเทคนิคเล็กน้อย ดังนั้นฉันจะขัดเกลา deets (และไม่ค่อยคุ้นเคยกับส่วนนี้มาก) แต่จะช่วยให้คุณผ่านกระบวนการนี้

1. ก่อนอื่น เราต้องเริ่มการส่งต่อ IP ทุกครั้งที่เปิด Pi ป้อนคำสั่งต่อไปนี้เพื่อแก้ไขไฟล์การกำหนดค่า sysctl*:

sudo nano /etc/sysctl.conf

-- เลื่อนไปที่ด้านล่างและพิมพ์รหัสนี้ในบรรทัดใหม่ จากนั้นออกและบันทึก:

net.ipv4.ip_forward=1

*btw นั่นคือ L ใน sysctl ไม่ใช่ 1 ซึ่งฉันทำผิดพลาดหลายครั้ง -.-

2. เปิดใช้งานการส่งต่อ IP โดยพิมพ์:

sudo sh -c “echo 1 > /proc/sys/net/ipv4/ip_forward”

3. สร้างการแปลเครือข่ายระหว่างพอร์ต Ethernet eth0 และพอร์ต WiFI wlan0 โดยพิมพ์คำสั่งต่อไปนี้ (w/ - เครื่องหมายและตัวพิมพ์ใหญ่ และอื่นๆ):

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 FORWARD -i wlan0 -o eth0 -j ACCEPT

4. เพื่อให้แน่ใจว่าการแปลเครือข่ายเกิดขึ้นเมื่อเรารีบูต Pi ให้เรียกใช้สิ่งนี้:

sudo sh -c “iptables-save > /etc/iptables/rules.v4”

ขั้นตอนที่ 13: ทดสอบจุดเชื่อมต่อนั้น

ทดสอบจุดเชื่อมต่อนั้น!
ทดสอบจุดเชื่อมต่อนั้น!
ทดสอบจุดเชื่อมต่อนั้น!
ทดสอบจุดเชื่อมต่อนั้น!

1. เรียกใช้ hostapd ด้วยไฟล์การกำหนดค่าของเราด้วยตนเองด้วยคำสั่งนี้:

sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf

2. ตรวจสอบรายการ WiFi บนคอมพิวเตอร์หรือสมาร์ทโฟนของคุณและค้นหา SSID ของจุดเข้าใช้งานใหม่ของคุณ! หากคุณไม่ได้เปลี่ยนแปลงอะไรเลย จะมีชื่อว่า "HelloWorld" ด้วยรหัสผ่าน "Raspberry"

หากคุณเชื่อมต่อสำเร็จ คุณจะได้รับข้อความบนหน้าจอ Raspberry Pi เรายังไม่เห็นอะไรมาก แต่เราอยู่ใกล้กันมาก!

3. ยกเลิกการทดสอบโดยพิมพ์ “Ctrl+C” ในคอนโซล Raspberry Pi

คุณสามารถตรวจสอบสถานะของเซิร์ฟเวอร์โฮสต์ AP และเซิร์ฟเวอร์ DHCP ด้วยคำสั่งต่อไปนี้:

sudo service hostapd สถานะ

sudo service isc-dhcp-server status

ขั้นตอนที่ 14: ตั้งค่า Daemon

ตั้งค่าภูต
ตั้งค่าภูต

daemon เป็นโปรแกรมที่เริ่มทำงานโดยอัตโนมัติทุกครั้งที่เปิดเครื่อง Pi และทำงานในพื้นหลัง (ไม่เหมือนชุด "His Dark Materials"..)

1. เริ่มโปรแกรม hostapd และ dhcp:

บริการ sudo hostapd เริ่ม

sudo service isc-dhcp-server start

2. เรียกใช้สองคำสั่งต่อไปนี้เพื่อเปิดใช้งาน hostapd และ dhcp ให้เริ่มทำงานโดยอัตโนมัติเมื่อเปิด Pi:

sudo update-rc.d hostapd เปิดใช้งาน

sudo update-rc.d isc-dhcp-server เปิดใช้งาน

ขั้นตอนที่ 15: เกือบจะถึงแล้ว! สร้างไฟล์ HTML ของเว็บเซิร์ฟเวอร์

เกือบจะมี! สร้างไฟล์ HTML ของเว็บเซิร์ฟเวอร์!
เกือบจะมี! สร้างไฟล์ HTML ของเว็บเซิร์ฟเวอร์!
เกือบจะมี! สร้างไฟล์ HTML ของเว็บเซิร์ฟเวอร์!
เกือบจะมี! สร้างไฟล์ HTML ของเว็บเซิร์ฟเวอร์!
เกือบจะมี! สร้างไฟล์ HTML ของเว็บเซิร์ฟเวอร์!
เกือบจะมี! สร้างไฟล์ HTML ของเว็บเซิร์ฟเวอร์!

1. เขียนหน้า HTML เพื่อโฮสต์บนเว็บเซิร์ฟเวอร์ของคุณ! หรือดาวน์โหลดที่ฉันดัดแปลงมาจาก Adafruit Digital Free Library:)

ดาวน์โหลดและบันทึกไฟล์ zip จากนั้นแตกเนื้อหา (นี่คือหน้า GitHub แบบเต็ม)

2. เปิด WinSCP และป้อนชื่อโฮสต์: raspberrypi.local

3. เข้าสู่ระบบ Pi (พิมพ์ชื่อผู้ใช้และรหัสผ่าน)

4. ที่ด้าน Pi ของหน้าจอ (ด้านขวา) ให้ไปที่โฮมไดเร็กตอรี่

คลิกโฟลเดอร์ที่มีลูกศรขึ้นสองครั้ง

5.ไปที่ไฟล์ /var/www/html

ดับเบิลคลิกที่โฟลเดอร์ชื่อ "var" จากนั้นคลิกโฟลเดอร์ "www" และสุดท้ายเป็นโฟลเดอร์ "html"

6. ลบไฟล์ index.html ที่มีอยู่ (หรือถ้าคุณต้องการเขียนไฟล์ของคุณเอง คุณก็สามารถเปิดและแก้ไขได้)

7. คัดลอกไฟล์เว็บเซิร์ฟเวอร์ลงในโฟลเดอร์ Pi html

ทางด้านซ้ายของหน้าจอ (คอมพิวเตอร์ของคุณ) ให้ไปที่โฟลเดอร์ที่คุณบันทึกไฟล์ไว้ เน้นและลากเนื้อหา (สองโฟลเดอร์และไฟล์ชื่อ "index.html") ลงในโฟลเดอร์ Pi html แค่นั้นแหละ!

8. เปิดเบราว์เซอร์และพิมพ์ "raspberrypi.local" ในแถบนำทางที่ด้านบน ถ้ามันใช้งานได้ คุณจะเห็นหน้าเว็บเซิร์ฟเวอร์ อะไรนะ!

ขั้นตอนที่ 16: แก้ไขไฟล์ HTML Pt. 1

แก้ไขไฟล์ HTML Pt. 1!
แก้ไขไฟล์ HTML Pt. 1!

คุณอาจต้องการสร้างเว็บไซต์ของคุณเอง ดังนั้นให้เพิ่มเอกสาร/รูปภาพ/อะไรก็ได้ แล้วเปลี่ยนไฟล์ HTML ให้ชี้ไปที่ไฟล์ของคุณ!

1. เปิดไฟล์ index.html บน Pi

2. แก้ไขส่วนหัวและตัวอธิบายในไฟล์ index.html

-- เปลี่ยนชื่อเว็บเซิร์ฟเวอร์ของคุณโดยแก้ไขข้อความระหว่างส่วนชื่อเรื่อง:

เว็บเซิร์ฟเวอร์ท้องถิ่นของ jenfoxbot!

-- เปลี่ยนส่วนหัวของเว็บเซิร์ฟเวอร์โดยแก้ไขข้อความระหว่างส่วน h2 และส่วนตรงกลาง (บรรทัดที่ 51):

เว็บเซิร์ฟเวอร์ท้องถิ่นของ jenfoxbot

-- ทางเลือก: เปลี่ยนคำอธิบายของหน้าเว็บ (บรรทัดที่ 55):

ขึ้นอยู่กับตำแหน่งของดวงจันทร์และดวงดาว*

ฮอตสปอตนี้อาจมีหรือไม่มีการเชื่อมต่ออินเทอร์เน็ต

หากมีการเชื่อมต่ออินเทอร์เน็ต ให้ตรวจสอบเว็บไซต์ของ jenfoxbot

และเรียนรู้เกี่ยวกับสิ่งดีๆ อื่นๆ ที่เธอทำ!

*และตามตำแหน่งของดวงจันทร์และดวงดาว เราหมายถึงความเพ้อฝันของผู้สร้างในปัจจุบัน jenfoxbot:)

3. ตัวเลือกเสริม: ลบเอกสาร รูปภาพ และวิดีโอที่มีอยู่แล้วเพิ่มเอกสารของคุณเอง

หน้าเว็บนี้มีสองชั้น: หน้าแรกซึ่งสร้างโดยไฟล์ "index.html" และ "ภายใน" ซึ่งมีสองหน้า: "helpfulinfo.html" และ "books.html" หากคุณต้องการเพิ่ม/แก้ไขเนื้อหาในหน้าแรก ให้แก้ไขไฟล์ "index.html" และเพิ่มรูปภาพในโฟลเดอร์ "images" ในไฟล์เดียวกันโดยตรง (คุณยังสามารถเพิ่มโฟลเดอร์อื่นๆ เพื่อจัดเก็บเนื้อหาที่แตกต่างกันหรือมากกว่า)

หากคุณต้องการแก้ไขเนื้อหาในหน้าภายใน ให้แก้ไขไฟล์ "helpfulinfo.html" และ "books.html" เพิ่มรูปภาพในโฟลเดอร์ "images" และ PDF (หรือเอกสารอื่นๆ) ลงในโฟลเดอร์ "issues" (อีกครั้ง คุณสามารถเพิ่มโฟลเดอร์เพิ่มเติมได้ที่นี่)

ขั้นตอนที่ 17: แก้ไขไฟล์ HTML Pt. 2

แก้ไขไฟล์ HTML Pt. 2!
แก้ไขไฟล์ HTML Pt. 2!
แก้ไขไฟล์ HTML Pt. 2!
แก้ไขไฟล์ HTML Pt. 2!
แก้ไขไฟล์ HTML Pt. 2!
แก้ไขไฟล์ HTML Pt. 2!

1. เพิ่มเอกสารของคุณเอง

-- ตัดสินใจเลือกสิ่งที่คุณต้องการรวมไว้บนเซิร์ฟเวอร์ของคุณและดาวน์โหลดไฟล์ PDF ของเอกสารเหล่านั้น ดาวน์โหลดรูปภาพสำหรับเอกสารแต่ละฉบับด้วย เพื่อที่คุณจะได้สนุกไปกับการคลิก:D

-- ใช้ WinSCP เพิ่มเอกสารของคุณไปยังโฟลเดอร์ที่เหมาะสม (ดูขั้นตอนก่อนหน้าและรูปภาพที่ 1)

-- แก้ไขไฟล์ index.html หรือไฟล์ html ที่เกี่ยวข้องอื่นๆ (เช่น หากคุณต้องการเพิ่มหรือเปลี่ยนแปลงหนังสือในหน้าข้อมูลที่เป็นประโยชน์ ให้แก้ไขไฟล์ "helpfulinfo.html") แสดงและเข้าถึงรูปภาพและเอกสารโดยเปลี่ยนชื่อไฟล์และนามสกุล และอัปเดตคำอธิบาย:

คำที่คุณชื่นชอบทั้งหมดที่นี่

2. สำหรับผู้ที่เพิ่งเริ่มใช้โค้ด คุณสามารถเพิ่มเอกสารได้โดยคัดลอกและวางโค้ดที่มีอยู่แล้วเปลี่ยนชื่อไฟล์และนามสกุล (ดูรูปที่ 2)!

นี่คือภาพรวมที่เป็นประโยชน์เกี่ยวกับ HTML จาก Khan Academy!

ขั้นตอนที่ 18: OMG ในที่สุด! เราเสร็จแล้ว:)

พระเจ้าช่วย ในที่สุด! เราเสร็จแล้ว:)
พระเจ้าช่วย ในที่สุด! เราเสร็จแล้ว:)
พระเจ้าช่วย ในที่สุด! เราเสร็จแล้ว:)
พระเจ้าช่วย ในที่สุด! เราเสร็จแล้ว:)
พระเจ้าช่วย ในที่สุด! เราเสร็จแล้ว:)
พระเจ้าช่วย ในที่สุด! เราเสร็จแล้ว:)

ถอดสายอีเทอร์เน็ต เชื่อมต่อกับจุดเชื่อมต่อไร้สาย จากนั้นพิมพ์ที่อยู่ IP ในแถบที่อยู่ของเบราว์เซอร์ที่คุณชื่นชอบ (192.168.42.1 ถ้าคุณทำตามบทช่วยสอนนี้ทุกประการ)

หากทุกอย่างใช้งานได้ คุณจะเห็นหน้าเว็บของคุณ (ฉันได้รวมภาพหน้าจอของฉันไว้ด้วย) Woohoo คุณเพิ่งสร้างจุดเชื่อมต่อไร้สาย !! (หากไม่ได้ผล ให้เรียกใช้การตั้งค่าอีกครั้ง และตรวจสอบอีกครั้งว่ารหัสเทอร์มินัลทั้งหมดตรงตามที่แสดง รวมถึงการเว้นวรรคและอื่นๆ)

สำรวจเว็บไซต์ Cloud ในพื้นที่ของคุณเองและตัดสินใจว่าคุณต้องการใช้งานอย่างไรจากที่นี่!

ขั้นตอนที่ 19: อะไรต่อไป?

อะไรต่อไป?
อะไรต่อไป?
อะไรต่อไป?
อะไรต่อไป?

ทางเลือกหนึ่งคือใช้เป็นอุปกรณ์เก็บข้อมูลไร้สายในเครื่อง เสียบ Pi เชื่อมต่อกับจุดเชื่อมต่อ WiFi ที่คุณตั้งค่า (อันนี้ชื่อ "HelloWorld") และจัดเก็บหรือถอนไฟล์จากมัน คุณสามารถเข้าถึงไฟล์เหล่านี้ได้แม้ว่าคุณจะไม่ได้เชื่อมต่อกับอินเทอร์เน็ต ดังนั้นคุณจึงสามารถบันทึกภาพยนตร์เรื่องโปรดและยังคงดูต่อไปเมื่อไฟดับ:) (เอ่อ สมมติว่าคุณมีแล็ปท็อปที่ชาร์จแล้ว)

เพิ่มเอกสารเพิ่มเติม (เช่น คุณสามารถใช้เป็นที่เก็บข้อมูลสำรอง) ลองใช้โค้ด HTML เพื่อทำให้ไซต์ของคุณดูน่าสนใจ และสนุกไปกับมัน!

อีกทางเลือกหนึ่งคือการกำหนดค่านี้เป็นหน้าเว็บสาธารณะและกำหนดชื่อโดเมนเพื่อให้ผู้อื่นสามารถเข้าถึงไฟล์ได้ สิ่งนี้มีประโยชน์อย่างยิ่งหากคุณจะไปที่ไหนสักแห่งโดยไม่มี WiFi หรืออินเทอร์เน็ตแบบมีสาย คุณสามารถนำ Wikipedia ติดตัวไปด้วยได้! (แต่อาจบริจาคให้พวกเขาถ้าคุณทำเช่นนั้น 'เพราะพวกเขายอดเยี่ยม) หากคุณพอใจกับโค้ด คุณสามารถตั้งค่านี้เป็นเซิร์ฟเวอร์สำรองอัตโนมัติ เซิร์ฟเวอร์เกมไร้สายในพื้นที่สำหรับคุณและเพื่อนของคุณ ฯลฯ สร้างสรรค์ได้เลย!

หากคุณใช้เส้นทางนี้ โปรดแน่ใจว่าคุณรู้เกี่ยวกับความปลอดภัยของเครือข่ายเล็กน้อย เนื่องจากโปรโตคอลรหัสผ่าน WPA2 เพิ่งถูกบุกรุก (ดูด้านล่าง)

สุดท้าย ตามที่กล่าวไว้ในบทนำ คุณสามารถใช้เซิร์ฟเวอร์คลาวด์นี้เพื่อเริ่มต้นอินเทอร์เน็ตของผู้คนได้! มีวันสร้างกับเพื่อน ๆ ของคุณเพื่อสร้างกลุ่มเซิร์ฟเวอร์คลาวด์เพื่อให้ทุกคนสามารถ "พูดคุย" กันได้! แนวทางนี้ไม่จำเป็นต้องเป็นวิธีการ *ดีที่สุด* (หรือที่มีประสิทธิภาพมากที่สุด) ในการสร้างอินเทอร์เน็ตสาธารณะ แต่เป็นจุดเริ่มต้นที่ดี ยิ่งเราเข้าใจวิธีการทำงานของเทคโนโลยีเหล่านี้มากขึ้นเท่าใด เราก็สามารถใช้เทคโนโลยีเหล่านี้ในการแก้ปัญหาร้ายแรงและสนับสนุนตนเองและชุมชนของเราได้ดียิ่งขึ้น:)

ข้อมูลเพิ่มเติมเกี่ยวกับความเสี่ยงด้านความปลอดภัย WPA2 จากผู้ใช้ที่เป็นประโยชน์ BillDauterive:

"[T] ผู้โจมตีต้องการอุปกรณ์ภายในขอบเขตของเครือข่าย wifi เป้าหมายเพื่อเป็นภัยคุกคาม กล่าวคือ การเปิดพอร์ตไปยังเว็บจะไม่ส่งผลกระทบกับสิ่งนั้น หาก [จุดเชื่อมต่อ] ถูกบุกรุก ผู้โจมตีสามารถสอดแนม/แก้ไข การรับส่งข้อมูลบนเครือข่าย Wifi ที่ไม่ได้เข้ารหัสผ่าน TLS บน WLAN ที่ถูกบุกรุก VNC ที่ไม่ได้เข้ารหัสไปยัง Pi จะมีความเสี่ยงแม้ว่าจะเข้าถึงจาก WLAN"

การประกวด Raspberry Pi 2017
การประกวด Raspberry Pi 2017
การประกวด Raspberry Pi 2017
การประกวด Raspberry Pi 2017

รองชนะเลิศการแข่งขัน Raspberry Pi 2017