CyStack logo
  • Sản phẩm & Dịch vụ
  • Giải pháp
  • Bảng giá
  • Công ty
  • Tài liệu
Vi

vi

Trang chủHướng dẫnTriển khai Nextcloud trên Ubuntu 22.04 đơn giản và hiệu quả
Chuyên gia

Triển khai Nextcloud trên Ubuntu 22.04 đơn giản và hiệu quả

CyStack blog 9 phút để đọc
CyStack blog24/07/2025
Reading Time: 9 minutes

Nextcloud, là một nhánh (fork) của dự án ownCloud, là một máy chủ chia sẻ tệp, cho phép bạn lưu trữ nội dung cá nhân như tài liệu và hình ảnh trên một hệ thống lưu trữ tập trung, tương tự như Dropbox. Tuy nhiên, điểm khác biệt của Nextcloud là tất cả các tính năng của nó đều có mã nguồn mở. Đồng thời, Nextcloud trao cho bạn quyền kiểm soát và bảo mật dữ liệu nhạy cảm, giúp loại bỏ nhu cầu sử dụng các dịch vụ lưu trữ đám mây từ bên thứ ba.

Triển khai Nextcloud trên Ubuntu 22.04

Trong hướng dẫn này, chúng ta sẽ cài đặt và cấu hình một phiên bản Nextcloud trên máy chủ Ubuntu 22.04.

Bạn cần chuẩn bị gì trước khi triển khai?

Để thực hiện các bước trong hướng dẫn này, bạn cần chuẩn bị:

  • Một tài khoản người dùng không phải root nhưng có quyền sudo và hệ thống tường lửa đã được cấu hình trên máy chủ: Bạn có thể tạo một tài khoản người dùng có quyền sudo và thiết lập tường lửa cơ bản.
  • (Không bắt buộc) Một tên miền trỏ về máy chủ của bạn: Chúng ta sẽ thiết lập kết nối bảo mật cho Nextcloud bằng giao thức TLS/SSL. Nếu máy chủ của bạn có tên miền, Nextcloud có thể tự động tạo và quản lý chứng chỉ SSL miễn phí, đáng tin cậy từ Let’s Encrypt. Trong trường hợp không có tên miền, Nextcloud vẫn có thể tạo chứng chỉ SSL tự ký để mã hóa kết nối, tuy nhiên loại chứng chỉ này sẽ không được trình duyệt web tin cậy theo mặc định.

Nếu bạn đang sử dụng DigitalOcean và muốn triển khai Let’s Encrypt, có thể tham khảo tài liệu DNS để biết cách thêm tên miền vào tài khoản và cấu hình các bản ghi DNS tương ứng.

Sau khi đã hoàn thành các bước chuẩn bị trên, tiếp theo sẽ cách thiết lập Nextcloud trên máy chủ của bạn.

Bước 1: Cài đặt Nextcloud

Chúng ta sẽ cài đặt Nextcloud bằng hệ thống đóng gói Snap. Đây là một hệ thống đóng gói có sẵn trên Ubuntu 22.04 theo mặc định, cho phép các tổ chức phân phối phần mềm cùng với toàn bộ các phụ thuộc và cấu hình cần thiết trong một gói độc lập, đồng thời hỗ trợ cập nhật tự động. Điều này có nghĩa là thay vì cài đặt và cấu hình một máy chủ web và cơ sở dữ liệu rồi mới thiết lập ứng dụng Nextcloud để chạy trên đó, thì chúng ta có thể cài đặt gói snap để hệ thống tự động xử lý tất cả các thành phần nền tảng cần thiết.

Để tải và cài đặt gói snap của Nextcloud trên hệ thống, nhập lệnh sau:

sudo snap install nextcloud

Gói Nextcloud sẽ được tải xuống và cài đặt trên máy chủ của bạn. Bạn có thể xác nhận quá trình cài đặt đã thành công hay chưa bằng cách liệt kê các thay đổi liên quan đến snap:

snap changes nextcloud

Kết quả đầu ra:

ID   Status  Spawn               Ready               Summary
4    Done    today at 16:12 UTC  today at 16:12 UTC  Install "nextcloud" snap

