樹莓派搭建next_cloud木西,掛載外部存儲以及內網穿透記錄

微恙在家畴栖,思來想去不如嘗試搭建一套自己的家庭云盤(選擇了目前比較流行的nextcloud),一來充分利用下賦閑的樹莓派八千,二來練練手多了解點新東西吗讶。記錄一下搭建的大致過程和碰到的問題,僅供參考恋捆。

正文

1. nextcloud基礎搭建

1.1 樹莓派系統(tǒng)燒錄

樹莓派型號:3B或者4B都可以照皆,sd卡最好是16G以上,當然沸停,有條件的可以直接上4B+8g版的膜毁,因為搭建家庭云只是樹莓派的一個服務,還可以做更多更有趣的事兒

系統(tǒng)鏡像:可以去樹莓派官網下載最新的https://www.raspberrypi.org/software/operating-systems/愤钾,我這里直接用的店家附贈的稍舊一點的鏡像2020-05-27-raspios-buster-full-armhf(官方版本).zip瘟滨,都是32位的,64位的暫時沒有試過能颁。

燒錄:把準備好的sd卡插入電腦杂瘸,燒錄工具我使用了購買樹莓派時候送的:balenaEtcher,過程挺小白伙菊,如圖一步步操作就好:


1.2 源更新(加速下載)

將燒好系統(tǒng)的sd卡插入樹莓派中胧沫,通電啟動后連接下顯示器,進行必要的設置占业,比如連接wifi绒怨,enable ssh等等,網上一堆樹莓派入門文檔谦疾,這里不贅述南蹂,

然后在windows上可以使用putty這個工具,在HostName中輸入內網樹莓派的地址(可以登錄家中路由器網址查看念恍,我自己的是小米的:192.168.31.1)六剥,則可以內網遠程訪問樹莓派:

遠程登錄,進入到樹莓派linux界面后峰伙,可以查看下debian版本號:cat /etc/debian_version疗疟,我的是10.9

然后修改下樹莓派apt源:

1)先備份原文件

?sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

sudo cp? /etc/apt/sources.list.d/raspi.list? ?/etc/apt/sources.list.d/raspi.list.bak

2)修改編輯系統(tǒng)源文件

sudo vim /etc/apt/sources.list (沒有裝vim的同學可以先:sudo apt-get install vim)

將初始的源使用#注釋掉,添加如下兩行清華的鏡像源:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

注意系統(tǒng)版本瞳氓,我這里是buster版本策彤,可以通過?cat /etc/os-release 來查詢os版本信息

3)修改系統(tǒng)源

sudo vim /etc/apt/sources.list.d/raspi.list

將初始的源使用#注釋掉,用以下內容取代:

deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

4)執(zhí)行更新

sudo apt-get update (更新索引)

sudo apt-get update (更新文件)


1.3 安裝docker

使用apt安裝稍微麻煩點,這里使用腳本自動安裝店诗,使用如下命令:

curl -fsSL get.docker.com -o get-docker.sh

sudo sh get-docker.sh --mirror Aliyun

安裝好后啟動docker

sudo systemctl enable docker

sudo systemctl start docker

建立docker用戶組裹刮,避免權限問題(默認情況下,docker 命令會使用 Unix socket 與 Docker 引擎通訊庞瘸。而只有 root 用戶和 docker 組的用戶才可以訪問 Docker 引擎的 Unix socket)

sudo groupadd docker? #添加docker用戶組

sudo gpasswd -a $xxx docker? #檢測當前用戶是否已經在docker用戶組中捧弃,其中xxx為用戶名

sudo gpasswd -a $USER docker? #將當前用戶添加至docker用戶組

newgrp docker? #更新docker用戶組

執(zhí)行 命令: docker version,應該不會再出現“Got permission denied”權限報錯擦囊,表示docker可以正常使用


1.4 安裝next_cloud

進入正題了违霞,安裝next_cloud之前,首先要安裝數據庫(當然瞬场,簡單使用的話也可以不用)买鸽,我們可以再在docker中進行,先拉適合的鏡像

docker pull hypriot/rpi-mysql

創(chuàng)建名稱為mysql的容器

docker run -it --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=你的密碼 -d hypriot/rpi-mysql

-p 表示端口映射

-d 剛才拉取的鏡像

然后泌类,拉取nextcloud的鏡像

docker pull nextcloud

創(chuàng)建名稱為nextcloud的容器

docker run -it -d --name nextcloud --link mysql:db -p xxxx:80 -v /nextcloud:/var/www/html/data -d nextcloud

