Cách xây dựng đồng bộ hóa tệp đám mây của riêng bạn với Nextcloud

Các dịch vụ như Dropbox giúp bạn dễ dàng truy cập các tệp của mình trên nhiều thiết bị. Tuy nhiên, bạn có thể muốn kiểm soát nhiều hơn đối với họ. Trong vòng chưa đầy 30 phút, bạn có thể có dịch vụ đồng bộ hóa đám mây của riêng mình và chạy trên máy chủ mà bạn điều khiển qua .

Nextcloud là gì?

Nextcloud là phần mềm nguồn mở cho phép bạn đồng bộ hóa các tệp giữa PC và các thiết bị khác, giống như bạn làm với Dropbox, Onedrive hoặc Google Drive. Ngoài ra, Nextcloud có một hệ sinh thái ứng dụng sôi động cho phép bạn làm nhiều việc hơn là chỉ đồng bộ hóa các tệp. Bạn có thể sử dụng Nextcloud cho lịch và quản lý liên hệ hoặc để chạy ứng dụng email IMAP dựa trên web. Bạn thậm chí có thể thiết lập một chương trình trò chuyện trực tiếp dành riêng cho bạn và bất kỳ ai khác có thể truy cập máy chủ của bạn.

Tuy nhiên, trước khi chúng tôi đi vào chi tiết, có một cảnh báo. Khi bạn bắt đầu sử dụng Nextcloud, nó sẽ tùy thuộc vào bạn để duy trì máy chủ. Điều này có nghĩa là ngoài việc quản lý phần mềm Nextcloud, bạn phải đảm bảo hệ điều hành máy chủ bên dưới luôn cập nhật với các bản vá. Các máy chủ Nextcloud thường không gặp sự cố, nhưng nếu có sự cố xảy ra, nó sẽ tùy thuộc vào bạn để khắc phục.

Tin tốt là có rất nhiều blog, diễn đàn và trang trợ giúp để giúp bạn khắc phục sự cố. Nếu bạn gặp phải một vấn đề, thì nó có khả năng xảy ra với người khác và có một giải pháp ngoài kia.

Những gì bạn cần

Giao diện Nextcloud mặc định
Giao diện web Nextcloud mặc định.

Bạn sẽ cần ba mục sau để bắt đầu với Nextcloud:

  1. Một máy chủ ảo chạy Ubuntu 18.04
  2. Shell Bash trên máy tính để bàn của bạn.
  3. Một tên miền.

Đối với các ví dụ của chúng tôi, chúng tôi sẽ tạo một số tên người dùng và mật khẩu, bao gồm:

  • Tên người dùng và mật khẩu gốc cho máy chủ của bạn.
  • Một tên người dùng và mật khẩu máy chủ thông thường với các đặc quyền quản trị.
  • Tên người dùng và mật khẩu Nextcloud.

Với mục đích của hướng dẫn này, chúng tôi đã sử dụng máy chủ ảo chạy Ubuntu 18.04 từ DigitalOcean. Bạn có thể sử dụng bất kỳ nhà cung cấp nào bạn thích, tuy nhiên, bao gồm Linode hoặc AWS. Cho dù bạn chọn dịch vụ nào, chìa khóa là chạy Ubuntu 18.04 (bản phát hành hỗ trợ dài hạn hiện tại tại văn bản này) để tránh mọi vấn đề tiềm ẩn.

Mỗi nhà cung cấp máy chủ ảo là một chút khác nhau, nhưng tất cả họ đều nhằm mục đích đưa máy chủ lên và chạy với một vài cú click chuột. Để bắt đầu, chúng tôi khuyên bạn nên sử dụng máy chủ cấp cơ sở trên cơ sở dùng thử cho đến khi bạn quen với Nextcloud. Bộ lọc kỹ thuật số Ocean Ocean $ 5 cung cấp RAM 1 GB, 1 lõi CPU, 1 TB truyền dữ liệu và 25 GB dung lượng lưu trữ. Linode cung cấp một VPS tương tự cho cùng một mức giá.

Trừ khi bạn thoải mái với các khóa SSH, hãy hỏi nhà cung cấp của bạn để biết chi tiết đăng nhập gốc dựa trên mật khẩu để bắt đầu. Sau khi máy chủ của bạn đang chạy và bạn có thể thoải mái với dòng lệnh, bạn có thể kiểm tra các trang trợ giúp của nhà cung cấp của bạn về cách thêm khóa SSH để đăng nhập an toàn hơn.

