在 Windows 平臺(tái)下搭建docker - nextCloud 個(gè)人云盤

一直感覺放在百度網(wǎng)盤里面的數(shù)據(jù)很不安全,因?yàn)橹耙驗(yàn)榇嬉恍┘夹g(shù)教程被封過號(hào),再也沒活過來。正巧趕上盤當(dāng)勞事件,手里還有閑置硬件資源,終于下定決心自己搭建一個(gè)? NAS 來用了。?

  1. 先掛載到本地磁盤中,因?yàn)槲覀儾幌胍驗(yàn)榇鎯?chǔ)的數(shù)據(jù)隨著容器的刪除而消失,如下圖先創(chuàng)建共享文件夾,這里我指定的是E盤
image.png
  1. 因?yàn)楣俜酵扑]我們不要用 sqlite 數(shù)據(jù)庫,那我們就是用 mysql 數(shù)據(jù)庫,搭建 docker 環(huán)境

先進(jìn)行安裝:docker pull mysql

掛載啟動(dòng):docker run -d -e MYSQL_ROOT_PASSWORD=a123456 --name mysql -v e:/mysql:/var/lib/mysql -p 3306:3306 mysql

意思是在3306端口啟動(dòng)了一個(gè)服務(wù)名稱為 mysql 且 root 用戶的密碼為 a123456 的最新版的數(shù)據(jù)庫服務(wù)了.且掛載地址為 e:/mysql,這樣你可以從掛載目錄下面查看到刷刷刷的文件創(chuàng)建了。

  1. mysql 數(shù)據(jù)庫建庫

進(jìn)入bash命令:docker exec -it mysql bash

登錄mysql:mysql -u root -p

創(chuàng)建名為 nextcloud 的數(shù)據(jù)庫:create database nextcloud default character set utf8 collate utf8_general_ci;

創(chuàng)建用戶 nextcloud 密碼為 adminadsdff:CREATE USER 'nextcloud'@'%' IDENTIFIED BY 'adminadsdff';

(推薦) 或者使用老驗(yàn)證模式創(chuàng)建用戶(php使用):CREATE USER 'nextcloud'@'%' IDENTIFIED WITH mysql_native_password BY 'adminadsdff';

查看用戶是否創(chuàng)建成功: select user,host from mysql.user;

授權(quán):GRANT ALL ON nextcloud.* TO 'nextcloud'@'%';

查看授權(quán): show grants for 'nextcloud'@'%';

  1. 啟動(dòng) nextCloud 并對(duì)文件進(jìn)行掛載

拉?。?code>docker pull nextcloud

docker run -d -p 9000:80 \

-v e:/nextcloud/main:/var/www/html \

-v e:/nextcloud/apps:/var/www/html/custom_apps \

-v e:/nextcloud/config:/var/www/html/config \

-v e:/nextcloud/data:/var/www/html/data \

--name nextcloud nextcloud

解釋如下(dockerhub 中有):

image.png
  1. 設(shè)置管理員用戶名密碼,這里會(huì)報(bào)錯(cuò):

SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

是由于MySQL 8默認(rèn)使用了新的密碼驗(yàn)證插件:caching_sha2_password,而之前的PHP版本中所帶的mysqlnd無法支持這種驗(yàn)證。有好幾種方式解決這個(gè)問題:

  1. 已存在用戶直接更改驗(yàn)證方式:

ALTER USER 'nextcloud'@'%' IDENTIFIED WITH mysql_native_password

(推薦) ALTER USER 'nextcloud'@'%' IDENTIFIED WITH mysql_native_password BY 'nextadmin';

采用前一種方式,賬戶的密碼將被清除;BY子句將為賬戶設(shè)置新的密碼。

  1. 依舊會(huì)報(bào)錯(cuò),說你的路徑別的用戶也能訪問,請(qǐng)更改權(quán)限為 0770 以避免其他用戶查看目錄

config.php 下加入 'check_data_directory_permissions' => false 即可

  1. 文件上傳太慢,如何服務(wù)器直接拷入?

網(wǎng)上的教程都是錯(cuò)的,應(yīng)該執(zhí)行這個(gè)命令:sudo -u root php occ files:scan --all,如果沒有 sudo ,先安裝

試用一下,全速下載,美滋滋。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容