จะสร้างเซิร์ฟเวอร์ภายในบ้านโดยใช้เดสก์ท็อป Ubuntu ได้อย่างไร


26

ฉันคิดว่าจะสร้างเครื่องเดสก์ท็อป Ubuntu ในไฟล์เซิร์ฟเวอร์เพื่อใช้งานที่บ้าน ฉันมีแล็ปท็อปเครื่องเก่าหนึ่งเครื่อง ฉันสามารถใช้มันเป็นไฟล์เซิร์ฟเวอร์ได้หรือไม่เพื่อให้ 4 ระบบอื่น ๆ ของฉันสามารถดาวน์โหลดข้อมูลหรือดูข้อมูลจากเครื่องเก่า (เซิร์ฟเวอร์) ฉันต้องการทำให้ไร้สายและต้องการเข้าถึงอินเทอร์เน็ตด้วยและมีเราเตอร์ แต่ฉันไม่มีความคิดใด ๆ วิธีการทำบน Ubuntu Desktop หรือเซิร์ฟเวอร์ Ubuntu ฉันไม่ต้องการติดตั้งเซิร์ฟเวอร์ Ubuntu

ต้องการแบ่งปันไดรฟ์ของฉันทั้งหมด ต้องการรหัสผ่านหรือความปลอดภัยบางประเภทเพื่อให้บางโฟลเดอร์ จำกัด การเข้าถึง

* ผมเห็นสำหรับขั้นตอนวิธีการที่ฉันสามารถทำมันได้และวิธีการเข้าถึงจากคอมพิวเตอร์เครื่องอื่น ๆ *

ฉันเหนื่อยกับการใช้filezillaแต่ใน Ubuntu มันเป็นแอพพลิเคชั่นที่ทำงานบนไคลเอนต์ มันมีอะไรเช่นเซิร์ฟเวอร์ filezilla ในอูบุนตู

อีกระบบอยู่บน windows และ Ubuntu
ฉันยังใหม่กับระบบเครือข่ายและเซิร์ฟเวอร์ที่ให้ความช่วยเหลือใด ๆ


คุณมีลูกค้าประเภทใดในเครือข่ายของคุณ Windows, Linux เท่านั้น, อุปกรณ์พกพา, เครื่องเล่นมีเดีย ฯลฯ ที่เกี่ยวข้องมากเพื่อให้คำแนะนำเกี่ยวกับชนิดของโปรโตคอลและแอปพลิเคชันเซิร์ฟเวอร์ที่สามารถทำได้
gertvdijk

@gertvdijk: Windows และ Linux ทั้งคู่
twister_void

1
คุณจะถามคุณจะใช้เซิร์ฟเวอร์ GUI ของคุณตามใหม่หรือ terminal ตาม ฉันหมายความว่าอย่างนี้คุณจะติดตั้ง Ubuntu Desktop แล้วทำให้คอมพิวเตอร์เป็นเซิร์ฟเวอร์หรือคุณจะติดตั้งเซิร์ฟเวอร์ Ubuntu แล้วติดตั้งบริการ ฉันต้องการที่จะรู้ก่อนที่ฉันจะเริ่มพิมพ์คำตอบเนื่องจากทั้งสองกรณีฉันต้องอธิบายสิ่งต่างๆมากมาย
Luis Alvarado

@ LuisAlvarado ฉันต้องการสร้างเซิร์ฟเวอร์ GUI ระบบของฉันโดยใช้ Ubuntu Desktop ข้อความของคุณ "ติดตั้ง Ubuntu Desktop แล้วทำให้คอมพิวเตอร์เป็นเซิร์ฟเวอร์" คำตอบคือชื่นชมมากขึ้น
twister_void

คำตอบ:


19