這里注意幾點:

--link 關聯了mysql數據庫

-p xxxx 是nextcloud映射出來的端口號癞谒,自行設定底燎,比如8123

-v?/nextcloud:/var/www/html/data 是nextcloud在docker中的掛載目錄


啟動了mysql和nextcloud的docker后刃榨,可以使用命令 docker ps 查看已經啟動的服務

另外,如果需要每次樹莓派重啟都自己重啟docker服務的話双仍,一種可以在容器創(chuàng)建時指定 --restart=always 枢希,另一種可通過update 命令:docker update --restart=always xxx


確保nextcloud和mysql啟動的情況下,在電腦瀏覽器中輸入網址:樹莓派內網地址:剛才自行設定的端口號朱沃,比如:192.168.31.90:8123苞轿,則可以打開nextcloud的登陸界面,如下:

需要說明的是:數據目錄 /var/www/html/data 指的是docker容器里的路徑逗物,這里不需要管它搬卒。只需要管好docker run語句的掛載目錄即可。

這里提示不建議使用sqlite翎卓,我選擇的是使用mysql(當然也可以使用sqlite)

進入到mysql的配置契邀,由于自己做的時候沒有截屏,這里借用網上的截圖

配置數據庫選擇mysql失暴,然后用戶名和密碼就是剛才創(chuàng)建mysql容器時候的設置(用戶名為root坯门,密碼為之前自己設置的密碼),第三行隨便填逗扒,第四行填db是因為之前創(chuàng)建nextcloud容器時候作了link設置(mysql:db)

補充一點可能碰到的坑古戴,如果打開頁面碰到諸如:“nextcloud 通過不被信任的域名訪問 請聯系您的管理員”的提示,可以使用如下命令:

docker exec -it $nextcloud容器ID bash?

vim /config/config.php

然后在

'trusted_domains' =>

? array (

? ? 0 => '192.168.xx.xx',? ## IP地址? 修改這3行就可以了

? ? 1 => 'xxx.com', ## 域名矩肩,注意O帜铡!!不要帶www

? ? 2 => '192.168.xx.xx',? ## IP地址

? ? 3 => '[fe80::xx:xx]',

? ),

新增下可信賴地址即可

至此述暂,nextcloud基礎部分搭建完畢痹升,手動分界線


2. nextcloud拓展使用

下面介紹如何掛載外部存儲以及內網穿透

2.1 linux硬盤掛載

單用樹莓派自己的sd卡當硬盤確實有點捉急,除非你的sd卡足夠大畦韭,于是考慮是否可以外部掛載額外的移動硬盤疼蛾,這樣就有足夠的拓展空間。首先進行l(wèi)inux硬盤掛載

1)找一塊可用的移動硬盤艺配,插入樹莓派察郁,查看已有的分區(qū)狀態(tài):df -l,應該暫時沒有看到新的硬盤

2)查看服務器安裝的硬盤狀態(tài)(包括格式化和未格式化):fdisk -l转唉,應該可以看到插入的移動硬盤了皮钠,比如/dev/sda,只是沒有分區(qū)

3)添加新分區(qū):fdisk /dev/sda赠法,按照以下紅框輸入

依次是:n 回車麦轰,p或e 回車,1(如果沒有1砖织,說明數字已經被占用款侵,就用可選的最小數字)兩次回車 w

4)使用以下命令查看分區(qū):fdisk -l,可以看到已經多了一個分區(qū)侧纯,只是可能還沒有格式化

5)格式化分區(qū):mkfs.ext4 -c /dev/sda2新锈,其中,-c 是在建立文件系統(tǒng)前檢查壞道眶熬,可能會很費時間妹笆,新硬盤一般不需要

6)掛載硬盤:

mkdir /new_folder

mount /dev/sda2 /new_folder

7)讓系統(tǒng)開機自動掛載,或者使用vim /etc/fstab 編輯分區(qū)配置

?echo "/dev/sda2 /new_folder ext4 defaults 0 0">>/etc/fstab


2.2 nextcloud外部存儲配置

Nextcloud默認是沒有開啟外部存儲功能的娜氏,需在手動啟用插件:

然后設置Nextcloud所有用戶都能使用外部存儲

使用docker部署可能會碰到如下問題:

這時候拳缠,可以進入nextcloud容器,使用apt安裝然后重啟即可贸弥,命令如下:

docker exec -it nextcloud bash

apt install smbclient libsmbclient-dev

pecl install smbclient

docker-php-ext-enable smbclient


