ในการเชื่อมต่อบัคเก็ตที่ใช้งานร่วมกับ S3 ได้ใน Nextcloud ให้เปิดใช้งานแอปสนับสนุนพื้นที่จัดเก็บข้อมูลภายนอกที่ติดตั้งมา ในตัว เพิ่มรายการพื้นที่จัดเก็บข้อมูล Amazon S3ในการตั้งค่าพื้นที่จัดเก็บข้อมูลภายนอกของผู้ดูแลระบบ และระบุข้อมูลประจำตัวของบัคเก็ต รวมถึงรายละเอียดปลายทางของผู้ให้บริการ Nextcloud ใช้แบ็กเอนด์ Amazon S3 สำหรับบริการที่เข้ากันได้ คุณไม่จำเป็นต้องติดตั้งแอปแยกต่างหากสำหรับผู้ให้บริการ S3 แต่ละราย ชื่อโฮสต์ ภูมิภาค และรูปแบบเส้นทางที่แน่นอนจะขึ้นอยู่กับผู้ให้บริการพื้นที่จัดเก็บข้อมูลแบบอ็อบเจ็กต์
คู่มือนี้อ้างอิงจากเอกสารการดูแลระบบ Nextcloud ฉบับปัจจุบันสำหรับแบ็กเอนด์ S3 และพื้นที่จัดเก็บข้อมูลภายนอก ซึ่งได้รับการตรวจสอบเมื่อวันที่ 6 ตุลาคม 2026 ป้ายกำกับอาจแตกต่างกันเล็กน้อยระหว่างเวอร์ชันเซิร์ฟเวอร์และธีมต่างๆ การเข้าถึงไดรฟ์ที่เชื่อมต่ออาจทำได้ แต่การทำงานอาจแตกต่างจากโฟลเดอร์ Nextcloud ในเครื่อง โดยเฉพาะอย่างยิ่งเมื่อไฟล์ถูกแก้ไขโดยตรงในบัคเก็ต
คุณควรตรวจสอบอะไรบ้างก่อนที่จะใส่ถัง?
โปรดตรวจสอบรายละเอียดเหล่านี้กับผู้ให้บริการ S3 ของคุณก่อนเปิดการตั้งค่า Nextcloud:
- ชื่อบัคเก็ตและข้อมูลประจำตัวสำหรับคีย์การเข้าถึง
- ชื่อโฮสต์ปลายทาง S3 ทั่วไปของผู้ให้บริการ เช่น
s3.example.netให้ใช้ชื่อปลายทางนั้นโดยตรง ไม่ใช่ URL เฉพาะของแต่ละบัคเก็ตที่มีชื่อบัคเก็ตอยู่แล้ว - ภูมิภาคหรือภูมิภาคที่ลงนาม หากผู้ให้บริการต้องการ
- ควรใช้รูปแบบโฮสต์เสมือน (
https://bucket.endpoint/) หรือรูปแบบเส้นทาง ( https://endpoint/bucket) ในการร้องขอ - พอร์ต HTTPS ซึ่งโดยปกติคือ 443 และตรวจสอบว่าเซิร์ฟเวอร์ของคุณสามารถเข้าถึงปลายทางนั้นผ่านไฟร์วอลล์และ DNS ได้หรือไม่
สร้างคีย์การเข้าถึงเฉพาะสำหรับการเชื่อมต่อนี้ และจำกัดสิทธิ์การเข้าถึงให้เฉพาะบัคเก็ตและการดำเนินการที่จำเป็นเท่านั้น ห้ามคัดลอกรหัสลับลงในตั๋ว ภาพหน้าจอ หรือประวัติคำสั่งเชลล์ การตั้งค่า S3 ของ Nextcloud ต้องการรหัสคีย์การเข้าถึงและคีย์การเข้าถึงลับ และจะไม่ตรวจสอบนโยบายสิทธิ์เฉพาะของผู้ให้บริการทุกรายให้คุณโดยอัตโนมัติ
นี่เหมือนกับการตั้งค่า S3 ให้เป็นพื้นที่จัดเก็บข้อมูลหลักของ Nextcloud ใช่หรือไม่?
ไม่ การเชื่อมต่อพื้นที่จัดเก็บข้อมูลภายนอกจะทำให้บัคเก็ตที่มีอยู่ปรากฏเป็นโฟลเดอร์ภายใน Nextcloud ซึ่งมีประโยชน์เมื่อคุณต้องการเรียกดูหรือจัดการไฟล์ในบัคเก็ตโดยที่บัคเก็ตยังคงสามารถเข้าถึงได้จากเครื่องมือ S3 อื่นๆ ส่วนพื้นที่จัดเก็บข้อมูลแบบอ็อบเจ็กต์หลักนั้นเป็นสถาปัตยกรรมระดับเซิร์ฟเวอร์ที่แตกต่างออกไป โดยมีข้อสมมติฐานในการใช้งานที่แตกต่างกัน หากคุณจำเป็นต้องเลือกระหว่างสองอย่างนี้ โปรดตรวจสอบเอกสารประกอบเกี่ยวกับพื้นที่จัดเก็บข้อมูลแบบอ็อบเจ็กต์หลัก ของ Nextcloud ก่อนที่จะเปลี่ยนแปลงการออกแบบข้อมูลในระบบการผลิต
จะเพิ่มการเชื่อมต่อที่เข้ากันได้กับ S3 ในเว็บอินเตอร์เฟสได้อย่างไร?
1. เปิดใช้งานการรองรับอุปกรณ์จัดเก็บข้อมูลภายนอก
ลงชื่อเข้าใช้ในฐานะผู้ดูแลระบบ Nextcloud เปิดแอปแล้วเปิดใช้งาน แอป สนับสนุนพื้นที่จัดเก็บข้อมูลภายนอก ที่มาพร้อม กับ Nextcloud แอปนี้รวมอยู่ใน Nextcloud แล้ว แต่อาจถูกปิดใช้งานโดยค่าเริ่มต้น หากเปิดใช้งานอยู่แล้ว ให้ดำเนินการต่อที่การตั้งค่าพื้นที่จัดเก็บข้อมูล
2. เปิดหน้า "พื้นที่จัดเก็บข้อมูลภายนอก" ของผู้ดูแลระบบ
เปิดเมนูโปรไฟล์ของคุณ เลือกการตั้งค่าจากนั้นค้นหาพื้นที่จัดเก็บข้อมูลภายนอกในส่วน การดูแลระบบ หน้านี้ใช้สำหรับกำหนดค่าการเชื่อมต่อพื้นที่จัดเก็บข้อมูลโดยผู้ดูแลระบบ พื้นที่จัดเก็บข้อมูลที่ผู้ใช้แต่ละคนกำหนดค่าในส่วนการตั้งค่าส่วนบุคคลจะใช้งานได้เฉพาะผู้ใช้นั้นเท่านั้น ในขณะที่การเชื่อมต่อที่ผู้ดูแลระบบกำหนดค่าไว้สามารถใช้งานได้โดยผู้ใช้และกลุ่มที่เลือกไว้เท่านั้น
3. สร้างการเชื่อมต่อและเลือกแบ็กเอนด์ S3
ในแถวใหม่ ให้ป้อนชื่อโฟลเดอร์ ง่ายๆ เช่น `< Archivefolder name="...">` นี่จะเป็นชื่อโฟลเดอร์ที่แสดงใน Nextcloud และต้องเป็นชื่อ ไม่ใช่เส้นทาง ห้ามใส่เครื่องหมายทับ ในตัวเลือกประเภทพื้นที่จัดเก็บ ให้เลือกAmazon S3ภายใต้การตรวจสอบสิทธิ์ ให้เลือก`Access key`
4. ป้อนชื่อบัคเก็ตและข้อมูลประจำตัว
ป้อนชื่อบัคเก็ต รหัสเข้าถึง และรหัสเข้าถึงลับจากผู้ให้บริการของคุณให้ถูกต้อง โปรดถือว่ารหัสลับนี้เป็นรหัสผ่าน เอกสารของ Nextcloud ระบุว่าชื่อบัคเก็ตสำหรับแบ็กเอนด์นี้ต้องเป็นไปตามข้อกำหนดการตั้งชื่อของ AWS S3 แม้ว่าบริการจะโฮสต์อยู่ที่อื่นก็ตาม เครื่องหมายขีดล่าง (_) ไม่เป็นที่ยอมรับ หากชื่อบัคเก็ตของผู้ให้บริการมีเครื่องหมายขีดล่าง โปรดตรวจสอบว่าผู้ให้บริการมีชื่อบัคเก็ตที่เข้ากันได้หรือไม่ก่อนที่จะแก้ไขปัญหาเกี่ยวกับข้อมูลรับรอง
5. ตั้งค่าปลายทาง ภูมิภาค และรูปแบบการร้องขอ
สำหรับ S3 ที่โฮสต์โดย Amazon ให้ระบุภูมิภาคที่ถูกต้อง สำหรับบริการที่ไม่ใช่ของ Amazon ให้ตั้งค่าชื่อโฮสต์ทั่วไปของผู้ให้บริการ ใช้ค่าปลายทางและภูมิภาคที่ผู้ให้บริการเผยแพร่ไว้ ไม่มีค่าภูมิภาคสากลสำหรับผลิตภัณฑ์ที่เข้ากันได้กับ S3 ทุกตัว
| การตั้งค่า | ต้องกรอกอะไรบ้าง |
|---|
| ชื่อโฮสต์ | ตัวอย่างเช่น เอนด์พอยต์ทั่วไปs3.example.netที่ไม่มีโดเมนย่อยหรือพาธของบัคเก็ต |
| ท่าเรือ | พอร์ต TLS ของผู้ให้บริการ โดยทั่วไปคือ 443 |
| เปิดใช้งาน SSL | เปิดใช้งานไว้หากปลายทางรองรับ HTTPS และใช้ใบรับรองที่เชื่อถือได้ |
| ภูมิภาค | ระบุภูมิภาคการลงนามของผู้ให้บริการเมื่อจำเป็น; ปล่อยไว้ที่ค่าที่ผู้ให้บริการแนะนำสำหรับบริการที่เข้ากันได้ |
| เปิดใช้งานรูปแบบเส้นทาง | เปิดใช้งานเฉพาะเมื่อปลายทางต้องการคำขอในรูปแบบendpoint/bucketแทนที่จะเป็นbucket.endpoint. |
| การตรวจสอบสิทธิ์แบบดั้งเดิม (v2) | ไม่ต้องเปิดใช้งานหากผู้ให้บริการของคุณไม่ได้ระบุเวอร์ชันลายเซ็นที่เก่ากว่า ค่าเริ่มต้นคือเวอร์ชัน 4 |
คู่มือ S3 ปัจจุบันของ Nextcloud ระบุไว้อย่างชัดเจนว่าให้ใช้ชื่อโฮสต์ปลายทางทั่วไปสำหรับพื้นที่จัดเก็บข้อมูลที่ไม่ใช่ของ Amazon นอกจากนี้ยังอธิบายว่าการกำหนดแอดเดรสแบบ path-style นั้นขึ้นอยู่กับผู้ให้บริการ อย่าเปลี่ยน path-style โดยเดาหากคุณสามารถตรวจสอบโหมดการกำหนดแอดเดรสที่คาดหวังได้จากเอกสาร S3 ของผู้ให้บริการ
6. จำกัดผู้ที่สามารถใช้พาหนะได้
ใช้ตัวเลือก "พร้อมใช้งานสำหรับ"เพื่อกำหนดเฉพาะผู้ใช้หรือกลุ่ม Nextcloud ที่ต้องการเท่านั้น การเชื่อมต่อที่ผู้ดูแลระบบกำหนดค่าไว้อาจพร้อมใช้งานในวงกว้างได้ นอกจากนี้ ควรตรวจสอบตัวเลือกของการเชื่อมต่อหลังจากบันทึกแล้วด้วย: โหมดอ่านอย่างเดียวและการควบคุมการแชร์อาจเหมาะสมสำหรับไฟล์เก็บถาวรหรือบัคเก็ตที่แชร์ พฤติกรรมการแชร์อาจส่งผลต่อผู้ที่สามารถเปิดเผยไฟล์ผ่าน Nextcloud ได้ ดังนั้นควรตั้งค่าอย่างรอบคอบ
7. ตรวจสอบว่า Nextcloud สามารถเชื่อมต่อได้หรือไม่
เมื่อข้อมูลในช่องที่จำเป็นถูกต้อง ระบบจะบันทึกแถวจัดเก็บข้อมูลโดยอัตโนมัติ สถานะสีเขียวหมายความว่า Nextcloud สามารถใช้พื้นที่จัดเก็บข้อมูลที่กำหนดค่าไว้ได้ สีแดงหรือสีเหลืองแสดงว่าการเชื่อมต่อหรือการกำหนดค่าจำเป็นต้องได้รับการแก้ไข หน้าผู้ดูแลระบบอาจแสดงสถานะพื้นที่จัดเก็บข้อมูลที่ไม่สามารถใช้งานได้ชั่วคราวเป็นเวลาสิบนาที คลิกไอคอนสถานะหรือโหลดหน้าเว็บใหม่เพื่อตรวจสอบอีกครั้งหลังจากแก้ไขค่าแล้ว
8. ทดสอบด้วยไฟล์ที่ไม่เป็นอันตราย
เปิดไฟล์ในฐานะผู้ใช้ที่มีสิทธิ์เข้าถึงไดรฟ์ที่เชื่อมต่อ ตรวจสอบว่าโฟลเดอร์ปรากฏขึ้นหรือไม่ สร้างหรืออัปโหลดไฟล์ทดสอบขนาดเล็ก ดาวน์โหลดอีกครั้ง และลบไฟล์นั้นหากต้องการให้ไดรฟ์นั้นสามารถเขียนได้ หากต้องการให้ไดรฟ์นั้นอ่านได้อย่างเดียว ให้ทดสอบว่าผู้ใช้สามารถอ่านไฟล์ได้หรือไม่ และตรวจสอบว่าการเขียนถูกบล็อก ตัวบ่งชี้สีเขียวเพียงอย่างเดียวไม่ได้ยืนยันว่าสิทธิ์ของผู้ใช้หรือพฤติกรรมการอ่าน/เขียนที่ตั้งใจไว้นั้นถูกต้องทั้งหมด
คุณจะตรวจสอบการเมานต์จากบรรทัดคำสั่งได้อย่างไร?
สำหรับระบบที่คุณเป็นผู้ดูแลระบบเซิร์ฟเวอร์ Nextcloud ยังมีoccคำสั่งสำหรับการจัดเก็บข้อมูลภายนอกด้วย เรียกใช้คำสั่งจากไดเร็กทอรีการติดตั้ง Nextcloud และใช้บัญชีเว็บเซิร์ฟเวอร์ที่เหมาะสมกับระบบของคุณ ในระบบ Linux ส่วนใหญ่จะเป็นwww-dataแต่การติดตั้งแบบแพ็กเกจและคอนเทนเนอร์อาจแตกต่างกันไป
sudo -E -u www-data php occ files_external:list
sudo -E -u www-data php occ files_external:verify <mount_id>
แทนที่<mount_id>ด้วย ID ที่แสดงโดยคำสั่ง list การตรวจสอบที่สำเร็จจะยืนยันว่า Nextcloud สามารถสร้างการเชื่อมต่อที่กำหนดค่าไว้ได้ในขณะนั้น สำหรับ Nextcloud AIO หรือการใช้งานคอนเทนเนอร์แบบอื่น ให้ใช้วิธีการที่ระบุไว้ในการใช้งานoccภายในคอนเทนเนอร์แอปแทนการคัดลอกคำสั่ง host โดยไม่เปลี่ยนแปลง
เหตุใดการติดตั้งจึงล้มเหลวแม้ว่าค่าต่างๆ จะดูถูกต้องแล้ว?
| อาการ | การตรวจสอบเบื้องต้น |
|---|
| สถานะสีแดงหรือสีเหลือง | ตรวจสอบการสะกดชื่อบัคเก็ต, คีย์และรหัสลับ, ชื่อโฮสต์ปลายทาง, พอร์ต TLS, DNS, ไฟร์วอลล์ขาออก และความน่าเชื่อถือของใบรับรอง |
| ข้อผิดพลาดด้านลายเซ็นหรือการอนุญาต | ยืนยันภูมิภาคการลงนามและสิทธิ์การเข้าถึงคีย์กับผู้ให้บริการ ตรวจสอบว่าผู้ให้บริการต้องการการระบุที่อยู่แบบใช้พาธหรือไม่ |
| หมดเวลาการเชื่อมต่อ | ตรวจสอบให้แน่ใจว่าโฮสต์ Nextcloud สามารถเข้าถึงปลายทาง S3 บนพอร์ตที่กำหนดค่าไว้ได้ การเข้าถึงผ่านเบราว์เซอร์จากแล็ปท็อปของคุณไม่ได้พิสูจน์ว่าเซิร์ฟเวอร์เชื่อมต่ออยู่ |
| โฟลเดอร์หรือวัตถุบางอย่างหายไป | ตรวจสอบการใช้เครื่องหมายทับซ้ำที่ไม่รองรับในคำนำหน้าของอ็อบเจ็กต์ และพิจารณาทำการสแกนพื้นที่จัดเก็บข้อมูลภายนอก |
| ใช้ได้กับผู้ดูแลระบบ แต่ใช้ไม่ได้กับผู้ใช้ทั่วไป | ตรวจสอบความพร้อมสำหรับการมอบหมายงาน การเป็นสมาชิกกลุ่ม และดูว่าผู้ใช้เปิดใช้งานการเชื่อมต่อที่ถูกต้องหรือไม่ |
เมื่อบริการใช้ใบรับรองที่ลงนามด้วยตนเอง เซิร์ฟเวอร์จะต้องเชื่อถือใบรับรองนั้น การปิดใช้งานการตรวจสอบใบรับรองไม่ใช่ทางเลือกที่ปลอดภัย คู่มือปัจจุบันของ Nextcloud ยังเตือนด้วยว่าตัวคั่นที่ซ้ำกัน เช่นPhotos//cat.pngไม่ได้รับการสนับสนุน และคำนำหน้าที่ได้รับผลกระทบอาจถูกละเลย
จะเกิดอะไรขึ้นเมื่อไฟล์มีการเปลี่ยนแปลงโดยตรงในบัคเก็ต?
Nextcloud จะเก็บแคชไฟล์ภายในสำหรับพื้นที่จัดเก็บข้อมูลภายนอก หากเครื่องมืออื่นเพิ่ม แก้ไข หรือลบวัตถุโดยตรงใน S3 Nextcloud อาจไม่เห็นการเปลี่ยนแปลงทันที คู่มือการใช้งานพื้นที่จัดเก็บข้อมูลภายนอกฉบับปัจจุบันแนะนำให้สแกนพื้นที่จัดเก็บข้อมูลประเภทที่ไม่มีการแจ้งเตือนแบบพุชเป็นระยะ คุณสามารถค้นหา ID การเชื่อมต่อได้โดยใช้files_external:listคำสั่งต่อไปนี้:
sudo -E -u www-data php occ files_external:scan <mount_id>
กำหนดเวลาการสแกนตามความทันสมัยที่คุณต้องการและปริมาณงานที่เซิร์ฟเวอร์ของคุณสามารถรองรับได้ การสแกนไม่เหมือนกับการแจ้งเตือนการเปลี่ยนแปลงแบบทันทีทันใด Nextcloud ยังได้ระบุถึงความเสี่ยงของเมตาเดต้าไว้ด้วย: การสแกนซ้ำอาจตีความการเปลี่ยนชื่อภายนอกว่าเป็นวัตถุเก่าที่ถูกลบบวกกับวัตถุใหม่ ซึ่งจะลบการแชร์ แท็ก ความคิดเห็น และประวัติกิจกรรมฝั่ง Nextcloud ที่เกี่ยวข้องกับรายการเก่าออกไป ด้วยเหตุนี้ จึงควรทำการเปลี่ยนชื่อผ่าน Nextcloud เมื่อการรักษาเมตาเดต้ามีความสำคัญ
คุณจะรู้ได้อย่างไรว่าการตั้งค่าเสร็จสมบูรณ์แล้ว?
- การเชื่อมต่อ S3 แสดงสถานะสีเขียวในหน้าพื้นที่จัดเก็บข้อมูลภายนอกของผู้ดูแลระบบ
- ผู้ใช้ในกลุ่มที่กำหนดไว้จะสามารถมองเห็นจุดเชื่อมต่อได้ ในขณะที่ผู้ใช้ที่ไม่ได้ถูกกำหนดให้เข้าร่วมกลุ่มจะไม่สามารถมองเห็นได้
- การทดสอบการอัปโหลด ดาวน์โหลด และลบข้อมูลทำงานได้ตามที่ตั้งใจไว้ หรือการเขียนข้อมูลถูกบล็อกเนื่องจากการเมานต์เป็นแบบอ่านอย่างเดียว
- เซิร์ฟเวอร์สามารถตรวจจับการเปลี่ยนแปลงที่เกิดขึ้นภายนอก Nextcloud ได้หลังจากช่วงเวลาการสแกนที่กำหนดไว้
- ข้อมูลรับรองจะถูกจัดเก็บไว้เฉพาะในส่วนการกำหนดค่าของ Nextcloud และบัญชีผู้ให้บริการเท่านั้น และการเข้าถึงจะจำกัดเฉพาะบัคเก็ตที่จำเป็นเท่านั้น
สำหรับรายละเอียดเฉพาะเวอร์ชัน โปรดดูคู่มือการใช้งานพื้นที่จัดเก็บข้อมูลภายนอก S3 อย่างเป็นทางการของ Nextcloud , คู่มือการดูแลระบบพื้นที่จัดเก็บข้อมูลภายนอกและเอกสารอ้างอิงคำสั่ง occ อย่างเป็นทางการผู้ให้บริการแต่ละรายมีข้อกำหนดเกี่ยวกับปลายทาง ภูมิภาค สิทธิ์ และที่อยู่แตกต่างกัน ดังนั้นเอกสารการตั้งค่า S3 ของผู้ให้บริการแต่ละรายจึงเป็นเอกสารอ้างอิงหลักสำหรับค่าเหล่านั้น