Trạng thái và tóm tắt trên cho thấy quá trình cài đặt đã hoàn tất mà không có bất kỳ sự cố nào.

Tìm hiểu thêm thông tin về Snap của Nextcloud

Nếu muốn tìm hiểu thêm thông tin về gói snap của Nextcloud, bạn có thể sử dụng một số câu lệnh sau:

Lệnh snap info sẽ hiển thị mô tả về gói, các lệnh quản lý Nextcloud có sẵn, cũng như phiên bản đã cài đặt và kênh snap đang được theo dõi:

snap info nextcloud

Snap có thể định nghĩa các loại kết nối mà nó hỗ trợ, bao gồm một slot và một plug. Khi hai thành phần này được liên kết với nhau, snap sẽ được cấp quyền truy cập vào các tính năng hoặc mức độ quyền hạn nhất định. Ví dụ, các snap cần hoạt động như một client mạng phải có kết nối network. Để kiểm tra connections mà snap này đã định nghĩa, sử dụng lệnh sau:

snap connections nextcloud

Kết quả đầu ra:

Interface        Plug                       Slot           Notes
network          nextcloud:network          :network       -
network-bind     nextcloud:network-bind     :network-bind  -
removable-media  nextcloud:removable-media  -              -

Để tìm hiểu về toàn bộ các dịch vụ và ứng dụng cụ thể mà gói snap này cung cấp, bạn có thể xem tệp định nghĩa snap bằng lệnh:

cat /snap/nextcloud/current/meta/snap.yaml

Lệnh này sẽ cho phép bạn xem từng thành phần riêng lẻ được bao gồm trong snap, trong trường hợp bạn cần hỗ trợ xử lý sự cố.

Bước 2: Cấu hình tài khoản quản trị

Có nhiều cách để cấu hình gói snap của Nextcloud. Trong hướng dẫn này, thay vì tạo tài khoản quản trị viên thông qua giao diện web, chúng ta sẽ tạo tài khoản trên dòng lệnh nhằm tránh một khoảng thời gian ngắn mà trang đăng ký quản trị viên có thể bị truy cập bởi bất kỳ ai ghé thăm địa chỉ IP hoặc tên miền của server.

Để cấu hình Nextcloud với tài khoản quản trị mới, sử dụng lệnh nextcloud.manual-install. Bạn cần truyền vào tên người dùng và mật khẩu dưới dạng đối số:

sudo nextcloud.manual-install sammy password

Thông báo sau xác nhận rằng Nextcloud đã được cấu hình thành công:

Kết quả đầu ra:

Nextcloud was successfully installed

Sau khi cài đặt xong Nextcloud, chúng ta cần điều chỉnh danh sách miền đáng tin cậy (trusted domains) để Nextcloud phản hồi với các yêu cầu được gửi đến từ tên miền hoặc địa chỉ IP của máy chủ.

Bước 3: Điều chỉnh danh sách miền đáng tin cậy

Khi cài đặt từ dòng lệnh, Nextcloud sẽ giới hạn các hostname mà phiên bản có thể phản hồi. Theo mặc định, dịch vụ chỉ phản hồi các yêu cầu được gửi đến hostname “localhost”. Tuy nhiên, chúng ta sẽ truy cập Nextcloud thông qua tên miền hoặc địa chỉ IP của máy chủ, vì vậy cần điều chỉnh cấu hình này để chấp nhận các loại yêu cầu đó.

Bạn có thể xem cấu hình hiện tại bằng cách truy vấn giá trị của mảng trusted_domains:

sudo nextcloud.occ config:system:get trusted_domains

Kết quả đầu ra:

localhost

Hiện tại, chỉ có localhost được liệt kê là phần tử đầu tiên trong mảng. Chúng ta có thể thêm một mục cho tên miền hoặc địa chỉ IP của máy chủ bằng cách nhập:

sudo nextcloud.occ config:system:set trusted_domains 1 --value=example.com

Kết quả đầu ra:

System config value trusted_domains => 1 set to string example.com

Nếu truy vấn lại danh sách miền đáng tin cậy, bạn sẽ thấy có hai mục:

