ก่อนที่ฉันจะเริ่มฉันอยากจะบอกว่าฉันค้นหาหัวข้อนี้ ดูเหมือนไม่มีผลลัพธ์ใด ๆ ที่จะตอบคำถามของฉันเกี่ยวกับโฮมเซิร์ฟเวอร์เอนกประสงค์
สวัสดีทุกคน!
ฉันต้องการสร้างโฮมเซิร์ฟเวอร์สำหรับวัตถุประสงค์ต่อไปนี้:
- เก็บไฟล์ / สื่อเป็นข้อมูลสำรองจากพีซีที่สามารถเข้าถึงได้
- สตรีมกล่าวว่าสื่อไปยังคอมพิวเตอร์เฉพาะที่เชื่อมต่อกับมันหรือไปยังทีวีที่เชื่อมต่อกับเซิร์ฟเวอร์
- เซิร์ฟเวอร์เกมสำหรับ minecreaft / terraria / etc (จะไม่ทำงาน 100% ของเวลาและฉันจะต้องการปิดและเปิดเพื่อเพิ่มหน่วยความจำสำหรับงานอื่น ๆ เมื่อจำเป็น
- เข้าถึงไฟล์และสตรีมจากอินเทอร์เน็ตเพื่อให้ฉันสามารถเข้าถึงได้ทุกที่หากจำเป็น
ฉันต้องการให้มีหลายบัญชีผู้ใช้หลายคนในบ้านสามารถมีไฟล์ของตัวเองได้ด้วยการอนุญาตส่วนตัวและแต่ละคนสามารถสตรีมสื่อที่พวกเขาเท่านั้นที่สามารถเข้าถึง (เช่นเดียวกับสตรีมสาธารณะสำหรับผู้ใช้ทั้งหมด - แต่ไม่ใช่แขก)
ฉันยังต้องการที่จะสามารถเข้าถึงได้จากอินเทอร์เน็ตถ้าเป็นไปได้ วิธีนี้ถ้าฉันต้องการฉันสามารถเชื่อมต่อได้จากทุกที่และดึงไฟล์จากมัน ฉันรู้ว่านี่อาจเป็นเรื่องยากเนื่องจาก IP ภายนอกของฉันอาจไม่คงที่ (เนื่องจาก บริษัท หลายแห่งเช่น comcast, ISP ที่ฉันโชคไม่ดี) จริง ๆ แล้วอาจเปลี่ยน IP ภายนอกของคุณเป็นครั้งคราว (แต่ไม่บ่อยมาก) ฉันซื้อชื่อโดเมนสำหรับเซิร์ฟเวอร์จาก namecheap ที่ให้บริการ Dynamic DNS แก่ลูกค้า วิธีนี้จะสามารถอัปเดต IP หันภายนอกที่ถูกต้องได้
พื้นหลังเล็กน้อยเกี่ยวกับตัวฉัน: ฉันเป็นสาขาวิชาฟิสิกส์และไฟฟ้ามีสาขาวิชาวิทยาศาสตร์คอมพิวเตอร์เล็กน้อย ฉันรู้ส่วนแบ่งที่ยุติธรรมของ C, C ++ และ python แต่ฉันไม่รู้ PHP หรือภาษาเซิร์ฟเวอร์อื่น ๆ ฉันมีความคุ้นเคยกับ windows / osx / linux แต่ทักษะ linux / terminal ของฉันไม่ได้คุณภาพดี
ฉันพยายามตั้งค่าเว็บเซิร์ฟเวอร์ที่บ้านในอดีต แต่โรงเรียนเข้ามาขวางทางฉันจึงยุ่งเกินกว่าที่จะติดตามมัน นอกจากนี้ฉันพบว่าการโฮสต์เว็บไซต์จากที่บ้านมักเป็นเพียงความคิดที่แย่เพราะมันไม่น่าเชื่อถือมีปัญหาด้านความปลอดภัยมากมายและอื่น ๆ ตอนนี้ฉันมีเวลามากขึ้นและต้องการสร้างสื่อในบ้านและไฟล์เซิร์ฟเวอร์ซึ่งสามารถโฮสต์เกมได้ สามารถสำรองและจัดเก็บไฟล์ได้อย่างง่ายดาย
ฉันจะเริ่มทำสิ่งนี้ได้อย่างไร ฉันจะแน่ใจได้อย่างไรว่าเซิร์ฟเวอร์เข้ากันได้กับ windows / OSX / Linux
ฉันหวังว่าจะทำให้มันเป็นเซิร์ฟเวอร์ linux เพราะฉันรู้ว่ามันอาจจะดีที่สุด (แม้ว่าฉันจะไม่ใช่ผู้เชี่ยวชาญของ linux)
หากฉันสามารถเชื่อมต่อกับอินเทอร์เน็ต (ดังนั้นฉันสามารถเข้าถึงไฟล์เหล่านี้ได้จากทุกที่) ฉันจะรักษาความปลอดภัยได้อย่างไร? ฉันจะสร้างได้อย่างไรเพื่อให้ผู้ใช้ที่เฉพาะเจาะจงเท่านั้นที่สามารถเข้าสู่ระบบได้?
ฉันมีคอมพิวเตอร์อยู่ในใจนี่คือรายละเอียดของมัน ไม่มีการอัพเกรดเพิ่มเติม (ดังนั้นจึงมี RAM ที่มาพร้อมกับ - 8GB) ทุกสิ่งที่มาพร้อมกับสิ่งที่มันมี
ฉันมีฮาร์ดแวร์ที่ฉันอยู่ในรายการ เป็นเดสก์ท็อปที่เก่าแก่มาก (อ่าน: 6 ปี) ฉันกลับมาได้ซักพักแล้ว ฉันต้องการให้มันเป็นโครงงานบางส่วน แต่มีช่วงการเรียนรู้ที่ง่าย ฉันไม่ต้องการเขียนแอพพลิเคชั่นบริการสตรีมมิ่งของตัวเอง แต่ฉันไม่ต้องการให้ทุกคน "ตั้งค่าและลืมมัน" เพราะฉันต้องการเรียนรู้พื้นฐานของอุปกรณ์เครือข่ายและการเชื่อมต่อเซิร์ฟเวอร์กับอินเทอร์เน็ตเพื่อการถ่ายโอนไฟล์ / การควบคุมระยะไกล / ฯลฯ
ฉันไม่รู้ว่าการทำเวอร์ชวลไลซ์ทุกอย่างดีที่สุดด้วยเหตุผลสองประการ: 1) การจำลองเสมือนต้องการ RAM มากกว่า 2) ดูเหมือนว่าซับซ้อนสำหรับงานนี้ฉันต้องการที่จะควบคุมทุกอย่างจากระยะไกลเช่นกัน เครื่องหยุดทำงานฉันจะเริ่มจากระยะไกลได้อย่างไร (บางทีนี่อาจไม่ใช่ปัญหา)
ฉันได้ตรวจสอบบางสิ่งเช่น Plex และ OwnCloud แต่ฉันต้องการให้แน่ใจว่าพวกเขารวม (เช่นฉันสามารถอัปโหลดสื่อไปยังเซิร์ฟเวอร์ด้วย OwnCloud ซึ่ง Plex สามารถสตรีมได้) ฉันเปิดรับทางเลือกโดยสิ้นเชิงฉันพูดถึงเพล็กซ์และ OwnCloud เท่านั้นเพราะพวกเขาเข้ามาในการวิจัยของฉัน นอกจากนี้ฉันต้องการให้ผู้ใช้หลายคนสามารถเข้าถึงเซิร์ฟเวอร์ในเวลาเดียวกัน (การส่งกระแสข้อมูลไปยังอุปกรณ์ต่าง ๆ พร้อมกัน - ด้วยสื่อเดียวกันหรือต่างกันดาวน์โหลด / อัพโหลดไฟล์ขณะที่คนอื่นสตรีม ฯลฯ )