เนื่องจากคุณต้องการเซิร์ฟเวอร์ที่ใช้ GUI (ซึ่งเป็น Ubuntu Desktop แปลงเป็นเซิร์ฟเวอร์ที่ยอดเยี่ยม;)) จากนั้นทำตามขั้นตอนต่อไปนี้ก่อนที่จะดำเนินการต่อ:

  1. อัปเดตทุกอย่าง ตรวจสอบให้แน่ใจว่าคุณได้อัปเดตและอัปเกรดระบบแล้ว

    sudo apt-get update && sudo apt-get upgrade

    วิธีนี้เราอยู่ในหน้าเดียวกัน

  2. ตรวจสอบให้แน่ใจว่าการ์ดไร้สายของคุณทำงานอย่างถูกต้อง หากคุณเกิดขึ้นจะมีการ์ดไร้สายของ Broadcom ตามตรวจสอบการติดตั้งไดร์เวอร์ของ Broadcom ไร้สาย หากคุณมีคำถามอื่นมันมีโอกาสมากที่คุณจะพบคำตอบใน Askubuntu หลังจากค้นหาด้วยชื่อการ์ดไร้สาย อย่างไรก็ตามฉันจะถือว่ามันทำงานอย่างถูกต้อง

  3. ติดตั้งบริการแซมบ้าและกำหนดค่าโดยทำตามวิธีเปิดใช้งานการค้นหาเครือข่ายและแบ่งปันระหว่างคอมพิวเตอร์ที่มีแซมบ้า

  4. การติดตั้งบริการ SSH (ส่วนใหญ่จะช่วยให้คุณสะดวกระหว่างคอมพิวเตอร์ Ubuntu 2 เครื่อง) โดยทำตามวิธีเปิดใช้งานการแชร์ไฟล์ระหว่างพีซีสองเครื่อง . คุณสามารถใช้สีโป๊วใน Windows ได้หากต้องการ A วิธีใช้ SSH (คำสั่ง ssh & rsync) คู่มือยังมีอยู่

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

  6. หากคุณต้องการแชร์เครื่องพิมพ์กับคอมพิวเตอร์เครื่องอื่นคุณสามารถติดตามเซิร์ฟเวอร์ CUPS คืออะไรและวิธีแบ่งปันเครื่องพิมพ์ (ในเครื่องหรือในเครือข่าย)

  7. เนื่องจากคุณจะสร้างเซิร์ฟเวอร์ฉันขอแนะนำให้ติดตั้งSQUID PROXYหากคุณแบ่งปันการเชื่อมต่ออินเทอร์เน็ตผ่านเซิร์ฟเวอร์ นี้จะช่วยปรับปรุงการใช้งานแบนด์วิดธ์ทั่วไปและมันจะรู้สึกเหมือนอินเทอร์เน็ตเป็นเร็วขึ้นสำหรับคอมพิวเตอร์ของลูกค้าทั้งหมด หากต้องการติดตั้งให้ทำตามคำตอบแรกในเซิร์ฟเวอร์เว็บแคชที่อัปเดตแล้วพร้อมใช้งาน (แคชพร็อกซี HTTP) (โดย Rinzwind)

    อย่าลืมกำหนดค่า squid proxy ใน/etc/squid/squid.confหรือ/etc/squid3/squid.confสำหรับการอนุญาตไซต์สิ่งที่ควรกลับรายการแคชและสิ่งอื่น ๆ

    หลังจากทำตาม 7 ขั้นตอนเราควรมีระบบที่

    • สามารถแชร์โฟลเดอร์กับคอมพิวเตอร์เครื่องอื่นใน LAN และพวกเขาสามารถดูโฟลเดอร์ที่แชร์ได้โดยไม่ต้องยุ่งยากสิทธิ์หรือขั้นตอนเพิ่มเติมมากเกินไป

    • สามารถเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน SSH หรือ Samba ได้อย่างไม่มีปัญหา

    • เซิร์ฟเวอร์สามารถแบ่งปันอินเทอร์เน็ตผ่านการเชื่อมต่อแบบไร้สายหรือแบบมีสาย

    • ขณะนี้เซิร์ฟเวอร์สามารถแบ่งปันเครื่องพิมพ์กับคอมพิวเตอร์เครื่องอื่น ๆ รวมถึง Windows ได้เหมือนกัน

แจ้งให้เราทราบหากขั้นตอนใด ๆ นี้ดูเหมือนจะยากที่จะช่วยเหลือคุณตลอดทาง