然后在nextcloud外部存儲配置頁面窟坐,目錄名稱隨便填,外部存儲選擇本地茂腥,“配置”一欄需要注意

首先狸涌,2.1中第六步linux掛載硬盤的路徑要放到nextcloud下,筆者的是這樣:

mkdir /nextcloud/WD500G

mount /dev/sda2 ?/nextcloud/WD500G

然后最岗,在網頁配置欄中帕胆,填寫之前創(chuàng)建容器時候的路徑拼上放在nextcloud下的外部存儲的名字,筆者的如下:/var/www/html/data/WD500G般渡,“可用于”一欄填寫需要使用外部掛載的管理員或者具體賬戶懒豹,點擊最右邊的勾芙盘,看到最左側出現綠底白勾,如圖:

注意:掛載完后脸秽,發(fā)現無法往其中添加文件的情況儒老,可能是權限問題,進入nextcloud容器:docker exec -it $CONTAINER bash后记餐,找到掛載的文件夾驮樊,筆者是在/var/www/html/data中,使用ls-la 查看掛載文件夾的權限片酝,然后使用 chown -R www-data:www-data /WD500G 改下權限就可以開心使用新硬盤存儲了囚衔。


2.3 內網穿透

以上完成了在家庭局域網的nextcloud搭建,如果想在外網使用的話雕沿,其實有好幾種方案练湿,比如公網ip,動態(tài)DDNS等等审轮,依照個人的經濟承受能力選擇不同的方案肥哎,筆者對太多流量等的配置沒什么硬需求,就暫時找了個免費的工具簡易實現了疾渣,用的網云穿(非打廣告)篡诽,具體好不好有待驗證,放上筆者自己的代碼

# 下載arm版

wget?http://xiaomy.net/download/linux/wyc_linux_arm

# 賦權

chmod -R 777 ./wyc_linux_64

# 樹莓派中后臺運行稳衬,否在在windows中跑的話霞捡,關機了就沒有了

nohup ./wyc_linux_arm -token=令牌 &? (令牌是網云穿開通服務后生成的坐漏,網頁上可查)

# 查看內網穿透服務是否開啟

tail -f nohup.out


以上就是筆者個人的搭建全程薄疚,目前已經跑了幾天,只要在有網絡的地方赊琳,親測可以正常使用街夭,另外手機端可以安裝nextcloud應用,輸入內網穿透的鏈接即可登錄躏筏,還是挺方便的板丽,如果以上搭建過程有什么不對的地方,還請各位看官及時糾正趁尼。


參考:

http://www.reibang.com/p/a730755577a3

https://docker_practice.gitee.io/install/raspberry-pi.html

https://www.cnblogs.com/steinven/p/11357295.html

https://blog.csdn.net/anaitudou/article/details/80830955

https://www.wangzhengzhen.com/3157.html

https://blog.csdn.net/weixin_44968234/article/details/109553700

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末埃碱,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子酥泞,更是在濱河造成了極大的恐慌砚殿,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芝囤,死亡現場離奇詭異似炎,居然都是意外死亡辛萍,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門羡藐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贩毕,“玉大人,你說我怎么就攤上這事仆嗦』越祝” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵瘩扼,是天一觀的道長睛藻。 經常有香客問我,道長邢隧,這世上最難降的妖魔是什么店印? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮倒慧,結果婚禮上按摘,老公的妹妹穿的比我還像新娘。我一直安慰自己纫谅,他們只是感情好炫贤,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著付秕,像睡著了一般兰珍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上询吴,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天掠河,我揣著相機與錄音,去河邊找鬼猛计。 笑死唠摹,一個胖子當著我的面吹牛,可吹牛的內容都是我干的奉瘤。 我是一名探鬼主播勾拉,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼盗温!你這毒婦竟也來了藕赞?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤卖局,失蹤者是張志新(化名)和其女友劉穎斧蜕,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體吼驶,經...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡惩激,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年店煞,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片风钻。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡顷蟀,死狀恐怖,靈堂內的尸體忽然破棺而出骡技,到底是詐尸還是另有隱情鸣个,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布布朦,位于F島的核電站囤萤,受9級特大地震影響,放射性物質發(fā)生泄漏是趴。R本人自食惡果不足惜涛舍,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望唆途。 院中可真熱鬧富雅,春花似錦、人聲如沸肛搬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽温赔。三九已至蛤奢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間陶贼,已是汗流浹背啤贩。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留骇窍,地道東北人瓜晤。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓锥余,卻偏偏與公主長得像腹纳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子驱犹,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內容