Nextcloud 是一個強大、安全且開源的自托管(on-premises)私有云協作平臺。簡單來說,它可以讓你在自己控制的服務器或電腦(無論是在本地機房、家用NAS,還是租用的VPS服務器上)上搭建一個類似 Dropbox、Google Drive、OneDrive 的云存儲和協作服務,但擁有完全的數據控制權和隱私保護。 主要功能 文件同步與共享: 協作: 在線辦公: 通過內置的Nextcloud Office(基于 Collabora Online 或 ONLYOFFICE 技術)直接在瀏覽器中協作編輯文檔(DOCX)、電子表格(XLSX)和演示文稿(PPTX)。 Talk: 集成的安全聊天、視頻會議(WebRTC)、屏幕共享和通話功能(支持 SIP 橋接)。 群件功能: 提供日歷、通訊錄、郵件客戶端(需連接 IMAP/SMTP 服務器)、任務管理、書簽管理等生產力工具,集成的非常好。
擴展性: 安全與合規: 數據主權: 數據存儲位置完全由你決定,符合GDPR等嚴格的隱私法規要求。 強大的安全機制: 包括雙因素認證、文件訪問控制、活動審計日志、病毒掃描集成、端到端加密(對文件內容進行客戶端加密)、服務端加密等。 安全審核: 作為開源項目,經常接受專業的安全審計。
用戶管理: 安裝 使用portainer來在docker安裝nextcloud。 打開portainer-Volumes界面,點擊Add volume,創建一個用來存放配置文件的文件夾,命名為nextcloud。打開portainer-container界面,點擊Add container。Name可以隨意填寫,推薦nextcloud,Image填寫nextcloud,端口映射Host填一個服務器沒有占用的端口,Container端口填寫80。目錄掛載,將/var/www/html映射到剛才創建的配置文件夾,將/var/www/html/data映射到保存文件的目錄。環境變量,配置一個NEXTCLOUD_TRUSTED_DOMAINS,這是信任的域名,多個域名用英文逗號隔開。建議配置localhost,服務器IP地址,你擁有的外網域名。 這里我遇到了配置多個域名有一些域名不生效的問題,暫且不用管,后面可以編輯配置文件信任多個域名。 修改重啟策略為Unless stopped,然后拉取鏡像并創建容器。等待容器創建成功就可以在瀏覽器里訪問了,訪問地址通常為: http://你服務器的IP地址:端口號
如果你存放的文件很少,那么直接使用SQL lite數據庫就行。直接點擊主界面的安裝按鈕,會自動創建SQL Lite數據庫文件。輸入管理員的賬戶密碼后就可以使用了。如果文件較多,可以自建Mysql、MariaDB、PostgreSQL數據庫,我采用的是自建PostgreSQL的方式。 安裝PostgreSQL 依然是采用portainer來安裝,同樣的在portainer-volumes界面創建一個PostgreSQL的卷,用來存放配置文件和數據。 
Name可以隨意填寫,推薦填寫PostgreSQL,Image填寫postgres,Host端口選一個沒有被占用的服務器端口,Container端口填寫80。 數據將/var/lib/postgresql/data映射到剛才創建的PostgreSQL卷。環境變量設置一下數據庫的用戶名POSTGRES_USER和密碼POSTGRES_PASSWORD,這兩個自己填寫就行了,需要記住,等下NextCloud連接的時候要用到。修改重啟策略為Unless Stopped,然后拉取鏡像并創建容器。等待容器創建成功,然后用工具連接并創建名為nextcloud的數據庫。我用的是Navicat Premium Lite,這個版本是免費的。下載鏈接https://www./download/navicat-premium-lite 打開navicat,新建一個連接,名稱可以隨便寫,主機那里填寫PostgreSQL服務器的IP(由于我是本機安裝,所以填寫的是localhost),端口填寫剛才映射的host端口,用戶名和密碼填入剛才設置的,然后連接。 連接成功以后,右鍵新建一個數據庫,只需要輸入名稱nextcloud就行。這個時候返回nextcloud的主界面,然后點擊配置數據庫,選擇PostgreSQL,然后填入正確的賬號密碼和剛才創建的nextcloud數據庫名稱。數據庫主機這里注意要填寫服務器IP:端口號,因為容器是網絡隔離的,不能填寫localhost。填寫好以后就點擊安裝,就可以進入nextcloud的主界面了。 使用 Nextcloud使用和OneDrive類似,都是同步盤。推薦去nextcloud官網下載客戶端使用,安裝客戶端以后可以無感的編輯本地文件,完成以后會自動給你同步到服務器上,多個設備間使用比較絲滑。下載鏈接:https:///install/#desktop-files 不過Nextcloud通常需要搭配外網使用,如果是純內網那不用這么麻煩,直接開一個smb共享就行了。可以搭配lucky進行外網訪問。外網訪問時,如果之前環境變量NEXTCLOUD_TRUSTED_DOMAINS沒生效,需要修改一下nextcloud的配置文件。依然可以使用portainer的命令工具來修改,找到nextcloud容器,點擊命令行按鈕。輸入命令
然后輸入命令
這個時候可能會報錯,提醒bash: vim: command not found,說明portainer沒有這個指令,臨時安裝一下,輸入指令: apt update && apt install -y vim
需要注意的是,服務器操作系統不同,可能指令也不一樣,這是Deepseek老師提供的指令: 這個時候再使用命令:
可以正常看到編輯config.php的界面了: 找到trusted_domains,在下面加入你要信任的域名就行了,按i鍵進行插入。編輯完成以后按Esc鍵退出,然后輸入:wq就保存了。 客戶端使用 安裝好以后打開,點擊log in配置自己的服務器。 輸入服務器地址,點擊next,他會打開你的服務器網頁,讓你登錄進行認證。然后在客戶端上選擇一個同步文件夾,選擇好以后點擊Connect就可以了。然后打開文件夾和網頁比對,可以看到目錄結構是一樣的。你在同步文件夾內創建文件或文件夾網頁上刷新就會有,同樣的你在網頁上創建文件或文件夾,在同步文件夾內也會出現。同理刪除和修改也是一樣的,一邊刪除或修改另外一邊會同步刪除或修改。這里可以注意一下狀態欄,白色空心云朵意思是文件保存在服務器上,本地沒有保存,只是一個目錄結構。當然使用的時候可以直接雙擊打開,他會自動去服務器上下載。綠色打勾的就表示本地和服務器上都保存了,如果不想保存在本地,切勿刪除,右鍵點擊文件,選nextcloud-free up local space就行了。這個操作是釋放本地空間,但是文件還是在服務器上,如果直接刪除的話,兩邊會同步刪除。Nextcloud的文件是線性保存的,在服務器上我們映射的路徑下,也可以找到該文件。然后Nextcloud可以搭配onlyoffice在線編輯word、excel、ppt等文件,等有空的時候再記錄一下。
|