สิ่งเพิ่มเติมสามารถติดตั้งxbmcและใส่ภาพยนตร์ทั้งหมดบนเซิร์ฟเวอร์ จากนั้นผ่านตัวเลือกการกำหนดค่า xbmc เปิดใช้งานบริการบนเว็บเพื่อให้คอมพิวเตอร์ส่วนที่เหลือสามารถดูภาพยนตร์จากเซิร์ฟเวอร์เดียวกัน มีหลายสิ่งที่คุณสามารถทำได้จริง ๆ กับเซิร์ฟเวอร์อูบุนตู


ว้าว!!!!!!! มันมี 9 คำถามที่แบ่งเป็น 1
Aditya

ทำไมมันเป็น;) คำถามของเขาต้องการคำตอบมากมายสำหรับเซิร์ฟเวอร์ที่ถูกต้อง
Luis Alvarado

@ LuisAlvarado ขอบคุณ Luis Alvarado คำตอบที่ดี
twister_void

6

คุณทำได้ดีกับไฟล์เซิร์ฟเวอร์ samba

คุณสามารถติดตั้งได้ sudo apt-get install samba

ก่อนอื่นให้แก้ไขคู่คีย์ / ค่าต่อไปนี้ในส่วน [global] ของ /etc/samba/smb.conf:

   workgroup = EXAMPLE
   ...
   security = user

พารามิเตอร์ความปลอดภัยอยู่ไกลออกไปในส่วน [ทั่วโลก] และความเห็นโดยค่าเริ่มต้น นอกจากนี้ให้เปลี่ยนตัวอย่างเพื่อให้ตรงกับสภาพแวดล้อมของคุณมากขึ้น

สร้างส่วนใหม่ที่ด้านล่างของไฟล์หรือยกเลิกการคอมเม้นต์ของตัวอย่างเพื่อไดเรกทอรีที่จะแชร์:

[share]
    comment = Ubuntu File Server Share
    path = /srv/samba/share
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0755

    comment: a short description of the share. Adjust to fit your needs.

    path: the path to the directory to share.

ตัวอย่างนี้ใช้ / srv / samba / sharename เนื่องจากตามมาตรฐานระบบไฟล์ลำดับชั้น (FHS) / srv เป็นตำแหน่งที่ควรให้บริการข้อมูลเฉพาะไซต์ ในทางเทคนิคแล้วแซมบ้าสามารถแชร์ได้ทุกที่บนระบบไฟล์ตราบใดที่สิทธิ์อนุญาตถูกต้อง แต่แนะนำให้ปฏิบัติตามมาตรฐาน

เรียกดูได้: เปิดใช้งานไคลเอนต์ Windows เพื่อเรียกดูไดเรกทอรีที่แชร์โดยใช้ Windows Explorer

guest ok: allows clients to connect to the share without supplying a password.

อ่านอย่างเดียว: พิจารณาว่าจะแชร์แบบอ่านอย่างเดียวหรือให้สิทธิ์การเขียน สิทธิ์การเขียนอนุญาตเฉพาะเมื่อค่าไม่ใช่ตามที่เห็นในตัวอย่างนี้ หากค่าเป็นใช่การเข้าถึงการแชร์จะเป็นแบบอ่านอย่างเดียว

create mask: determines the permissions new files will have when created.

เมื่อแซมบ้าได้รับการกำหนดค่าแล้วไดเรกทอรีจะต้องถูกสร้างขึ้นและการอนุญาตเปลี่ยนแปลง จากเทอร์มินัลให้ป้อน:

sudo mkdir -p /srv/samba/share
sudo chown nobody.nogroup /srv/samba/share/

[Note]  

The -p switch tells mkdir to create the entire directory tree if it doesn't exist. Change the share name to fit your environment.

ในที่สุดเริ่มบริการ samba เพื่อเปิดใช้งานการกำหนดค่าใหม่:

sudo restart smbd
sudo restart nmbd

เครดิตมาที่นี่: แซมบ้าและสำหรับข้อมูลเพิ่มเติมคุณเห็นด้วย


นี่เป็นเพียงการตัดและวาง
don.joey

2
ใช่ & ฉันพูดถึงเครดิตที่จะไป
rɑːdʒɑ

เกินไป. ซับซ้อน.
Jebeld17

4

