Cài đặt NextCloud trên Ubuntu 22.04 với NGINX

NextCloud là gì?

Nextcloud là một phần mềm (Mã nguồn mở) miễn phí giống như Dropbox, Google Drive, một nhánh của dự án ownCloud. Nextcloud được viết bằng PHP và JavaScript, nó hỗ trợ nhiều hệ thống cơ sở dữ liệu như MySQL / MariaDB, PostgreSQL, Oracle Database và SQLite. Để giữ cho các tệp của bạn được đồng bộ hóa giữa Máy tính để bàn và máy chủ của riêng bạn, Nextcloud cung cấp các ứng dụng cho máy tính để bàn Windows, Linux và Mac và một ứng dụng di động cho Android và iOS. Nextcloud không chỉ là một bản sao dropbox, nó cung cấp các tính năng bổ sung như Lịch, Danh bạ, Lên lịch tác vụ và phát trực tuyến phương tiện với Ampache.

Cài đặt NextCloud trên Ubuntu 22.04 với NGINX

Chuẩn bị:

  • Máy chủ sử dụng Ubuntu 22.04 (Tham khảo các dịch vụ VPS tốt nhất tại đây)
  • RAM: 2GB (1 GB Tối thiểu, nhưng để hoạt động tốt hơn bạn nên dùng VPS có cấu hình RAM cao)
  • CPU: 2Core
  • Disk: 50GB

Bước 1: SSH vào máy chủ

Việc đâu tiên bạn cần SSH vào máy chủ để thực hiện cài đặt. Nếu bạn chưa biết cách thực hiện mời tham khảo khảo tài liệu hướng dẫn bên dưới.

SSH là gì – Hướng dẫn kết nối bằng MobaXterm

Bước 2: Cập nhật hệ thống

Bước 3: Cài đặt LEMP Stack

Thay vì sử dụng APACHE (LAMP Stack) mình luôn ưu tiên sử dụng NGINX làm máy chủ webserver. Bạn hãy thực hiện cài đặt bằng các lệnh sau:

  • Cài đặt NGINX

Để cài đặt NGINX bạn có thể cài nhanh bằng lệnh sau

Kích hoạt và khởi động NGINX

  • Cài đặt MariaDB Database Server

Mình sẽ sử dụng MariaDB làm máy chủ cơ sở dữ liệu. Bạn hãy cài đặt với lệnh sau.

Khởi động và kích hoạt MariaDB

Cấu hình bảo mật MariaDB

  • Cài đặt PHP

Ở đây mình sẽ cài đặt PHP7.4 và các extension đi kèm.

Kích hoạt và khởi động PHP cùng hệ thống

Bước 4: Lấy chứng chỉ SSL cho ServerName NextCloud

Ở đây mình sẽ hướng dẫn bạn thực hiện cài đặt SSL Let’s Encrypt sử dụng Certbot

  • Cài đặt Certbot

Python3-certbot-nginx là plugin Nginx cho Certbot. Bây giờ hãy chạy lệnh sau để lấy và cài đặt chứng chỉ TLS.

Lưu ý: Thay đổi nextcloud.minhtuan.name.vn bằng tên miền của bạn

Sau khi yêu cầu cấp phát chứng chỉ SSL xong, bạn sẽ nhận được 2 đường dẫn như ảnh trên. Bạn hãy copy đường dẫn này lại để sử dụng cho Bước 5

Bước 5: Cài đặt NextCloud

Sau khi đã thiết lập xây dựng hoàn tất webserver và máy chủ cơ sở dữ liệu. Thì ở bước này chúng ta sẽ bắt đầu tải source và cài đặt NextCloud.

Ở bài hướng dẫn này, mình sẽ cài đặt bản mới nhất hiện tại là bản 25.0.1

  • Giải nén file NextCloud vừa tải về

  • Tạo Database cho NextCloud

Tiếp theo bạn đăng nhập vào mysql bằng lệnh mysql và thực hiện tạo database_name và database_user cho nextcloud.

  • Tạo file cấu hình NGINX NextCloud

Bây giờ bạn hãy tạo file cấu hình nginx cho nextcloud sử dụng.

Sau đó bạn nhập vào nội dung file cấu hình mẫu bên dưới vào.

Lưu ý: Thay server_name nextcloud.minhtuan.name.vn; bằng tên server_name của bạn. Và thay ssl_certificate, ssl_certificate_key bằng đường dẫn SSL bạn lấy ở Bước 4

Sau khi nhập file cấu hình xong, bạn hãy kiểm tra xem có lỗi không bằng lệnh sau:

Nếu nhận được thông báo syntax is ok bạn hãy khởi động lại NGINX

Sau khi khởi động lại dịch vụ NGINX. Lúc này bạn có thể mở trình duyệt lên và truy cập vào serer-ip hoặc hostname để thực hiện tiếp các bước thiết lập NextCloud

Click Install recommended apps để cài đặt các app cần thiết.

Sau khi cài đặt hoàn tất các ứng dụng. Một giao diện quản trị xuất hiện như bên dưới. Có nghĩa bạn đã cài đặt thiết lập thành công.

Bước 6: Tạo User và Upload File

Để tạo User con bạn thực hiện như sau. Đâu tiên ở giao diện admin bạn click vào biểu tượng Profile sau đó chọn Users => New user

Tại giao diện New user bạn nhập vào các thông tin cần đặt cho User đó bao gồm:

  1. Username: Tên đăng nhập
  2. Display name: Tên hiển thị
  3. Password: Mật khẩu đăng nhập
  4. Email: Email của user
  5. Add user to group: Thêm vào nhóm
  6. Chọn dung lượng cho User

Sau khi tạo xong, bạn có thể đăng nhập vào User và thực hiện tải file lên sử dụng.

Kết luận

Như vậy mình đã hoàn tất hướng dẫn Cài đặt NextCloud trên Ubuntu 22.04 với NGINX.

Chúc bạn thực hiện thành công.