NextCloud官網
NextCloud檔案
相信很多朋友都用過網盤,使用最多、吐槽最多也莫過于某度盤,下載速度基本回到10年前的網速,我是不想用它了,今天就教搭建使用個人服務器搭建一個屬于個人的網盤,
網盤系統有很多,比如Cloudreve、ownCloud、Nextcloud等,當筆者要推薦的Nextcloud,本文就教大家快速搭建Nextcloud網盤,

6.1 NextCloud簡介
Nextcloud是一款開源免費的私有云存盤網盤專案,可以讓你快速便捷地在個人/公司電腦、服務器甚至是樹莓派等設備上搭建一套屬于自己或團隊的云同步網盤,從而實作跨平臺跨設備檔案同步、共享、版本控制、團隊協作等功能,它的客戶端覆寫了Windows、Mac、Android、iOS、Linux 等各種平臺,也提供了網頁端以及 WebDAV介面,所以你幾乎可以在各種設備上方便地訪問你的云盤,

另外,Nextcloud 還支持 API 和插件擴展,用戶可以通過安裝各種「插件」來增強網盤的功能,比如 Markdown 編輯器、筆記、日歷、任務串列、音樂播放器、檔案編輯等等,
Nextcloud 服務端使用 PHP+MySQL 的經典組合,如果你有過建站經驗,那么可以非常簡單地在 VPS 服務器或個人電腦上架設并運行起來,因為 Nextcloud 就像搭建一個 WordPress 博客那樣簡單,官方推薦在 Linux (如 Ubuntu 或 CentOS) 系統下搭建服務器端,會比 Windows 相對穩定些,
Nextcloud 服務器搭建方法也有很多,比如使用寶塔面板搭建,當然最快捷的莫過于使用docker了,筆者在前面已經安裝了docker,這里就直接使用了,
6.2目錄準備
我的硬碟是掛在在/srv/目錄下,設備名是dev-disk-by-uuid-a7cf6061-870f-4584-875b-d2fe73f1f5c2,
預先準備一下幾個子檔案夾,如下:
db : nextcloud依賴的持久化資料的資料庫
html: nextcloud的資源組態檔夾
data: nextcloud的個人同步檔案

