Thứ sáu, 06/10/2017 | 00:00 GMT+7

Cách cài đặt và cấu hình Nextcloud trên Ubuntu 16.04

Nextcloud , một nhánh của ownCloud, là một server chia sẻ file cho phép bạn lưu trữ nội dung cá nhân của bạn , như tài liệu và hình ảnh, ở một vị trí tập trung, giống như Dropbox. Sự khác biệt với Nextcloud là tất cả các tính năng của nó đều là open-souce . Nó cũng trả lại quyền kiểm soát và bảo mật cho dữ liệu nhạy cảm của bạn, do đó loại bỏ việc sử dụng dịch vụ lưu trữ cloud của bên thứ ba.

Trong hướng dẫn này, ta sẽ cài đặt và cấu hình version Nextcloud trên server Ubuntu 16.04.

Lưu ý: Dự án Nextcloud đã trưởng thành đáng kể kể từ khi bài báo này được viết lần đầu. Nội dung ở đây đã được cập nhật để phản ánh các quy trình cài đặt được đề xuất gần đây hơn kể từ tháng 10 năm 2017. Các comment cũ hơn có thể không liên quan trực tiếp đến bộ hướng dẫn hiện tại.

Yêu cầu

Để hoàn thành các bước trong hướng dẫn này, bạn cần các thành phần sau :

  • User sudo và firewall được cấu hình trên server của bạn : Bạn có thể tạo user có quyền sudo và cài đặt firewall cơ bản theo hướng dẫn cài đặt server ban đầu Ubuntu 16.04 .
  • (Tùy chọn) Tên domain trỏ đến server của bạn : Ta sẽ đảm bảo các kết nối đến cài đặt Nextcloud bằng TLS / SSL. Nextcloud có thể cài đặt và quản lý certificate SSL miễn phí, tin cậy từ Let's Encrypt nếu server của bạn có domain . Nếu không, Nextcloud có thể cài đặt certificate SSL tự ký có thể mã hóa các kết nối, nhưng sẽ không được tin cậy theo mặc định trong trình duyệt web. Nếu bạn đang sử dụng DigitalOcean, bạn có thể làm theo hướng dẫn của ta về cách cài đặt domain cho server của bạn nếu bạn có ý định sử dụng Let's Encrypt.

Khi bạn đã hoàn thành các bước trên, hãy tiếp tục tìm hiểu cách cài đặt Nextcloud trên server của bạn.

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

Ta sẽ cài đặt Nextcloud bằng cách sử dụng trình cài đặt gói linh hoạt . Trình cài đặt gói này, có sẵn trên Ubuntu 16.04 theo mặc định, cho phép các tổ chức vận chuyển phần mềm, cùng với tất cả các cấu hình và phụ thuộc liên quan, trong một đơn vị khép kín với các bản cập nhật tự động. Điều này nghĩa là thay vì cài đặt và cấu hình web server và database rồi cấu hình ứng dụng Nextcloud để chạy trên đó, ta có thể cài đặt gói snap tự động xử lý các hệ thống bên dưới.

Để download gói Nextcloud snap và cài đặt nó trên hệ thống, hãy nhập:

  • sudo snap install nextcloud

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

  • snap changes nextcloud
Output
ID Status Spawn Ready Summary 2 Done 2017-10-03T20:03:09Z 2017-10-03T20:03:26Z Install "nextcloud" snap

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

Nhận thông tin bổ sung về Snap Nextcloud

Nếu bạn muốn biết thêm một số thông tin về Nextcloud snap , có một số lệnh có thể hữu ích.

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

  • snap info nextcloud

Snaps có thể xác định các giao diện mà chúng hỗ trợ, bao gồm một khe cắm và phích cắm, khi được nối với nhau, cho phép truy cập nhanh vào các khả năng hoặc cấp độ truy cập nhất định. Ví dụ, snaps cần hoạt động như một client mạng phải có giao diện network . Để xem snap “giao diện” mà snap này định nghĩa, hãy nhập:

  • snap interfaces nextcloud
Output
Slot Plug :network nextcloud :network-bind nextcloud - nextcloud:removable-media

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

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

Điều này sẽ cho phép bạn xem các thành phần riêng lẻ có trong tích tắc, nếu bạn cần trợ giúp gỡ lỗi.

