บริการเช่น Dropbox ช่วยให้คุณเข้าถึงไฟล์บนอุปกรณ์หลายเครื่องได้อย่างง่ายดาย อย่างไรก็ตามคุณอาจต้องการควบคุมมากกว่านี้ ภายในเวลาไม่ถึง 30 นาทีคุณสามารถมีบริการคลาวด์ซิงค์ของคุณเองและทำงานบนเซิร์ฟเวอร์ที่คุณควบคุมผ่าน Nextcloud .
Nextcloud คืออะไร?
Nextcloud เป็นซอฟต์แวร์โอเพ่นซอร์สที่ช่วยให้คุณสามารถซิงค์ไฟล์ระหว่างพีซีและอุปกรณ์อื่น ๆ ได้เช่นเดียวกับที่คุณทำกับ Dropbox, Onedrive หรือ Google Drive นอกจากนี้ Nextcloud ยังมีระบบนิเวศของแอปที่มีชีวิตชีวาซึ่งช่วยให้คุณทำอะไรได้มากกว่าการซิงค์ไฟล์ คุณสามารถใช้ Nextcloud สำหรับปฏิทินและการจัดการรายชื่อติดต่อหรือเรียกใช้ไคลเอ็นต์อีเมล IMAP บนเว็บ คุณยังสามารถตั้งค่าโปรแกรมแชทสดโดยเฉพาะสำหรับคุณและใครก็ตามที่สามารถเข้าถึงเซิร์ฟเวอร์ของคุณได้
ก่อนที่เราจะลงรายละเอียดมีคำเตือน เมื่อคุณเริ่มใช้ Nextcloud คุณจะต้องดูแลเซิร์ฟเวอร์ต่อไป ซึ่งหมายความว่านอกเหนือจากการจัดการซอฟต์แวร์ Nextcloud แล้วคุณต้องตรวจสอบให้แน่ใจว่าระบบปฏิบัติการของเซิร์ฟเวอร์ที่ใช้งานอยู่มีการอัปเดตแพตช์อยู่เสมอ โดยทั่วไปเซิร์ฟเวอร์ Nextcloud จะไม่มีปัญหา แต่หากมีสิ่งผิดปกติเกิดขึ้นคุณจะต้องแก้ไข
ข่าวดีก็คือมีบล็อกมากมาย ฟอรัม และ หน้าความช่วยเหลือ เพื่อช่วยคุณในการแก้ไขปัญหา หากคุณพบปัญหาอาจเป็นไปได้ว่าเกิดกับคนอื่นและมีวิธีแก้ปัญหาอยู่ที่นั่น
สิ่งที่คุณต้องการ
คุณจะต้องมีสามรายการต่อไปนี้เพื่อเริ่มต้นกับ Nextcloud:
- เซิร์ฟเวอร์เสมือนที่ใช้ Ubuntu 18.04
- Bash shell บนเดสก์ท็อปคอมพิวเตอร์ของคุณ
- ชื่อโดเมน
สำหรับตัวอย่างของเราเราจะสร้างชื่อผู้ใช้และรหัสผ่านต่างๆรวมถึงสิ่งต่อไปนี้:
- ชื่อผู้ใช้และรหัสผ่านรูทสำหรับเซิร์ฟเวอร์ของคุณ
- ชื่อผู้ใช้และรหัสผ่านเซิร์ฟเวอร์ปกติพร้อมสิทธิ์ระดับผู้ดูแลระบบ
- ชื่อผู้ใช้และรหัสผ่าน Nextcloud
สำหรับวัตถุประสงค์ของบทช่วยสอนนี้เรากำลังใช้เซิร์ฟเวอร์เสมือนที่ใช้ Ubuntu 18.04 จาก DigitalOcean อย่างไรก็ตามคุณสามารถใช้ผู้ให้บริการใดก็ได้ที่คุณต้องการรวมถึง Linode หรือ AWS . ไม่ว่าคุณจะเลือกใช้บริการใดสิ่งสำคัญคือการเรียกใช้ Ubuntu 18.04 (การสนับสนุนระยะยาวในปัจจุบันในงานเขียนนี้) เพื่อหลีกเลี่ยงปัญหาที่อาจเกิดขึ้น
ผู้ให้บริการเซิร์ฟเวอร์เสมือนทุกรายมีความแตกต่างกันเล็กน้อย แต่พวกเขาทั้งหมดมุ่งหวังที่จะให้เซิร์ฟเวอร์ทำงานได้ด้วยการคลิกเมาส์ไม่กี่ ในการเริ่มต้นเราขอแนะนำให้คุณใช้เซิร์ฟเวอร์ระดับพื้นฐานในการทดลองใช้จนกว่าคุณจะคุ้นเคยกับ Nextcloud Digital Ocean’s หยด $ 5 มี RAM 1 GB, 1 CPU core, การถ่ายโอนข้อมูล 1 TB และพื้นที่เก็บข้อมูล 25 GB Linode เสนอ VPS ที่คล้ายกันในราคาเดียวกัน
หากคุณไม่พอใจกับคีย์ SSH โปรดขอรายละเอียดการเข้าสู่ระบบรูทแบบใช้รหัสผ่านจากผู้ให้บริการของคุณเพื่อเริ่มต้น หลังจากเซิร์ฟเวอร์ของคุณทำงานและคุณพอใจกับบรรทัดคำสั่งแล้วคุณสามารถตรวจสอบหน้าความช่วยเหลือของผู้ให้บริการเกี่ยวกับวิธีเพิ่มคีย์ SSH เพื่อการเข้าสู่ระบบที่ปลอดภัยยิ่งขึ้น
หากคอมพิวเตอร์ของคุณใช้ Windows 10 คุณจะต้องติดตั้ง
ระบบย่อยของ Windows สำหรับ Linux และรับ Bash shell พร้อมยูทิลิตี้ Linux
เพื่อจะดำเนินการต่อ. หากคุณใช้ Linux หรือ macOS โปรแกรม Terminal คือสิ่งที่คุณต้องการ ขั้ว Bash ส่วนใหญ่มาพร้อมกับ SSH ที่ติดตั้ง แต่ถ้าไม่ใช่ให้พิมพ์
sudo apt-get install ssh
ในหน้าต่างเทอร์มินัลเพื่อติดตั้ง
เมื่อคุณ ซื้อชื่อโดเมน ไม่จำเป็นต้องเป็นที่อยู่. COM มีเพียงคุณและเพื่อนสนิทและครอบครัวเท่านั้นที่จะใช้ ตัวอย่างเช่นเราพบชื่อโดเมน. XYZ ในราคาเพียง $ 1 ต่อปีซึ่งใช้ได้ดี
ที่เกี่ยวข้อง: สถานที่ที่ดีที่สุดในการซื้อชื่อโดเมน
เตรียมเซิร์ฟเวอร์ของคุณ
เพื่อให้เซิร์ฟเวอร์ของคุณพร้อมสำหรับการดำเนินการคุณต้องตั้งค่าบัญชีผู้ใช้ปกติที่มีสิทธิ์ระดับผู้ดูแลระบบ เป็นความคิดที่แย่และแย่มากในการเข้าสู่ระบบในฐานะผู้ใช้รูทที่มีประสิทธิภาพทั้งหมดหลังจากการกำหนดค่าเริ่มต้น
ตอนนี้คุณควรมีที่อยู่ IP และรหัสผ่านรูทจากผู้ให้บริการเซิร์ฟเวอร์ของคุณ ที่อยู่ IP คือวิธีที่คุณเชื่อมต่อกับเซิร์ฟเวอร์และรหัสผ่านจะนำคุณเข้ามา
ในการเริ่มต้นพิมพ์ต่อไปนี้ (แทนที่ X ด้วยที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ) จากนั้นกด Enter:
ที่อยู่ IP ของเราคือ 165.22.81.172 ดังนั้นเราจึงพิมพ์สิ่งนั้นในคำสั่งของเรา หากทุกอย่างเป็นไปตามแผนเซิร์ฟเวอร์ระยะไกล (ที่คุณจะใส่ Nextcloud) จะถามรหัสผ่าน พิมพ์รหัสผ่านที่ผู้ให้บริการเซิร์ฟเวอร์ของคุณให้คุณ
จากนั้นระบบจะขอให้คุณตั้งรหัสผ่านใหม่สำหรับรูท เลือกสิ่งที่คุณต้องการอย่าวางผิดหรือลืม!
ตอนนี้คุณอยู่ในเซิร์ฟเวอร์ระยะไกลและถึงเวลาเริ่มทำงาน กด Enter หลังจากแต่ละคำสั่งในบทความนี้เพื่อเรียกใช้
ขั้นแรกให้พิมพ์ข้อความต่อไปนี้เพื่อเพิ่มผู้ใช้ใหม่ในเซิร์ฟเวอร์:
adduser ian
แทนที่“ ian” ด้วยชื่อผู้ใช้ที่คุณต้องการใช้ เมื่อคุณดำเนินการตามคำสั่งนี้ระบบจะขอให้คุณให้รหัสผ่านกับผู้ใช้ใหม่ หลังจากที่คุณทำเช่นนั้นข้อมูลที่เหลือที่เซิร์ฟเวอร์ร้องขอเป็นทางเลือก; หากคุณไม่ต้องการระบุเพียงแค่กด Enter ต่อไป
ต่อไปเราพิมพ์สิ่งต่อไปนี้เพื่อให้สิทธิ์การดูแลระบบผู้ใช้ใหม่ของเรา:
usermod -aG sudo ian
อีกครั้งแทนที่“ ian” ด้วยชื่อผู้ใช้ที่คุณเลือกไว้ก่อนหน้านี้
ตอนนี้เราเปิดหน้าต่างเทอร์มินัลที่สองและพิมพ์สิ่งต่อไปนี้เพื่อให้แน่ใจว่าบัญชีผู้ใช้ใหม่ทำงานได้:
อีกครั้งแทนที่ด้านบนด้วยชื่อผู้ใช้และที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ พิมพ์รหัสผ่านที่คุณสร้างขึ้นสำหรับบัญชีผู้ใช้นี้เมื่อได้รับแจ้ง หากใช้งานได้ให้กลับไปที่หน้าต่างเทอร์มินัลที่คุณล็อกอินด้วยรูท
ตอนนี้เราพิมพ์สิ่งต่อไปนี้เพื่อให้แน่ใจว่าไฟล์ ไฟร์วอลล์ Ubuntu ทำงานอย่างถูกต้อง:
ufw อนุญาตให้ OpenSSH
ufw เปิดใช้งาน
สถานะ ufw
คำสั่งสถานะสุดท้ายควรส่งคืนบางอย่างดังภาพด้านล่างเพื่อยืนยันว่าไฟร์วอลล์จะไม่บล็อก SSH
คุณจะยังไม่เห็นส่วน“ 80, 443 / tcp” แต่เราจะไปต่อในภายหลัง ตอนนี้เรามาปิดหน้าต่างรูทแล้วกลับไปที่หน้าต่างเทอร์มินัลที่สองพร้อมกับผู้ใช้ทั่วไป
การติดตั้ง Nextcloud
มีช่วงเวลาที่คุณต้องกำหนดค่าและติดตั้งซอฟต์แวร์ Nextcloud, PHP, ซอฟต์แวร์เว็บเซิร์ฟเวอร์และฐานข้อมูลทั้งหมดแยกกัน
ใช้แพ็คเกจ Snap อย่างเป็นทางการได้ง่ายกว่ามากซึ่งดูแลทุกอย่างด้วยคำสั่งเดียว ไม่ต้องวุ่นวายกับฐานข้อมูลหรือไม่ต้องกังวลหาก Apache หรือ Nginx ให้บริการไซต์ของคุณ
หากคุณต้องการดูว่าแพ็คเกจ Snap ติดตั้งอะไรบ้าง (สปอยเลอร์: เป็นส่วนที่เหลือ LAMP stack บวก Redis) ตรวจสอบไฟล์ Nextcloud snap repository บน GitHub .
เราพิมพ์สิ่งต่อไปนี้:
sudo snap ติดตั้ง nextcloud
"sudo" ที่จุดเริ่มต้นจะยกระดับบัญชีผู้ใช้ปกติเพื่อให้มีสิทธิ์ในการดูแลระบบชั่วคราว ระบบจะถามรหัสผ่านของคุณเพื่อดำเนินการนี้ หากทุกอย่างเป็นไปด้วยดีในหนึ่งหรือสองนาที Nextcloud จะถูกติดตั้งและ (เกือบ) พร้อมสำหรับการดำเนินการ
ต่อไปเราพิมพ์ข้อความต่อไปนี้เพื่อสร้างบัญชีผู้ใช้ Nextcloud ใหม่ที่สามารถเข้าสู่เว็บไซต์ของเรา:
sudo nextcloud.manual-install ianpaul correctHorseBatteryStaple
แทนที่จะเป็น "ianpaul" ให้พิมพ์ชื่อผู้ใช้ที่คุณต้องการใช้เพื่อเข้าสู่ระบบ Nextcloud บิต“ correctHorseBatteryStaple” คือรหัสผ่านของเรา อย่าใช้มันมาจากที่รู้จักกันดี การ์ตูน XKCD และเป็นเพียงตัวอย่าง
การจัดการกับโดเมน
เพื่อให้ชีวิตง่ายขึ้นเราไม่ต้องการใช้ที่อยู่ IP ตลอดเวลาเพื่อเข้าถึงเซิร์ฟเวอร์ของเรา เราจะใช้ชื่อโดเมนแทนซึ่งอีกครั้งคุณจะได้รับเพียง $ 1 ต่อปี สำหรับตัวอย่างของเราเรากำลังใช้ HowToGeekTest.xyz
เมื่อคุณมีโดเมนแล้วคุณจะต้องจัดการการตั้งค่า DNS จากผู้รับจดทะเบียนโดเมนของคุณ (ที่คุณซื้อโดเมน) และชี้ไปที่ผู้ให้บริการเซิร์ฟเวอร์ของคุณ ตัวอย่างเช่นหากคุณเลือก DigitalOcean การตั้งค่าเหล่านั้นจะเป็น ns1.digitalocean.com, ns2.digitalocean.com และ ns3.digitalocean.com
จากนั้นไปที่ผู้ให้บริการเซิร์ฟเวอร์ของคุณ (เช่น DigitalOcean, Linode หรืออะไรก็ตามที่คุณเลือก) และเพิ่มโดเมนใหม่ในบัญชีของคุณ คุณจะต้องเพิ่มระเบียน A ที่ชี้ไปยังที่อยู่ IP ของคุณระเบียน CNAME หากคุณไม่ต้องการใช้“ www” ตลอดเวลาและระเบียน NS หากไม่ได้เพิ่มโดยอัตโนมัติ
ภาพด้านล่างแสดงตัวอย่างจาก DigitalOcean
ในทางเทคนิคอาจใช้เวลาถึง 24 ชั่วโมงก่อนที่โดเมนของคุณจะพร้อมใช้งาน แต่โดยปกติจะเริ่มทำงานภายในไม่กี่นาที
กลับไปที่ Nextcloud
เมื่อตั้งค่าโดเมนแล้วเราสามารถกลับไปจบ Nextcloud ในเทอร์มินัลได้ หากคุณออกจากเซิร์ฟเวอร์ด้วยบัญชีผู้ใช้ปกติของคุณ ([email protected] ในตัวอย่างของเรา) ให้เข้าสู่ระบบอีกครั้ง
ตอนนี้เราพิมพ์สิ่งต่อไปนี้เพื่อเพิ่มโดเมนใหม่ของเราใน Nextcloud:
sudo nextcloud.occ config: system: set trust_domains 1 --value = howtogeektest.xyz
หลัง“ –value =” พิมพ์ ของคุณ โดเมนมากกว่าของเรา (howtogeektest.xyz)
ต่อไปเราพิมพ์สิ่งต่อไปนี้เพื่อให้แน่ใจว่าได้เพิ่มโดเมนใหม่อย่างถูกต้อง:
sudo nextcloud.occ config: system: รับ trust_domains
เทอร์มินัลควรพิมพ์ออกมาเหมือนภาพด้านล่าง
ต่อไปเราพิมพ์สิ่งต่อไปนี้เพื่อให้แน่ใจว่าเราสามารถใช้พอร์ตที่เราต้องการได้โดยปล่อยผ่านไฟร์วอลล์:
sudo ufw อนุญาต 80,443 / tcp
พอร์ต 80 ถูกใช้โดยทราฟฟิก HTTP ที่ไม่ได้เข้ารหัสในขณะที่ 443 ใช้สำหรับ SSL / TLS
เมื่อพูดถึงเรื่องนี้เราจำเป็นต้องมีใบรับรอง SSL / TLS ฟรีจาก Let’s Encrypt ดังนั้นเราจึงพิมพ์สิ่งต่อไปนี้:
sudo nextcloud.enable-https ช่วยให้เข้ารหัส
เมื่อตัวสร้างการเข้ารหัสของ Let’s เริ่มทำงานระบบจะถามที่อยู่อีเมลและชื่อโดเมน Nextcloud ของคุณ เพียงทำตามคำแนะนำคุณควรมีใบรับรองเว็บไซต์ที่ปลอดภัยในเวลาไม่นาน หาก Let’s Encrypt ได้ผลก็ถึงเวลาทดสอบการตั้งค่าของคุณ
ไปที่โดเมนใหม่ของคุณ (เช่น howtogeektest.xyz) คุณควรเห็นหน้าเข้าสู่ระบบ Nextcloud (ดูด้านล่าง) พร้อมไอคอนล็อกในแถบที่อยู่
หากคุณเห็นหน้าเข้าสู่ระบบคุณก็พร้อมที่จะไป หากไม่เป็นเช่นนั้นโปรดรอสองสามชั่วโมงแล้วลองอีกครั้ง หากคุณต้องการแก้ไขปัญหาทันทีคุณสามารถดูว่าเซิร์ฟเวอร์ตอบสนองผ่านที่อยู่ IP หรือไม่
เพื่อให้ได้ผลเราต้องพิมพ์สิ่งต่อไปนี้เพื่อเพิ่มที่อยู่ IP ไปยังโดเมนที่เชื่อถือได้ของเรา:
sudo nextcloud.occ config: system: set trust_domains 2 --value = 165.22.81.172
โปรดทราบว่าเราใช้“ trust_domains 2” ไม่ใช่“ trust_domains 1” หากคุณทำซ้ำ“ trust_domains 1” คุณจะเขียนทับชื่อโดเมนจริงของคุณในรายการโดเมนที่เชื่อถือได้และจะไม่สามารถใช้งานได้
เมื่อเสร็จแล้วให้พิมพ์ที่อยู่ IP ในแถบที่อยู่ของเบราว์เซอร์แล้วคุณจะเห็นหน้าเข้าสู่ระบบด้านบน หากไม่เป็นเช่นนั้นมีบางอย่างผิดพลาดกับการติดตั้ง
เนื่องจากเราไม่มีใบรับรอง SSL สำหรับที่อยู่ IP จึงไม่สามารถเข้าสู่ระบบได้อย่างปลอดภัย ด้วยเหตุนี้เราขอแนะนำให้คุณลบ IP ออกจากรายการโดเมนที่เชื่อถือได้หลังจากที่คุณยืนยันว่าเซิร์ฟเวอร์กำลังทำงาน โดยพิมพ์ดังต่อไปนี้:
sudo nextcloud.occ config: system: ลบ trust_domains 2
เพิ่มประสิทธิภาพ
หากเซิร์ฟเวอร์ Nextcloud ของคุณทำงานได้ไม่ดีคุณอาจต้องเพิ่มขีด จำกัด หน่วยความจำ โดยค่าเริ่มต้นจะมีขนาด 128 MB หากต้องการเพิ่มเป็น 512 MB คุณต้องลงชื่อเข้าใช้เซิร์ฟเวอร์โดยใช้เทอร์มินัลและพิมพ์ดังต่อไปนี้:
sudo snap set nextcloud php.memory-limit = 512M
.
เมื่อ Nextcloud พร้อมใช้งานแล้วคุณสามารถเข้าสู่ระบบอ่านแอพที่มีแชร์ไฟล์กับผู้อื่นและติดตั้ง Nextcloud บนเดสก์ท็อปและอุปกรณ์มือถือของคุณสำหรับการซิงค์หลายอุปกรณ์ Nextcloud มีเครื่องมือซิงค์เดสก์ท็อปและแอพมือถือ สำหรับ Windows, Mac, Linux, iPhone, iPad และ Android
ยินดีต้อนรับสู่ดรอปบ็อกซ์ส่วนตัวของคุณเอง!