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 - https://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了,打算只在内网使用。