Cấu hình account quản trị

Có một số cách khác nhau để bạn có thể cấu hình snap Nextcloud. Trong hướng dẫn này, thay vì tạo admin-user thông qua giao diện web, ta sẽ tạo một user trên dòng lệnh để tránh một cửa sổ nhỏ nơi trang đăng ký administrator có thể truy cập được cho bất kỳ ai truy cập vào địa chỉ IP hoặc domain của server của bạn.

Để cấu hình Nextcloud với account administrator mới, hãy sử dụng lệnh nextcloud.manual-install . Bạn phải nhập tên user và password làm đối số:

  • sudo nextcloud.manual-install sammy password

Thông báo sau cho biết Nextcloud đã được cấu hình chính xác. Một vài dòng đầu tiên hiện diện vì phần mở rộng PCNTL không có trong phần đính kèm Nextcloud. Những điều này có thể được bỏ qua một cách an toàn:

Output
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php Nextcloud is not installed - only a limited number of commands are available Nextcloud was successfully installed

Bây giờ Nextcloud đã được cài đặt, ta cần điều chỉnh các domain tin cậy để Nextcloud sẽ phản hồi các yêu cầu sử dụng domain hoặc địa chỉ IP của server .

Điều chỉnh các domain tin cậy

Khi cài đặt từ dòng lệnh, Nextcloud hạn chế tên server mà version sẽ 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 tên server “localhost”. Ta sẽ truy cập Nextcloud thông qua domain hoặc địa chỉ IP của server , vì vậy ta cần điều chỉnh cài đặt này để chấp nhận những loại yêu cầu này.

Bạn có thể xem cài đặt 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
Output
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php localhost

Hiện tại, chỉ có localhost là giá trị đầu tiên trong mảng. Ta có thể thêm một mục nhập cho domain hoặc địa chỉ IP của server của ta bằng lệnh :

  • sudo nextcloud.occ config:system:set trusted_domains 1 --value=example.com
Output
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php System config value trusted_domains => 1 set to string example.com

Nếu ta truy vấn lại các domain tin cậy , ta sẽ thấy rằng bây giờ ta có hai mục nhập:

  • sudo nextcloud.occ config:system:get trusted_domains
Output
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php localhost example.com

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

Bảo mật Giao diện Web Nextcloud với SSL

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

Nếu bạn có một domain được liên kết với server Nextcloud của bạn , thì Nextcloud snap có thể giúp bạn lấy và cấu hình certificate SSL tin cậy từ Let's Encrypt . Nếu server Nextcloud của bạn không có domain , Nextcloud có thể cấu hình certificate tự ký sẽ mã hóa lưu lượng truy cập web của bạn nhưng sẽ không thể xác minh danh tính của server của bạn.

Với ý nghĩ đó, hãy làm theo phần bên dưới phù hợp với kịch bản của bạn.

Tùy chọn 1: Cài đặt SSL với Let's Encrypt

Nếu bạn có domain được liên kết với server Nextcloud của bạn , thì tùy chọn tốt nhất để bảo mật giao diện web của bạn là lấy certificate SSL Let's Encrypt.

Bắt đầu bằng cách mở các cổng trong firewall mà Let's Encrypt sử dụng để xác thực quyền sở hữu domain . Điều này sẽ làm cho trang đăng nhập Nextcloud của bạn có thể truy cập , nhưng vì ta đã cấu hình account administrator , nên không ai có thể chiếm đoạt cài đặt:

  • sudo ufw allow 80,443/tcp

Tiếp theo, certificate request Let's Encrypt bằng lệnh :

  • sudo nextcloud.enable-https lets-encrypt

Trước tiên, bạn sẽ được hỏi liệu server của bạn có đáp ứng các điều kiện cần thiết để certificate request từ dịch vụ Let's Encrypt hay không:

Output
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 cần cung cấp địa chỉ email để sử dụng cho các hoạt động khôi phục:

Output
Please enter an email address (for urgent notices or key recovery): your_email@domain.com

Cuối cùng, nhập domain được liên kết với server Nextcloud của bạn:

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

Chứng chỉ Let's Encrypt của bạn cần và miễn là mọi thứ diễn ra tốt đẹp, version Apache nội bộ sẽ được khởi động lại để triển khai SSL ngay lập tức:

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