การติดตั้งopenssh-serverจะช่วยให้คุณสามารถเข้าถึงไดรฟ์ทั้งหมดของคุณอย่างปลอดภัยผ่านอินเทอร์เน็ตหรือจากอุปกรณ์ในบ้านของคุณตราบใดที่พวกเขาสนับสนุน sFTP หากไม่มีเหตุผลใด ๆ การแบ่งปันแซมบ้าสามารถเพิ่มเติมได้ตามรายละเอียดในคำตอบอื่น นี่คือวิธีการตั้งค่าของฉัน:

ติดตั้งเซิร์ฟเวอร์ OpenSSH :apt-get install openssh-server

เปิดพอร์ต 22 : มีหลายวิธีในการทำเช่นนี้ฉันใช้gufw(คุณอาจต้องติดตั้งฉันไม่แน่ใจว่ามันเป็นค่าเริ่มต้น) หากคุณต้องการเปิดอินเทอร์เน็ตในภายหลังคุณจะต้องส่งต่อพอร์ต 22 ไปยังเซิร์ฟเวอร์จากเราเตอร์ของคุณ โดยปกติคุณสามารถทำได้ผ่านเว็บอินเตอร์เฟสบนเราเตอร์ หากทำได้ให้กำหนด IP แบบคงที่ให้เซิร์ฟเวอร์ที่นั่นด้วย (เช่นปิด DHCP สำหรับเซิร์ฟเวอร์)

แก้ไขการตั้งค่า ssh : สำรองข้อมูลและเปิดไฟล์/etc/ssh/sshd_configและเปลี่ยน / เพิ่มการตั้งค่า

PermitRootLogin no
AllowUsers guarav_java other_user_if_necessary

เพื่อความปลอดภัยสูงสุดคุณสามารถตั้งค่าการเข้าสู่ระบบโดยใช้คีย์ได้ตามรายละเอียดที่นี่https://help.ubuntu.com/community/SSH/OpenSSH/Keysแต่จะพอเพียงถ้าคุณตั้งรหัสผ่านที่แข็งแกร่งมากและบันทึกไว้ใน เครื่องไคลเอนต์แต่ละ