sudo nextcloud.occ config:system:get trusted_domains

Kết quả đầu ra:

localhost
example.com

Nếu cần thêm một cách khác để truy cập instance Nextcloud, bạn có thể thêm các tên miền hoặc địa chỉ bổ sung bằng cách chạy lại lệnh config:system:set với một số chỉ mục được tăng lên (số “1” trong lệnh đầu tiên) và điều chỉnh giá trị --value.

Bước 4: Bảo mật giao diện web của Nextcloud bằng SSL

Trước khi bắt đầu sử dụng Nextcloud, chúng ta cần bảo mật giao diện web.

Nếu máy chủ Nextcloud của bạn đã được gắn với một tên miền, gói snap của Nextcloud có thể hỗ trợ bạn lấy và cấu hình chứng chỉ SSL đáng tin cậy từ Let’s Encrypt. Trường hợp máy chủ không có tên miền, Nextcloud có thể tự động tạo chứng chỉ tự ký, chứng chỉ này vẫn mã hóa lưu lượng web nhưng không được trình duyệt mặc định tin cậy.

Dựa trên tình huống thực tế, hãy làm theo một trong hai lựa chọn dưới đây.

Cách 1: Thiết lập SSL với Let’s Encrypt

Nếu máy chủ Nextcloud của bạn đã có tên miền, lựa chọn tốt nhất để bảo mật giao diện web là lấy chứng chỉ SSL từ Let’s Encrypt.

Trước tiên, cần mở các cổng trên tường lửa mà Let’s Encrypt sử dụng để xác minh quyền sở hữu tên miền. Việc này sẽ tạm thời cho phép truy cập công khai vào trang đăng nhập của Nextcloud. Tuy nhiên, do tài khoản quản trị đã được tạo sẵn, không ai có thể chiếm quyền kiểm soát quá trình cài đặt.

sudo ufw allow 80,443/tcp

Tiếp theo, yêu cầu chứng chỉ Let’s Encrypt bằng cách nhập:

sudo nextcloud.enable-https lets-encrypt

Bạn sẽ được hỏi liệu máy chủ của mình có đáp ứng đủ các điều kiện để yêu cầu chứng chỉ từ Let’s Encrypt hay không:

Kết quả đầu ra:

In order for Let's Encrypt to verify that you actually own the
domain(s) for which you're requesting a certificate, there are a
number of requirements of which you need to be aware:

1. In order to register with the Let's Encrypt ACME server, you must
   agree to the currently-in-effect Subscriber Agreement located
   here:

       <https://letsencrypt.org/repository/>

   By continuing to use this tool you agree to these terms. Please
   cancel now if otherwise.

2. You must have the domain name(s) for which you want certificates
   pointing at the external IP address of this machine.

3. Both ports 80 and 443 on the external IP address of this machine
   must point to this machine (e.g. port forwarding might need to be
   setup on your router).

Have you met these requirements? (y/n)

Nhập y để tiếp tục.

Tiếp theo, bạn sẽ được yêu cầu nhập địa chỉ email dùng để khôi phục hệ thống:

Kết quả đầu ra:

Please enter an email address (for urgent notices or key recovery):

Nhập địa chỉ email của bạn rồi nhấn Enter để tiếp tục.

Cuối cùng, nhập tên miền gắn với máy chủ Nextcloud:

Kết quả đầu ra:

Please enter your domain name(s) (space-separated): example.com

Chứng chỉ Let’s Encrypt sẽ được yêu cầu cấp phát. Nếu quá trình diễn ra suôn sẻ, Apache nội bộ sẽ được khởi động lại để áp dụng SSL ngay lập tức:

Kết quả đầu ra:

Attempting to obtain certificates... done
Restarting apache... done

Giờ bạn có thể bỏ qua bước tiếp theo và tiến hành đăng nhập vào Nextcloud lần đầu tiên.

Cách 2: Thiết lập SSL bằng chứng chỉ tự ký