6.3資料庫準備(非必須)
默認情況下,NextCloud使用的是SQLite資料庫進行資料存盤,它僅適用于沒有客戶端同步的測驗和輕量級單用戶設定,當多用戶、多設備、大資料量的時候,SQLite就不太合適了,NextCloud支持MySQL,MariaDB,Oracle 11g和PostgreSQL等多種資料庫,并且推薦使用MySQL / MariaDB,所以為了一勞永逸,還是用MySQL代替吧,MariaDB是MySQL源代碼的一個分支,這里使用MariaDB作為資料庫支撐,
安裝mariadb
mariadb的安裝還是使用docker進行, 打開你的終端,復制以下命令創建mariadb容器,即可,
docker run -d --name db_nextcloud \
-p 3307:3306 \
-e PUID=1000 \
-e PGID=100 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=nextcloud \
-e MYSQL_USER=nextcloud \
-e MYSQL_PASSWORD=123456 \
--restart=unless-stopped \
-v /srv/dev-disk-by-uuid-a7cf6061-870f-4584-875b-d2fe73f1f5c2/nextcloud/db:/var/lib/mysql \
mariadb
命令引數釋義(具體的引數釋義可以查看鏡像地址https://hub.docker.com/_/mariadb) :
-d: 后臺運行容器,并回傳容器ID
-name: 為容器指定一個名稱
-p 3307:3306: 容器服務開放的埠,前者是宿主機的埠,后者是容器內服務的埠
-e PUID、-e PGID: 運行容器的用戶的權限集id
-e MYSQL_ROOT_PASSWORD: 資料庫root用戶的密碼
-e MYSQL_DATABASE=nextcloud :創建一個名稱為nextcloud的資料庫
-e MYSQL_USER:創建一個名稱為nextcloud的用戶
-e MYSQL_PASSWORD:名稱為nextcloud的用戶的密碼
–restart=unless-stopped:當容器停止時候重啟容器
-v:資料卷系結 前者是宿主機的地址,后者是容器機器的位置
例如: -v /src/dev-disk-by-uuid-a7cf6061-870f-4584-875b-d2fe73f1f5c2/nextcloud/db:/var/lib/mysql 把容器/var/lib/mysql的內容掛在到宿主機/src/dev-disk-by-uuid-a7cf6061-870f-4584-875b-d2fe73f1f5c2/nextcloud/db的位置

查看docker運行容器,看NAMES那一欄下面 有個db_nextcloud已經在運行,也能看到我們配置的埠,
#docker ps

另一個方式使用telnet驗證安裝是否成功
#telnet 127.0.0.1 3307

6.4安裝NextCloud
NextCloud的安裝也還簡單,依然是使用docker,復制下面的命令到終端運行即可 ,記得-v的前部分是你宿主機的地址,如果不想使用命令列安裝,需要使用OMV自帶的docker-gui界面操作也是可以的,將對應的-*的配置填到相應的界面框框內就可以了
docker run -d --name nextcloud \
-p 8888:80 \
--restart=unless-stopped \
-v /srv/dev-disk-by-uuid-a7cf6061-870f-4584-875b-d2fe73f1f5c2/nextcloud/html:/var/www/html \
-v /srv/dev-disk-by-uuid-a7cf6061-870f-4584-875b-d2fe73f1f5c2/nextcloud/data:/var/www/html/data \
nextcloud
命令引數釋義:
-p 8888:80: 容器服務開放的埠,前者是宿主機的埠,后者是容器內服務的埠
–restart=unless-stopped:當容器停止時候重啟容器
-v:資料卷系結 前者是宿主機的地址,后者是容器機器的位置
Nextcloud安裝以及資料庫之外的所有資料(檔案上載等)都存盤在容器地址/var/www/html中,要想持久化你的資料,不通過nextCloud也可以查看的話,應當映射到宿主機的某個位置上
Nextcloud的卷配置還是挺多的,例如配置(config)、資料(data)、主題(themes)等
nextcloud的一些卷地址:
/var/www/html 更新所需的主檔案夾
/var/www/html/custom_apps你自己手動安裝的應用位置
/var/www/html/config 本地組態檔位置
/var/www/html/data 你的網盤資料存放的位置
/var/www/html/themes/<YOU_CUSTOM_THEME> 主題檔案位置
以上卷映射我這里只把data單獨抽出來了,其他的配置全部默認放在/var/www/html映射的位置里

查看容器運行:
# docker ps

6.5訪問NextCloud
在Docker中完成搭建作業,并在路由器完成埠轉發作業后,我們通過DDNS上設定的遠程地址和相應埠,訪問nextcloud的web界面,打開瀏覽器,瀏覽器輸入http://你的IP:8088即可訪問nextcloud了,
剛開始的界面如下:

第一項配置是配置日后訪問nextcloud的一個管理員用戶名和密碼
第二項是資料目錄,這個我們在運行容器的時候已經指定了位置,所以這里不用動
第三項就是配置外置資料庫的連接資訊了,將之前我們創建mariadb的資訊填寫進去,其實這里也可以在安裝nextcloud的時候將之前的mariadb容器連接進去,這里就手動填寫了,要注意資料庫的服務埠如果宿主機和容器埠映射的不一樣的話,這里要寫宿主機的埠,例如現在我的mariadb容器的服務埠3306映射到了宿主機的3307埠上了,所以這里使用的埠為3307,
所有資訊填寫完成后,點擊安裝完成,這一步驟會比較的耗時間,nextcloud需要創建資料庫表和一些初始化配置資訊,
填寫完成后,點擊【安裝完成】,等待片刻即可,

安裝完成后,使用Windows、Mac、Android、iOS、Linux客戶端登錄服務器和網頁班看到的是一樣的,這里就不在贅述了,
歡迎訪問我的網站
BruceOu的嗶哩嗶哩
BruceOu的主頁
BruceOu的博客
BruceOu的CSDN博客
BruceOu的簡書
BruceOu的知乎
歡迎訂閱我的微信公眾號

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/350767.html
標籤:其他
上一篇:Python 大白從零開始 OpenCV 學習課-3.影像的創建與修改
下一篇:Java類加載機制