คุณอาจต้องการสร้างผู้ใช้สำหรับการเชื่อมต่อแต่ละคน ถ้าคุณทำเช่นนั้นคุณสามารถเพิ่มทั้งหมดไปยังกลุ่มเดียวกัน (ssh_users พูด) AllowGroups ssh_usersและอนุญาตให้ทุกคนในกลุ่มที่ใช้ในการเชื่อมต่อ (สำหรับข้อมูลเพิ่มเติมดูhttp://knowledgelayer.softlayer.com/learning/how-do-i-permit-specific-users-ssh-access )

ตรวจสอบการตั้งค่าที่ถูกต้อง : คุณสามารถตรวจสอบว่าคุณได้ทำข้อผิดพลาดทางไวยากรณ์ในไฟล์ปรับแต่งด้วยหรือไม่sshd –t

เชื่อมต่อจากเซิร์ฟเวอร์กับตัวเอง : ณ จุดนี้คุณควรสามารถเชื่อมต่อกับเครื่องจากตัวเองใน terminal โดยssh localhost(สมมติว่าคุณมีอยู่แล้วopenssh-client) ssh <ip-address>จากนั้นลองจากเครื่องอื่นบนเครือข่ายของคุณ

หาก ip ของเซิร์ฟเวอร์เป็นแบบคงที่ในเครือข่ายในบ้านของคุณคุณสามารถเพิ่มรายการลง/etc/hostsในคอมพิวเตอร์ Ubuntu ที่เชื่อมต่อกับบรรทัดนั้นได้

server_ip_address        theserver

นี่จะหมายความว่าคุณสามารถเชื่อมต่อได้ง่ายๆssh theserverหรืออะไรก็ตามที่คุณเรียกว่า คุณสามารถทำเช่นเดียวกันสำหรับ Windows (ดูที่นี่: http://helpdeskgeek.com/windows-7/windows-7-hosts-file/ )

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

gvfs-mount sftp://user@ipaddress
gvfs-mount -u sftp://user@ipaddress

( -uแฟล็กคือคำสั่ง umount)

นำผู้ที่เป็น "คำสั่ง:" กล่องของการตั้งค่าระบบ> คีย์บอร์ด> ลัด> ลัดที่กำหนดเอง> + (ทางลัดใหม่) ให้มันชื่อคลิกนำไปใช้แล้วคลิกคอลัมน์ด้านขวาและป้อนคีย์ผสม ( CTRL+SHFT++และCTRL+SHFT+-ตามลำดับดูเหมือนตรรกะ) .

คุณสามารถเปลี่ยนที่อยู่ IP /etc/hostsกับสิ่งที่อยู่ใน สิ่งนี้จะเมานต์เซิร์ฟเวอร์เป็นไดรฟ์ใน Nautilus และคุณสามารถเรียกดูโฟลเดอร์เช่นเดียวกับที่อยู่ในเครื่องคอมพิวเตอร์ของคุณ ใน Windows คุณสามารถเชื่อมต่อโดยใช้ซอฟต์แวร์ FTP (Filezilla เป็นต้น) ฉันไม่ได้ลอง แต่ฉันแน่ใจว่าอาจมีการรวม sFTP ใน Windows Explorer ด้วยเช่นกัน

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

การเชื่อมต่อจากภายนอก : ขั้นตอนสุดท้ายคือดูว่าคุณสามารถเชื่อมต่อจากอินเทอร์เน็ตเช่นประตูถัดไปหรืออะไรก็ตาม หากคุณไม่ได้มีที่อยู่ ip แบบคงที่สำหรับบ้านของคุณมันอาจเป็นเรื่องยุ่งยากในการติดตามที่อยู่ IP ของคุณ ฉันใช้บริการ dns แบบไดนามิก ( http://afraid.org/เป็นบริการฟรี) เป็นการส่วนตัว แต่คุณอาจพบโซลูชันอื่นที่ดีกว่า จากนั้นคุณจะแทนที่ ipaddress ในคำสั่ง mount ข้างต้นด้วยที่อยู่เว็บแบบไดนามิกซึ่งชี้ไปยังเครือข่ายในบ้านของคุณ

หนึ่งคำแนะนำด้านความปลอดภัยขั้นสุดท้ายเก็บแท็บไว้ในบันทึก SSH ของคุณหากคุณไปเพื่อสิ่งนี้ ( /var/log/auth.log) เพื่อให้แน่ใจว่าไม่มีอะไรเกิดขึ้น หากคุณพบว่า Fail2Ban เป็นทางออกหนึ่ง ( http://www.fail2ban.org/wiki/index.php/Main_Pageและhttps://help.ubuntu.com/community/Fail2ban ) เพื่อลดความเสี่ยงคุณสามารถเปลี่ยนพอร์ต SSHD เพื่อฟังสิ่งที่ไม่ได้มาตรฐานเช่น 500 และเปลี่ยนกฎการส่งต่อพอร์ตที่สอดคล้องกันในเราเตอร์ของคุณและไฟร์วอลล์ของเซิร์ฟเวอร์ (ทำไม: https://serverfault.com/questions/189282 / Why-change-default-ssh-port ) แม้ว่าฉันจะไม่ได้ทำการทดสอบด้วยตัวgvfs-mountเอง


2

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


1
ฉันต้องการแชร์ไดรฟ์ทั้งหมดของฉันรวมถึงโฟลเดอร์บ้านผ่านเครือข่ายท้องถิ่นระบบเหล่านี้มี Ubuntu และ Windows ดังนั้นฉันจะแบ่งปันได้อย่างไร
twister_void

เปิดเทอร์มินัล: "Sudo nautilus" ระบบไฟล์ <หน้าแรก (คลิกขวา) <ตัวเลือกการแชร์ คุณอาจต้องแก้ไขการอนุญาตด้วย แต่ลองโดยไม่ต้องแก้ไขการอนุญาตก่อน โฮมไดเรกทอรีคือไดเรกทอรีเดียวที่ฉันแนะนำให้แชร์ คนอื่นเสี่ยงเกินไปและอาจทำให้ระบบไฟล์ของคุณเสียหาย
Jebeld17
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.