Xem tiếp:   Cách tắt SELinux trên CentOS

Nếu máy tính của bạn chạy Windows 10, bạn sẽ cần cài đặt Hệ thống con Windows cho Linux và tiếp tục sử dụng tiện ích Bash với các tiện ích Linux. Nếu bạn sử dụng Linux hoặc macOS, chương trình Terminal là tất cả những gì bạn cần. Hầu hết các thiết bị đầu cuối Bash đều được cài đặt SSH, nhưng, nếu không, chỉ cần gõ sudo apt-get install ssh trong cửa sổ terminal để cài đặt nó.

Khi bạn mua một tên miền, nó không phải là một địa chỉ .COM. Chỉ có bạn và bạn bè thân thiết và gia đình của bạn sẽ sử dụng nó. Ví dụ: chúng tôi đã tìm thấy một tên miền .XYZ chỉ với 1 đô la một năm sẽ hoạt động tốt.

LIÊN QUAN: Cách tắt SELinux trên CentOS

Chuẩn bị máy chủ của bạn

Gorodenkoff / Shutterstock

Để máy chủ của bạn sẵn sàng hành động, bạn cần thiết lập một tài khoản người dùng thông thường với các đặc quyền quản trị. Nó là một ý tưởng khủng khiếp, khủng khiếp để đăng nhập với tư cách là người dùng root toàn năng sau cấu hình ban đầu.

Đến bây giờ, bạn nên có một địa chỉ IP và mật khẩu gốc từ nhà cung cấp máy chủ của bạn. Địa chỉ IP là cách bạn kết nối với máy chủ và mật khẩu sẽ đưa bạn vào.

Để bắt đầu, hãy nhập thông tin sau (thay thế địa chỉ X bằng máy chủ IP của bạn), sau đó nhấn Enter:

ssh [email protected]

Địa chỉ IP của chúng tôi là 165,22.81.172, vì vậy chúng tôi đã gõ nó trong lệnh của chúng tôi. Nếu mọi thứ diễn ra theo đúng kế hoạch, máy chủ từ xa (nơi bạn sẽ đặt Nextcloud) sẽ yêu cầu nhập mật khẩu. Nhập mật khẩu nhà cung cấp máy chủ của bạn đã cung cấp cho bạn.

Sau đó, bạn sẽ được yêu cầu đặt mật khẩu mới cho root. Chọn bất cứ thứ gì bạn thích, chỉ cần don thất hoặc quên nó!

Bây giờ bạn đang ở trong máy chủ từ xa và đã đến lúc để làm việc. Nhấn Enter sau mỗi lệnh trong bài viết này để chạy nó.

Đầu tiên, chúng tôi gõ như sau để thêm người dùng mới vào máy chủ:

adduser ian

Thay thế tên ian tên bằng tên người dùng bạn muốn sử dụng. Khi bạn thực hiện lệnh này, bạn đã yêu cầu cung cấp mật khẩu cho người dùng mới. Sau khi bạn làm điều đó, phần còn lại của thông tin mà máy chủ yêu cầu là tùy chọn; nếu bạn không muốn cung cấp nó, hãy tiếp tục nhấn Enter.

Tiếp theo, chúng tôi gõ như sau để cung cấp đặc quyền quản trị người dùng mới của chúng tôi:

usermod -aG sudo ian

Một lần nữa, thay thế i i xông trực tuyến bằng tên người dùng bạn đã chọn trước đó.

Bây giờ, chúng tôi mở một cửa sổ đầu cuối thứ hai và gõ như sau để đảm bảo tài khoản người dùng mới hoạt động:

ssh [email protected]

Một lần nữa, thay thế tên trên bằng tên người dùng và địa chỉ IP máy chủ của bạn. Nhập mật khẩu bạn đã tạo cho tài khoản người dùng này khi được nhắc. Nếu nó hoạt động, hãy quay lại cửa sổ terminal mà bạn đã đăng nhập với quyền root.

Bây giờ, chúng tôi gõ như sau để đảm bảo tường lửa Ubuntu hoạt động tốt:

Xem tiếp:   Cài đặt kms server trên linux để kích hoạt bản quyền windows, office

ufw allow OpenSSH
ufw enable
ufw status