Nếu máy chủ Nextcloud không có tên miền, bạn vẫn có thể bảo mật giao diện web bằng cách tạo chứng chỉ SSL tự ký. Loại chứng chỉ này cho phép mã hóa kết nối, nhưng trình duyệt có thể hiển thị cảnh báo vì không thể xác minh danh tính của máy chủ.

Để tạo chứng chỉ tự ký và cấu hình Nextcloud sử dụng chứng chỉ này, hãy nhập lệnh sau:

sudo nextcloud.enable-https self-signed

Kết quả đầu ra:

Generating key and self-signed certificate... done
Restarting apache... done

Thông báo trên xác nhận rằng Nextcloud đã tạo và kích hoạt chứng chỉ tự ký.

Sau khi giao diện web đã được bảo mật, cần mở các cổng web trên tường lửa để cho phép truy cập từ bên ngoài:

sudo ufw allow 80,443/tcp

Giờ là lúc đăng nhập vào Nextcloud lần đầu tiên.

Bước 5: Đăng nhập vào giao diện web của Nextcloud

Sau khi đã cấu hình xong Nextcloud, hãy mở trình duyệt web và truy cập vào tên miền hoặc địa chỉ IP của máy chủ:

<https://example.com>

Lưu ý: Nếu bạn sử dụng chứng chỉ SSL tự ký, trình duyệt có thể hiển thị cảnh báo cho rằng kết nối không an toàn do chứng chỉ không được ký bởi một tổ chức chứng thực đáng tin cậy. Đây là hành vi mặc định đối với chứng chỉ tự ký; bạn có thể bỏ qua cảnh báo này và tiếp tục truy cập trang web.

Vì bạn đã cấu hình tài khoản quản trị từ dòng lệnh nên trang đăng nhập của Nextcloud sẽ hiển thị. Nhập thông tin đăng nhập của tài khoản quản trị mà bạn đã tạo:

Trang đăng nhập Nextcloud

Triển khai Nextcloud trên Ubuntu 22.04

Nhấp vào nút Log in để đăng nhập vào giao diện web của Nextcloud.

Lần đầu tiên đăng nhập, một cửa sổ sẽ xuất hiện với một số đoạn giới thiệu và liên kết đến các ứng dụng client khác nhau của Nextcloud mà bạn có thể sử dụng để truy cập phiên bản Nextcloud của mình:

Cửa sổ giới thiệu ứng dụng khách Nextcloud

Triển khai Nextcloud trên Ubuntu 22.04

Bạn có thể nhấp vào các liên kết để tải về các ứng dụng phù hợp, hoặc đóng cửa sổ bằng cách nhấn vào biểu tượng X ở góc trên bên phải. Sau đó, bạn sẽ được chuyển đến giao diện chính của Nextcloud, tại đây bạn có thể bắt đầu tải lên và quản lý tệp:

Trang chính của Nextcloud

Triển khai Nextcloud trên Ubuntu 22.04

Quá trình cài đặt đến đây là hoàn tất và được bảo mật. Bạn có thể tự do khám phá giao diện để làm quen với các tính năng và chức năng của hệ thống mới.

Kết luận

Nextcloud có thể tái hiện các chức năng của những dịch vụ lưu trữ đám mây phổ biến từ bên thứ ba. Nội dung có thể được chia sẻ giữa các người dùng hoặc công khai thông qua liên kết URL. Ưu điểm của Nextcloud nằm ở việc dữ liệu được lưu trữ an toàn trên hệ thống do chính bạn kiểm soát.

Để mở rộng chức năng, bạn có thể truy cập kho ứng dụng của Nextcloud, nơi cung cấp các plugin giúp nâng cao khả năng của hệ thống.

0 Bình luận

Đăng nhập để thảo luận

Chuyên mục Hướng dẫn

Tổng hợp các bài viết hướng dẫn, nghiên cứu và phân tích chi tiết về kỹ thuật, các xu hướng công nghệ mới nhất dành cho lập trình viên.

Đăng ký nhận bản tin của chúng tôi

Hãy trở thành người nhận được các nội dung hữu ích của CyStack sớm nhất

Xem chính sách của chúng tôi Chính sách bảo mật.

Đăng ký nhận Newsletter

Nhận các nội dung hữu ích mới nhất