妙博客

主机评测 香港服务器 洛杉矶VPS测评

nextcloud搭建私有云实现自动备份

 简单两步, 搭建全平台私有同步网盘


1、简介



nextcloud

是一款开源私有云方案,GitHub开源地址:https://github.com/nextcloud,也就是说,可以用

nextcloud

来搭建私有同步网盘。之前就有搭建私有网盘的需求,毕竟国外网盘容量小,速度慢,国内目前也就只有115和百度云在苟延残喘,115已是半残,百度云限速不说,还会将小姐姐变成8秒教育片,先不论这种偷窥个人网盘隐私的行为是否违法,要知道百度云删除这些东西的时候可没有告知用户,更不用说任何的提醒和交流了,把资料,特别是涉及个人隐私的资料放在百度云实在是放心不下。总的来看目前公有网盘大都不能满足需求,也就催生了一大批开源私有网盘,

nextcloud

就是其中之一。


2、搭建环境

    cenntos 7

    2G内存, 2M带宽(带宽越大, 同步越流畅)


3、安装docker


[root@elasticsearch-04 ~]# yum -y install docker

 [root@elasticsearch-04 ~]# systemctl start docker

 [root@elasticsearch-04 ~]# systemctl enable docker


4、获取nextcloud镜像, 完成网盘搭建(结束?)

docker run -d -p 10181:80 nextcloud


还需要装个mysql

docker pull mysql:5.7
mkdir -p /usr/local/mysql/{logs,data}
cd /usr/local/mysql
docker run -p 3306:3306 --name my_mysql -v $PWD/logs:/var/log/mysql -v $PWD/data:/var/lib/mysql --restart=always --privileged=true -e MYSQL_ROOT_PASSWORD=密码 -d mysql:5.7


5、访问主机ip的8080端口,为网盘设置管理员名称和密码


比如我的vps主机ip为

149.28.54.241

, 那么我访问的就是

149.28.54.241:10181


image.png


6.挂载外部磁盘


    系统磁盘空间有限,不足以成为网盘,因此需要将外部存储挂载到 NextCloud管理范围内。

    docker 创建时一定要加上 --privilege==true ,或想办法让nextcloud 拥有root权限


开启外部存储设备


    启用插件 External storage support

    该插件使管理员能够配置到外部存储提供程序的连接,如 FTP 服务器、 s3或 SWIFT 对象存储、其他 Nextcloud 服务器、 WebDAV 服务器等。


image.png



     设置Nextcloud所有用户都能使用外部存储 ,点击我的头像设置

image.png




此时进入外部存储会提示 “smbclient” 未安装。无法挂载 "SMB/CIFS", "使用 OC 登录的 SMB/CIFS",虽然不一定用到可以安装一下包解决这个提示


进入控制台:


docker exec -it vvd_nextcloud bash

apt-get update

apt-get upgrade

apt install smbclient libsmbclient-dev

pecl install smbclient

docker-php-ext-enable smbclient


之后具备了挂载 cifs 的能力,也就没有警告提醒了。


挂载宿主磁盘

我这里挂载ftp为例,要用到frp内网穿透工具

  1. 下载FileZilla Server

    image.png

  2. 配置一下被动模式,点击settings

    image.png

    同时添加一个用户,要勾选可读可写

    image.png


  3. 同时外网中转服务器的ip要开启一下端口22,50001,50002,50003,这样本地ftp就配置好了。


配置frp内网穿透ftp


  1. 配置本地端的frc.ini

    image.png

[common]
server_addr = 外网ip
server_port = 7001
# 这四行配置密码
authenticate_heartbeats = true
authenticate_new_work_conns = true
authentication_method = token
token = 21126111

[http_jiali_server_ftp]
type = tcp
local_ip = 0.0.0.0
local_port = 21
remote_port = 21

[http_jiali_server_ftp1]
type = tcp
local_ip = 0.0.0.0
local_port = 50001
remote_port = 50001

[http_jiali_server_ftp2]
type = tcp
local_ip = 0.0.0.0
local_port = 50002
remote_port = 50002

[http_jiali_server_ftp3]
type = tcp
local_ip = 0.0.0.0
local_port = 50003
remote_port = 50003

启动一下frp的客户端

frpc -c frpc.ini



2.配置服务端的frps

image.png

[common]
bind_port = 7001
# 这四行配置密码
authenticate_heartbeats = true
authenticate_new_work_conns = true
authentication_method = token
# 客户端和服务端都要配而且要一样,否则连接不成功
token = 21126111
# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = 账号
dashboard_pwd = 密码

然后服务器端要开启一下7001端口。


3.启动一下frp的服务端

./frps -c frps.ini

这样就搭建好了ftp服务器,已经公网转发配置


添加一个外部存储,配一下用户密码,

image.png


现在就能看到我们刚刚挂载的ftp目录了。

image.png

Copyright Your 142132.com Rights Reserved. 赣ICP备17010829号-2