Lệnh trạng thái cuối cùng đó sẽ trả về một cái gì đó giống như hình ảnh bên dưới, xác nhận rằng tường lửa đã thắng khối chặn SSH.

Bạn đã giành chiến thắng, hãy xem phần 80, 443 / tcpv, nhưng chúng tôi sẽ làm điều đó sau. Bây giờ, hãy để đóng cửa sổ gốc và quay lại cửa sổ đầu cuối thứ hai với người dùng thông thường.

Cài đặt Nextcloud

Đã có lúc bạn phải cấu hình và cài đặt phần mềm Nextcloud, PHP, phần mềm máy chủ web và cơ sở dữ liệu riêng biệt.

Nó dễ dàng hơn nhiều khi sử dụng gói Snap chính thức, nó sẽ chăm sóc mọi thứ chỉ bằng một lệnh. Ở đó, không có sự lộn xộn nào với cơ sở dữ liệu hoặc cần phải lo lắng nếu Apache hoặc Nginx đang phục vụ trang web của bạn.

Nếu bạn muốn xem chính xác những gì gói Snap cài đặt (spoiler: nó LÊN phần còn lại của ngăn xếp LAMP, cộng với Redis), hãy xem kho lưu trữ snap Nextcloud trên GitHub.

Chúng tôi gõ như sau:

sudo snap install nextcloud

Các sudo liền ngay từ đầu nâng cao tài khoản người dùng thông thường để nó có quyền quản trị tạm thời. Bạn sẽ được yêu cầu nhập mật khẩu để thực hiện điều này. Nếu mọi việc suôn sẻ, trong một hoặc hai phút, Nextcloud sẽ được cài đặt và (gần như) sẵn sàng hành động.

Tiếp theo, chúng tôi nhập nội dung sau để tạo tài khoản người dùng Nextcloud mới có thể đăng nhập vào trang web của chúng tôi:

sudo nextcloud.manual-install ianpaul correctHorseBatteryStaple

Thay vì của ianpaul, hãy gõ tên người dùng bạn muốn sử dụng để đăng nhập vào Nextcloud. Bit chính xácHorseBatteryStaple bit là mật khẩu của chúng tôi. Don 195 sử dụng nó. Nó là một trò chơi XKCD rất nổi tiếng và chỉ là một ví dụ.

Xử lý tên miền

Để làm cho cuộc sống dễ dàng hơn, chúng tôi không muốn sử dụng địa chỉ IP mọi lúc để truy cập máy chủ của chúng tôi. Thay vào đó, chúng tôi sẽ sử dụng một tên miền, một lần nữa, bạn có thể nhận được ít nhất là $ 1 mỗi năm. Ví dụ của chúng tôi, chúng tôi đã sử dụng HowToGeekTest.xyz.

Khi bạn có một tên miền, bạn sẽ muốn quản lý cài đặt DNS từ công ty đăng ký tên miền (nơi bạn đã mua tên miền) và trỏ chúng đến nhà cung cấp máy chủ của bạn. Ví dụ: nếu bạn chọn DigitalOcean, các cài đặt đó sẽ là ns1.digitalocean.com, ns2.digitalocean.com và ns3.digitalocean.com.

Tiếp theo, hãy đến nhà cung cấp máy chủ của bạn (ví dụ: DigitalOcean, Linode hoặc bất cứ điều gì bạn chọn) và thêm tên miền mới vào tài khoản của bạn. Bạn cần phải thêm một bản ghi A trỏ đến địa chỉ IP của bạn, một bản ghi CNAME nếu bạn không muốn sử dụng liên tục và sử dụng các bản ghi NS nếu chúng được thêm tự động.

Hình ảnh dưới đây cho thấy một ví dụ từ DigitalOcean.

Về mặt kỹ thuật, có thể mất tới 24 giờ trước khi tên miền của bạn khả dụng, nhưng nó thường bắt đầu hoạt động trong vòng vài phút.

Quay lại Nextcloud

Với tên miền được thiết lập, chúng ta có thể quay lại hoàn thiện Nextcloud trong thiết bị đầu cuối. Nếu bạn đã đăng xuất khỏi máy chủ bằng tài khoản người dùng thông thường của mình ([email protected] trong ví dụ của chúng tôi), hãy đăng nhập lại.

Xem tiếp:   Hướng dẫn install ssmtp centos 6

Bây giờ, chúng tôi gõ như sau để thêm tên miền mới của chúng tôi vào Nextcloud:

