擁有你自己的私有網盤--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 安裝說明[1]」。

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

引用鏈接

[1] Nextcloud 安裝說明: https://nextcloud.com/install/#instructions-server

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章