Như vậy, bạn có thể bỏ qua để đăng nhập vào Nextcloud lần đầu tiên .

Tùy chọn 2: Cài đặt SSL với certificate tự ký

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

Để tạo certificate tự ký và cấu hình Nextcloud để sử dụng, hãy nhập:

  • sudo nextcloud.enable-https self-signed
Output
Generating key and self-signed certificate... done Restarting apache... done

Kết quả ở trên cho biết Nextcloud đã tạo và kích hoạt certificate tự ký.

Bây giờ giao diện đã được bảo mật, hãy mở các cổng web trong firewall để cho phép truy cập vào giao diện web:

  • sudo ufw allow 80,443/tcp

Đến đây bạn đã sẵn sàng để đăng nhập vào Nextcloud lần đầu tiên.

Đăng nhập vào Giao diện Web Nextcloud

Bây giờ Nextcloud đã được cấu hình , hãy truy cập domain hoặc địa chỉ IP của server trong trình duyệt web :

https://example.com 

Lưu ý: Nếu bạn cài đặt certificate SSL tự ký, trình duyệt của bạn có thể hiển thị cảnh báo rằng kết nối không an toàn vì certificate của server không được tổ chức phát hành certificate được công nhận ký. Điều này được mong đợi đối với các certificate tự ký, vì vậy vui lòng nhấp qua cảnh báo để tiếp tục đến trang web.

Vì bạn đã cấu hình account administrator từ dòng lệnh, bạn sẽ được đưa đến trang đăng nhập Nextcloud. Nhập thông tin đăng nhập bạn đã tạo cho admin-user :

Trang đăng nhập Nextcloud

Nhấn vào nút Đăng nhập để đăng nhập vào giao diện web Nextcloud.

Lần đầu tiên bạn nhập, một cửa sổ sẽ được hiển thị với các liên kết đến các ứng dụng client Nextcloud khác nhau được dùng để tương tác và quản lý version Nextcloud của bạn:

Phương thức ứng dụng Nextcloud

Nhấp qua để download bất kỳ ứng dụng client nào bạn quan tâm hoặc thoát ra khỏi cửa sổ bằng cách nhấp vào X ở góc trên bên phải. Bạn sẽ được đưa đến giao diện Nextcloud chính, nơi bạn có thể bắt đầu tải lên và quản lý các file :

Trang chính của Nextcloud

Cài đặt của bạn hiện đã hoàn tất và được bảo mật. Vui lòng 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 của bạn.

Kết luận

Nextcloud có thể tái tạo khả năng của các dịch vụ lưu trữ cloud phổ biến của bên thứ ba. Nội dung có thể được chia sẻ giữa những user hoặc ra bên ngoài bằng các URL công khai. Ưu điểm của Nextcloud là thông tin được lưu trữ an toàn ở nơi mà bạn kiểm soát.

Khám phá giao diện và các chức năng bổ sung, hãy cài đặt các plugin bằng kho ứng dụng của Nextcloud .


Tags:

Các tin liên quan

Cách cài đặt WordPress với Caddy trên Ubuntu 16.04
2017-08-03
Cách cài đặt và cấu hình GoCD trên Ubuntu 16.04
2017-08-01
Cách cấu hình GoCD với Let's Encrypt SSL Certificates trên Ubuntu 16.04
2017-08-01
Cách cài đặt và cấu hình SimpleSAMLphp để Xác thực SAML trên Ubuntu 16.04
2017-07-30
Cách sử dụng chế độ độc lập của Certbot để lấy chứng chỉ SSL mã hóa trên Ubuntu 16.04
2017-07-28
Cách sử dụng chế độ độc lập của Certbot để lấy chứng chỉ SSL mã hóa trên Ubuntu 16.04
2017-07-28
Cách cài đặt Virtualmin với Webmin, LAMP, BIND và PostFix trên Ubuntu 16.04
2017-07-26
Cách cài đặt Matrix Synapse trên Ubuntu 16.04
2017-07-21
Cách cài đặt Bro trên Ubuntu 16.04
2017-07-14
Cách thiết lập đường ống tích hợp liên tục với Concourse CI trên Ubuntu 16.04
2017-07-11