nextcloud個人雲搭建
- 2022 年 2 月 3 日
- 筆記
- arduino&&樹莓派
nextcloud個人雲搭建
樹莓派安裝系統
首先安裝樹莓派官方系統(Raspbian),需要安裝lite版的系統(桌面版系統嘗試過,後續會安裝失敗,不能用),不清楚為什麼視頻教程裏面的就是用的桌面版操作系統。
下載完成後需要進行解壓,得到以.img結尾的文件,使用[balenaEtcher](balenaEtcher – Flash OS images to SD cards & USB drives)進行燒寫系統,
也可使用樹莓派官方燒寫工具進行燒寫系統,燒寫完成後,拔出讀卡器,再重新插入電腦,創建文件ssh (沒有後綴名)打開樹莓派的ssh。
登錄路由器管理界面查看樹莓派的ip地址,樹莓派系統默認用戶名pi,密碼raspberry。
進入系統後輸入:
sudo passwd root
重新設置密碼
安裝OMV5
首先下載文件
apt-get update
apt-get install openssl libssl-dev vim
wget -O - //github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install|sudo bash
至此omv5安裝完畢
瀏覽器輸入樹莓派網址(默認端口80)
omv5系統默認用戶名:admin,密碼: openmediavault
安裝dockcer
在openmediavault管理界面中,找到OMV-Extras,點擊docker安裝,安裝portainer,(如果期間出現了錯誤,再安裝一次就可以了)
打開portainer管理頁面設置密碼,去containers中即可看到正在運行的容器,
在樹莓派shell中輸入:
docker pull nextcloud
默認下載最新版本23
在portainers的images中可以看到nextcloud鏡像,將容器中的目錄映射到樹莓派系統中
docker run -d --name nextcloud -p 8080:80 -v /var/www/html:/var/www/html nextcloud
掛載硬盤進行映射(使用u盤測試的)
在openmediavault管理頁面中,找到磁盤,可以看到剛剛插入的硬盤,在文件系統中對硬盤進行掛載,格式化,創建文件系統格式,格式選擇ext2或者ext3格式。
在 shell界面中/src目錄下可以找到掛載的硬盤,進入目錄後,用mkdir在硬盤中創建文件。
docker run -d --name nextcloud -p 8080:80 -v /srv/dev-disk-by-uuid-73f049ab-12d9-4c48-8356-da19484d7457/nextcloud:var/www/html nextcloud
創建成功後shell界面就會出現一串id碼
映射成功後可以在portainer中的nextcloud容器中可以看到映射成功;
使用IP地址進入nextcloud頁面
如果使用windows格式的硬盤,那麼會出現報錯,
如果強烈使用windows格式的硬盤,在映射出來的目錄里,進入config/config.php,
在最後一行加入,
'check_data_directory_permissions' => false,
在地址欄進行刷新即可
不足
接下來要考慮連接數據庫mysql,nginx ssl反向代理
配置數據庫
使用docker拉取postgresql
docker pull postgres:latest
這裡未使用mysql是因為dockerhub裏面的mysql官方鏡像並不支持arm/v7
並沒有arm的標籤,所以採用了postgresql數據庫。
運行容器
sudo docker run -d --name=postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 postgres:latest
數據庫的端口是5432,密碼是123456。
- run 創建並運行一個容器
- -d 後台運行
- –name 指定創建的容器的名字
- -e POSTGRES_PASSWORD=123456,設置環境變量,設置密碼為123456
- -p 5433:5432,將主機的的5432端口映射到容器的5433端口
進入容器
docker exec -it postgres psql -U postgres -d postgres
創建數據庫
CREATE DATABASE nextcloud;
退出容器
exit
nextcloud使用數據庫
主機名一定要寫ip地址,不能寫localhost
問題
使用數據庫連接工具連接了數據庫之後,並沒有找到nextcloud數據庫,不太清楚原因,但是nextcloud能正常使用數據庫。
關於使用ssl證書
由於ssl證書需要使用ip地址生成密鑰,但是由於未來我的樹莓派地址會改變,所以就不打算設置ssl了,打算只在內網使用。