Note này mình tiếp tục chia sẻ và giới thiệu cho anh em thích vọc vạch trên Synology NAS hoặc XPEnology một ứng dụng private cloud viết bằng ngôn ngữ PHP là NextCloud. Nextcloud là bộ phần mềm máy khách-máy chủ để tạo và sử dụng dịch vụ lưu trữ tệp. Nextcloud là mã nguồn mở và miễn phí, có nghĩa là bất kỳ ai cũng được phép cài đặt và vận hành nó trên các thiết bị máy chủ riêng của họ.
Giới thiệu qua về NextCloud.
Nếu bạn không còn muốn sử dụng các lưu trữ đám mây thông thường như Dropbox và Google Drive nữa và muốn tạo một đám mây tự lưu trữ (Self-hosted) riêng cho nhóm hoặc gia đình… của bạn thì Nextcloud là một giải pháp lý tưởng. Nó cung cấp gần như tất cả các tính năng cần thiết của một dịch vụ lưu trữ đám mây cùng với tất cả các quyền kiểm soát và bảo mật riêng tư.
Trong bài này, chúng ta sẽ cùng tìm hiểu về Nextcloud, và sau đó thiết lập nó để tạo ra một đám mây riêng trên thiết bị Synology NAS hoặc XPEnology. Nếu bạn cần một đám mây riêng bằng cách sử dụng Nextcloud thì hãy làm theo hướng dẫn này.
Tại sao lại sử dụng Nextcloud?
Nextcloud hỗ trợ rất nhiều cho các nền tảng phổ biến – các nền tảng di động cũng như máy tính để bàn. Nó cung cấp các ứng dụng gốc cho hầu hết các hệ điều hành, cho phép bạn hoặc nhóm của bạn làm việc từ bất kỳ thiết bị hoặc địa điểm nào. Điều đó có nghĩa, không phát sinh chi phí cơ sở hạ tầng.
- Nextcloud tích hợp nhiều tính năng giúp nó trở thành một giải pháp để tạo đám mây riêng tuyệt vời. Một số tính năng nổi bật của nó bao gồm:
- Giải pháp tự lưu trữ – Bạn có thể kiểm soát Nextcloud gần như mọi nơi – nhà riêng hoặc văn phòng, trung tâm dữ liệu hoặc nhà cung cấp dịch vụ lưu trữ. Nó cho bạn toàn quyền kiểm soát việc lưu trữ dữ liệu.
- Tính năng chia sẻ – Nextcloud cho phép chia sẻ các file một cách an toàn. Bạn có thể chia sẻ file với bất kỳ ai trên hoặc ngoài đám mây bằng cách sử dụng liên kết được bảo vệ bằng mật khẩu và họ cũng có thể tải file lên.
- Ưu tiên bảo mật – Nextcloud có các phương pháp bảo mật tiêu chuẩn bao gồm tính năng mã hóa đầu cuối. Nó hỗ trợ các chương trình xác thực, kiểm soát và sơ đồ cấp phép phổ biến.
- Rất nhiều tích hợp – Nextcloud đi kèm với hỗ trợ tích hợp – ứng dụng và dịch vụ để mở rộng chức năng của đám mây. Ví dụ, bạn có thể quản lý công việc, chỉnh sửa file trong Markdown và thực hiện nhiều tác vụ khác.
Chuẩn bị.
- Trước hết bạn cần phải xem qua các bài viết và làm các việc sau:
- Hướng dẫn cài đặt Web Station.
- Hướng dẫn DDNS cho Domain (tên miền).
- Tạo chứng chỉ SSL cho Domian.
- Lên Google tìm hiểu cách sử dụng NextCloud nếu không rõ. Mình chia sẻ cách cài đặt trên Synology NAS – XPEnology thôi.
- Nếu bạn cho trang web online (truy cập từ internet). Vào trang quản lý Modem mở các cổng (nat port) 80 và 443 cho IP Synology NAS. Hoặc dùng DMZ trỏ về địa chỉ IP Synology NAS của bạn cho nhanh. Không rõ cũng lên Google tìm hiểu 😆
Bước 1: Tải mã nguồn NextCloud.
Bạn vào trang chủ để tải bản mới nhất tại đây.
Bước 2: Tạo CSDL trong phpMyAdmin.
Bạn có thể dùng SQLite để cài đặt. Nếu dùng SQLite thì bỏ qua bước này. Nhưng mình khuyên lên dùng MySQL (Maria DB) để có tính ổn định cao.
Bạn vào Main Menu mở ứng dụng phpMyAdmin. Xem hướng dẫn tại đây nếu bạn chưa cài phpMyAdmin.
Bước 3: Tạo Virtual Host – Cấu hình Web Station.
Khi cài đặt trên Synology NAS bạn cần cấu hình PHP riêng, chính vì vậy mình khuyên bạn lên dùng Virtual Host để không ảnh hưởng đến các dự án web khác của bạn.
Bạn xem hướng dẫn chi tiết tại đây.
Cấu hình PHP.
Tại thời điểm bài viết này thì bản mới nhất nhất trên Package Center là PHP 7.3. Bạn tiến hành cấu hình phiên bản mới nhất như hình dưới.
Thẻ General Settings.
- (3)(4)(5) Bạn làm như hình.
- (6) Bạn thêm đường dẫn thư mục data của NextCloud.
- Của mình là: /volume1/Cloud/
- (7) Bạn có thể bật tất các Extensions hoặc Extension sau:
- PHP module ctype
- PHP module curl
- PHP module dom
- PHP module GD
- PHP module iconv
- PHP module JSON
- PHP module libxml (Linux package libxml2 must be >=2.7.0)
- PHP module mbstring
- PHP module openssl
- PHP module posix
- PHP module session
- PHP module SimpleXML
- PHP module XMLReader
- PHP module XMLWriter
- PHP module zip
- PHP module gd
- PHP module mysqli
- PHP module pdo_mysql
- PHP module bz2
Thẻ Core.
- mysql.default_port=3307 (cổng mặc định của MariaDB 10)
- memory_limit=512M
- opcache.enable=1
- opcache.enable_cli=1
- opcache.interned_strings_buffer=8
- opcache.max_accelerated_files=10000
- opcache.memory_consumption=128
- opcache.save_comments=1
- opcache.revalidate_freq=1
- upload_max_filesize=128M (Cho phép upload file dung lượng tối đa)
- post_max_size=128M
Tạo Virtual Host hoặc cấu hình Web Station.
Tạo Virtual Host (lên dùng).
- Trỏ tên miền về IP.
- Vào trang quản lý tên miền trỏ về IP của bạn. Nếu mạng internet nhà bạn có ip tĩnh.
- Trường hợp không có IP tĩnh thì bạn tham khảo bài viết Hướng dẫn DDNS cho Domain (tên miền).
- (3) Nhập tên miền của bạn.
- (4) Tìm đến thư mục lưu trữ NextCloud.
- (5) Nếu dùng SSL – HTTPS.
- (6) Chọn Apache HTTP Server.
- (7) Chọn PHP vừa cấu hình.
Cấu hình Web Station.
- (2) Chọn Apache HTTP Server.
- (3) Chọn PHP vừa cấu hình.
Chú ý: Bạn chỉ cần làm 1 trong 2 phương án trên. Mình khuyến khích các bạn dùng Virtual Host vì nhìn chuyên nghiệp và không ảnh hưởng đến các dự án web khác của bạn.
Bước 4: Cấp quyền cho các thư mục.
Để nhanh và chuẩn xác thì mình sẽ hướng dẫn cấp quyền thông qua SSH. Bạn có thê xem cách mở SSH tại đây nếu chưa biết.
- Bạn thực hiện lần lượt các lệnh sau trong quyền root.
- chown -R http:http /volume1/web/nextcloud/
- chown -R http:http /volume1/web/nextcloud/apps/
- chown -R http:http /volume1/web/nextcloud/config/
- chown -R http:http /volume1/web/nextcloud/themes/
- chown -R http:http /volume1/Cloud/
- chown http:http /volume1/web/nextcloud/.htaccess
- find /volume1/web/nextcloud/ -type f -print0 | xargs -0 chmod 777
- find /volume1/web/nextcloud/ -type d -print0 | xargs -0 chmod 777
- find /volume1/Cloud/ -type d -print0 | xargs -0 chmod 777
- chmod 777 /volume1/web/nextcloud/.htaccess
- Trong đó:
- /volume1/web/nextcloud/ tương ứng với thư mục lưu trữ mã nguồn NextCloud.
- /volume1/Cloud/ tương ứng với thư mục data (dữ liệu) của NextCloud.
Bước 5: Cài đặt NextCloud.
- Bạn tiến hành truy cập vào địa chỉ NextCloud của bạn.
- Truy cập bằng tên miền nếu bạn dùng Virtual Host.
- Truy cập <IP hoặc Domain>/nextcloud nếu bạn cấu hình trực tiếp trong Web Station.
- (1) Bạn nhập tài khoản và mật khẩu.
- (2) Nhập đường dẫn thư mục data.
- (3) Chọn MySQL/MariaDB (khuyên dùng).
- Chọn SQLite nếu bạn không dùng MySQL/MariaDB.
- (4) Nhập thông tin MySQL/MariaDB.
- Tài khoản: root
- Mật khẩu: tài khoản root
- Tên cơ sở dữ liệu: nextcloud (tạo ở bước 2)
- Host: 127.0.0.1:3307
- (5) Tick cài thêm các ứng dụng Calendar, Contacts…
Chú ý: Thời gian cài khá lâu nên hay xảy ra lỗi 504 Gateway Time-out. Nếu gặp lỗi này các bạn cứ để vậy vì lúc này quá trình cài đặt vẫn đang diễn ra. Các bạn đợi tầm 5 phút rồi truy cập lại là được.
Sau khi cài đặt xong, bạn tiến hành đăng nhập vào tài khoản vừa tạo và sử dụng NextCloud .
Cuối cùng bạn vào đây để tải các ứng cho PC, MAC, các thiết bị cầm tay thông minh…
Kết !
Thực tế mình không dùng NextCloud, mình dùng Synology Drive. Thời gian đầu mình dùng song song giữa hai thèng 😎 , cuối cùng mình chọn Synology Drive vì nó hàng chính hãng, độ ổn định cao . NextCloud sẽ phù hợp cho bạn nào thích vọc vạch, muốn có một private cloud với nhiều chức năng và có sự tùy biến cao 🙂
Bạn có thể áp dụng cách cài đặt này cho ownCloud. Vì thực tế NextCloud phát triển từ mà nguồn của ownCloud. Giữa hai mã nguồn mở này thì mình khuyên bạn lên dùng NextCloud vì trong mã nguồn đã có sẵn nhiều ứng dụng và bạn không cần cài thêm 🙂
Chúc các bạn thành công !
- Synology NAS – Cài đặt, Update ứng dụng nguồn ngoài
- Synology NAS – Thành Cloud Server – Làm việc tại nhà mùa “Em Cô vi”
- Synology NAS – Hướng dẫn sử dụng Docker
- Synology NAS – Hướng dẫn cài đặt PLEX Media Server (Update DSM 7)
- Synology NAS – Hướng dẫn cài đặt BitWarden
- Synology NAS – Hướng dẫn cài đặt NextCloud (Đang xem)
- Synology NAS – Sửa lỗi và ứng dụng của NextCloud
- Synology NAS – Hướng dẫn cài đặt Jellyfin Media Server
- Synology NAS – Hướng dẫn cài đặt YoutubeDL Material – Youtube Downloader
- Synology NAS – Hướng dẫn cài đặt Droppy
- Synology NAS – Hướng dẫn cài đặt Reactive Resume
- Synology NAS – Hướng dẫn sử dụng Synology MailPlus
- Synology NAS – Hướng dẫn sử dụng Cloud Sync
- Synology NAS – Hướng dẫn sử dụng nhanh DNS Server
- Synology NAS – Hướng dẫn cài đặt Syncthing
- Synology NAS – Hướng dẫn sử dụng IDrive
- Synology NAS – Tạo ổ cứng ảo với iSCSI
- XPEnology – Trải nghiệm DSM “chính hãng” với Virtual Machine Manager
- Synology NAS – Hướng dẫn cài đặt Kodbox
- Synology NAS – Hướng dẫn cài đặt Roon từ “kẻ ngoại đạo”
- Synology NAS – Hướng dẫn cài đặt Portainer
- Synology NAS – Hướng dẫn cài đặt Piwigo
- Synology NAS – Hướng dẫn cài File browser (Docker)
Hi,
Hiện mình đang cài nextcloud lên NAS, mình có tạo thư mục data của Nextcloud. Mình thử upload hay tạo trực tiếp folder trên đó nhưng khi login web thì không thấy được files hay folder mà tạo trực tiếp trên NAS.
Bạn làm như vậy không thấy là đúng rồi :D. Vì Nextcloud không tự động quyét các thư mục không được tạo bằng con đường “chính thống” qua Nextcloud. Bạn phải quyét file thủ công bằng lệnh.
Bạn chạy lệnh sau trong OCC (cái ứng dụng OCC Web để chạy):
files:scan –all
Thanks, mình đã thử và nó work. Cho mình hỏi thêm, mỗi lần như thế mình fai chạy lệnh đó hay sao, có cách nào để nó tự scan ko???
Ngoài ra, có cách nào mình mount thư mục trên NAS vào nextcloud ko Ad nhỉ, mình thử mount bằng external storage mà ko được.