Docker方式部署Nextcloud


如果你想搭建個人或者團隊私有網盤,那么 NextCloud 可能是目前最好的選擇了。

網盤介紹

眾所周知,國內很多網盤都關停了,現有的百度雲還限速,甚至網盤里的文件還會被刪除,網盤使用體驗差、安全性堪憂。

團隊內部分享文件,用微信傳輸有大小限制,且只能通過公網上傳下載;用 QQ 傳輸雖然可以通過內網傳輸,但是有的文件是公司的機密,直接傳輸有泄露的風險,打包加密傳輸又太麻煩;並且不同部門對文檔的操作權限也應該是不同的。

這個時候,如果有這么一套系統,既能夠部署在局域網環境,又可以設置不同用戶組對文檔的訪問權限,還可以實現內網 + 公網訪問,豈不是完美解決了以上問題。

這就要說起今天的主角了--「Nextcloud」,ownCloud 創始團隊的新作,基於 ownCloud 開發,但是賦予了更多的特性,並且更加穩定,可以自定義部署,支持各種插件,甚至可以端到端加密等等。

(其實也可以考慮使用群輝等 NAS 設備,相對於非技術人員配置相對會更簡單,不過不在本文討論范圍,以后有機會再寫。)

安裝

1、環境配置

首先,你需要有一台 Linux 環境的服務器,推薦使用 CentOS,本文及后續文章都會以 CentOS 為例。

其次,要在服務器上搭建 Docker 環境並啟動 Docker,詳細的操作參考我的上一篇文章「Docker環境搭建(CentOS篇)」。

對於 Docker 不了解也不要緊,只要按照下面的步驟進行操作即可。

2、拉取鏡像

在終端執行以下命令,拉取 Nextcloud 鏡像:

docker pull nextcloud

拉取到的 Nextcloud 鏡像的 tag 是 latest,顯示以下信息即表示拉取成功:

Using default tag: latest
latest: Pulling from library/nextcloud
bc51dd8edc1b: Pull complete
a3224e2c3a89: Pull complete
be7a066df88f: Pull complete
bfdf741d72a9: Pull complete
a9e612a5f04c: Pull complete
c026d8d0e8cb: Pull complete
d94096c4941c: Pull complete
5a16031a7587: Pull complete
0cf1daf9efc0: Pull complete
b202acb13a6c: Pull complete
907001e30880: Pull complete
2e4b329c80b2: Pull complete
cd1ec92e7164: Pull complete
8cba435f5ca6: Pull complete
e15a177658f6: Pull complete
9b26736059ce: Pull complete
53dbece8c17a: Pull complete
07158f924c2a: Pull complete
5ea6266119b8: Pull complete
e377a8cc542f: Pull complete
5662efc30cde: Pull complete
Digest: sha256:fa863d16c10387f4bae140bdd38f5591aa4b88f1292593dcffa501b9e1a76e58
Status: Downloaded newer image for nextcloud:latest
docker.io/library/nextcloud:latest

3、啟動容器

執行以下命令,啟動 Nextcloud 容器:

docker run -d --restart=always --name nextcloud -p 80:80 nextcloud

簡單解釋一下上述命令:

  • docker run :啟動一個容器
  • -d:后台運行容器
  • --restart=always:Docker 重啟的時候容器也會重啟
  • --name nextcloud:命名容器的 name 為 nextcloud,可以替代容器 id 使用
  • -p 80:80:將容器的 80 端口映射到服務器的 80 端口
  • nextcloud:要啟動的鏡像名稱

更多參數可以參考:https://hub.docker.com/_/nextcloud/

執行之后會顯示一個類似下面的長串字符,表示啟動成功:

526306c7a591205f6d2cd417384571b358e738e3c8b52c16c1fc6f1893c8535f

也可以使用下面命令查看容器是否正常運行:

docker ps

如果顯示以下內容,表明容器已經在運行中了:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
619d34210996        nextcloud           "/entrypoint.sh apac…"   1 hours ago        Up 1 hours         0.0.0.0:80->80/tcp                  nextcloud

4、初始化安裝

需要注意的是,如果使用的阿里雲或騰訊雲的服務器,要檢查服務器的安全組是否開放了 80 端口,沒有開放的需要開放一下。

如果使用的是本地虛擬機,需要執行以下命令開放 80 端口對外訪問:

firewall-cmd --zone=public --add-port=80/tcp --permanent

然后更新防火牆規則:

firewall-cmd --reload

使用瀏覽器訪問 http://服務器ip 即可進入初始化設置頁面。

直接輸入管理員用戶名和密碼即可,數據庫使用默認的 SQLite,后面有時間會寫下怎么連 MySQL,安裝推薦的應用勾不勾選無所謂,安裝地址被牆了,即使勾選也不會安裝。

初始化安裝

初始化成功后彈出一個歡迎頁面,關閉之后就進入到首頁了,如下:

首頁

將域名解析到服務器,即可實現外網訪問 Nextcloud。

Enjoy it !

總結

個人認為,部署 Nextcloud 最簡單的方法就是使用 Docker 進行部署,其他方式多多少少都有些復雜,想了解更多部署方式請訪問:「Nextcloud 安裝說明」。

本文介紹的只是最基礎的環境部署,如果要在團隊中的使用,還有很多需要優化和完善的地方,比如說數據庫要改為 MySQL,插件的安裝使用等等,后面有時間會再寫一下相關的內容。

歡迎訪問的個人博客:掘墓人的小鏟子


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM