樹(shù)莓派自建NAS云盤(pán)之——云盤(pán)構(gòu)建
用自行托管的樹(shù)莓派 NAS 云盤(pán)來(lái)保護(hù)數(shù)據(jù)的安全!
在前面兩篇文章中,我們討論了用樹(shù)莓派搭建一個(gè) NAS 云盤(pán)所需要的一些 軟硬件環(huán)境及其操作步驟。我們還制定了適當(dāng)?shù)?備份策略 來(lái)保護(hù) NAS 上的數(shù)據(jù)。本文中,我們將介紹討論利用 Nestcloud 來(lái)方便快捷的存儲(chǔ)、獲取以及分享你的數(shù)據(jù)。
必要的準(zhǔn)備工作
想要方便的使用 Nextcloud,需要一些必要的準(zhǔn)備工作。首先,你需要一個(gè)指向 Nextcloud 的域名。方便起見(jiàn),本文將使用 nextcloud.pi-nas.com 。如果你是在家庭網(wǎng)絡(luò)里運(yùn)行,你需要為該域名配置 DNS 服務(wù)(動(dòng)態(tài)域名解析服務(wù))并在路由器中開(kāi)啟 80 端口和 443 端口轉(zhuǎn)發(fā)功能(如果需要使用 https,則需要開(kāi)啟 443 端口轉(zhuǎn)發(fā),如果只用 http,80 端口足以)。
你可以使用 ddclient 在樹(shù)莓派中自動(dòng)更新 DNS。
安裝 Nextcloud
為了在樹(shù)莓派(參考 ***篇 中步驟設(shè)置)中運(yùn)行 Nextcloud,首先用命令 apt
安裝 以下的一些依賴軟件包。
sudo apt install unzip wget php apache2 mysql-server php-zip php-mysql php-dom php-mbstring php-gd php-curl
其次,下載 Nextcloud。在樹(shù)莓派中利用 wget
下載其 ***的版本。在 ***篇 文章中,我們將兩個(gè)磁盤(pán)驅(qū)動(dòng)器連接到樹(shù)莓派,一個(gè)用于存儲(chǔ)當(dāng)前數(shù)據(jù),另一個(gè)用于備份。這里在數(shù)據(jù)存儲(chǔ)盤(pán)上安裝 Nextcloud,以確保每晚自動(dòng)備份數(shù)據(jù)。
sudo mkdir -p /nas/data/nextcloud
sudo chown pi /nas/data/nextcloud
cd /nas/data/
wget https://download.nextcloud.com/server/releases/nextcloud-14.0.0.zip -O /nas/data/nextcloud.zip
unzip nextcloud.zip
sudo ln -s /nas/data/nextcloud /var/www/nextcloud
sudo chown -R www-data:www-data /nas/data/nextcloud
截止到寫(xiě)作本文時(shí),Nextcloud ***版更新到如上述代碼中所示的 14.0.0 版本。Nextcloud 正在快速的迭代更新中,所以你可以在你的樹(shù)莓派中安裝更新一點(diǎn)的版本。
配置數(shù)據(jù)庫(kù)
如上所述,Nextcloud 安裝完畢。之前安裝依賴軟件包時(shí)就已經(jīng)安裝了 MySQL 數(shù)據(jù)庫(kù)來(lái)存儲(chǔ) Nextcloud 的一些重要數(shù)據(jù)(例如,那些你創(chuàng)建的可以訪問(wèn) Nextcloud 的用戶的信息)。如果你更愿意使用 Pstgres 數(shù)據(jù)庫(kù),則上面的依賴軟件包需要做一些調(diào)整。
以 root 權(quán)限啟動(dòng) MySQL:
sudo mysql
這將會(huì)打開(kāi) SQL 提示符界面,在那里可以插入如下指令——使用數(shù)據(jù)庫(kù)連接密碼替換其中的占位符——為 Nextcloud 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)。
CREATE USER nextcloud IDENTIFIED BY '<這里插入密碼>';
CREATE DATABASE nextcloud;
GRANT ALL ON nextcloud.* TO nextcloud;
按 Ctrl+D
或輸入 quit
退出 SQL 提示符界面。
Web 服務(wù)器配置
Nextcloud 可以配置以適配于 Nginx 服務(wù)器或者其他 Web 服務(wù)器運(yùn)行的環(huán)境。但本文中,我決定在我的樹(shù)莓派 NAS 中運(yùn)行 Apache 服務(wù)器(如果你有其他效果更好的服務(wù)器選擇方案,不妨也跟我分享一下)。
首先為你的 Nextcloud 域名創(chuàng)建一個(gè)虛擬主機(jī),創(chuàng)建配置文件 /etc/apache2/sites-available/001-netxcloud.conf
,在其中輸入下面的參數(shù)內(nèi)容。修改其中 ServerName
為你的域名。
<VirtualHost *:80>
ServerName nextcloud.pi-nas.com
ServerAdmin admin@pi-nas.com
DocumentRoot /var/www/nextcloud/
<Directory /var/www/nextcloud/>
AllowOverride None
</Directory>
</VirtualHost>
使用下面的命令來(lái)啟動(dòng)該虛擬主機(jī)。
a2ensite 001-nextcloud
sudo systemctl reload apache2
現(xiàn)在,你應(yīng)該可以通過(guò)瀏覽器中輸入域名訪問(wèn)到 web 服務(wù)器了。這里我推薦使用 HTTPS 協(xié)議而不是 HTTP 協(xié)議來(lái)訪問(wèn) Nextcloud。一個(gè)簡(jiǎn)單而且免費(fèi)的方法就是利用 Certbot 下載 Let’s Encrypt 證書(shū),然后設(shè)置定時(shí)任務(wù)自動(dòng)刷新。這樣就避免了自簽證書(shū)等的麻煩。參考 如何在樹(shù)莓派中安裝 Certbot 。在配置 Certbot 的時(shí)候,你甚至可以配置將 HTTP 自動(dòng)轉(zhuǎn)到 HTTPS ,例如訪問(wèn) http://nextcloud.pi-nas.com
自動(dòng)跳轉(zhuǎn)到 https://nextcloud.pi-nas.com
。注意,如果你的樹(shù)莓派 NAS 運(yùn)行在家庭路由器的下面,別忘了設(shè)置路由器的 443 端口和 80 端口轉(zhuǎn)發(fā)。
配置 Nextcloud
***一步,通過(guò)瀏覽器訪問(wèn) Nextcloud 來(lái)配置它。在瀏覽器中輸入域名地址,插入上文中的數(shù)據(jù)庫(kù)設(shè)置信息。這里,你可以創(chuàng)建 Nextcloud 管理員用戶。默認(rèn)情況下,數(shù)據(jù)保存目錄在在 Nextcloud 目錄下,所以你也無(wú)需修改我們?cè)?第二篇 一文中設(shè)置的備份策略。
然后,頁(yè)面會(huì)跳轉(zhuǎn)到 Nextcloud 登陸界面,用剛才創(chuàng)建的管理員用戶登陸。在設(shè)置頁(yè)面中會(huì)有基礎(chǔ)操作教程和安全安裝教程(這里是訪問(wèn) https://nextcloud.pi-nas.com/settings/admin
)。
恭喜你,到此為止,你已經(jīng)成功在樹(shù)莓派中安裝了你自己的云 Nextcloud。去 Nextcloud 主頁(yè) 下載 Nextcloud 客戶端,客戶端可以同步數(shù)據(jù)并且離線訪問(wèn)服務(wù)器。移動(dòng)端甚至可以上傳圖片等資源,然后電腦桌面都可以去訪問(wèn)它們。