sudo nextcloud.occ config:system:set trusted_domains 1 --value=howtogeektest.xyz

Sau khi hạ cấp của bạn tên miền chứ không phải của chúng tôi (howtogeektest.xyz).

Tiếp theo, chúng tôi gõ như sau để đảm bảo tên miền mới của chúng tôi đã được thêm đúng cách:

sudo nextcloud.occ config:system:get trusted_domains

Thiết bị đầu cuối nên in ra một cái gì đó giống như hình ảnh dưới đây.

Tiếp theo, chúng tôi gõ như sau để đảm bảo rằng chúng tôi có thể sử dụng các cổng mà chúng tôi muốn bằng cách cho phép chúng vượt qua tường lửa:

sudo ufw allow 80,443/tcp

Cổng 80 được sử dụng bởi lưu lượng HTTP không được , trong khi 443 dành cho SSL / TLS.

Nói về điều này, chúng tôi sẽ cần một chứng chỉ SSL / TLS miễn phí từ Let Enc Encrypt, vì vậy chúng tôi gõ như sau:

sudo nextcloud.enable-https lets-encrypt

Khi trình tạo Let Enc Encrypt bắt đầu chạy, nó sẽ hỏi địa chỉ email và tên miền Nextcloud của bạn. Chỉ cần làm theo các hướng dẫn và bạn sẽ có một chứng chỉ trang web an toàn trong thời gian không. Nếu Let Enc Encrypt hoạt động được, thì đó là thời gian để kiểm tra thiết lập của bạn.

Chuyển đến tên miền mới của bạn (như howtogeektest.xyz của chúng tôi). Bạn sẽ thấy trang đăng nhập Nextcloud (xem bên dưới) với biểu tượng khóa trong thanh địa chỉ.

 

Nếu bạn thấy trang đăng nhập, bạn đã sẵn sàng để đi. Nếu không, hãy đợi một vài giờ và thử lại. Nếu bạn muốn khắc phục sự cố ngay lập tức, bạn có thể xem máy chủ có phản hồi qua địa chỉ IP không.

Để làm việc này, chúng tôi phải nhập thông tin sau, để thêm địa chỉ IP vào các miền đáng tin cậy của chúng tôi:

sudo nextcloud.occ config:system:set trusted_domains 2 --value=165.22.81.172

Lưu ý rằng chúng tôi đã sử dụng một cách đáng tin cậy Nếu bạn chỉ lặp lại tin cậy của Trusted_domains 1, thì bạn sẽ ghi đè lên tên miền thực của bạn trong danh sách tên miền đáng tin cậy và won có thể sử dụng nó.

Sau khi đã hoàn thành, hãy nhập địa chỉ IP vào thanh địa chỉ của trình duyệt của bạn và bạn sẽ thấy trang đăng nhập ở trên. Nếu không, một cái gì đó đã sai với cài đặt.

Vì chúng tôi không có chứng chỉ SSL cho địa chỉ IP, nên nó đã có thể đăng nhập an toàn. Vì lý do đó, chúng tôi khuyên bạn nên xóa IP khỏi danh sách tên miền đáng tin cậy sau khi bạn xác nhận máy chủ đang hoạt động. Để làm điều này, gõ như sau:

sudo nextcloud.occ config:system:delete trusted_domains 2

Tăng hiệu suất

Nếu máy chủ Nextcloud của bạn không hoạt động tốt, bạn có thể cần tăng giới hạn bộ nhớ. Theo mặc định, nó có 128 MB. Để tăng lên 512 MB, bạn hãy đăng nhập vào máy chủ bằng thiết bị đầu cuối và gõ như sau:

sudo snap set nextcloud php.memory-limit=512M.

Giờ đây Nextcloud đã hoạt động, bạn có thể đăng nhập, xem qua các ứng dụng có sẵn, chia sẻ tệp với người khác và cài đặt Nextcloud trên máy tính để bàn và thiết bị di động để đồng bộ hóa nhiều thiết bị. Nextcloud cung cấp các đồng bộ hóa máy tính để bàn và ứng dụng di động cho Windows, Mac, Linux, iPhone, iPad và Android.

Xem thêm: Cài đặt alpine linux trên vmware

Check Also

login_mysql

Hướng dẫn cài Mysql 5.6 trên Ubuntu 20.04

Nếu đang sử dụng Ubuntu 20.x mà cần  cài mysql 5.6 để sử dụng thì …