场景:最近一大批网盘倒下了,网盘文件又要搬家了,所以需要一个不限速、质量好、有保障、传输加密的网盘。

为方便大家搭建,本文优化了整个部署过程,一步到位~

准备工作一台服务器本文使用不限速并配置SSD存储的Digitalocean服务器。

本文以Ubuntu为例。Docker环境安装Docker:

sudo curl -sSL https://get.docker.com/ | shDocker-Compose安装Compose:$ curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

$ chmod +x /usr/local/bin/docker-compose

一步到位:安装OwnCloud首先我们新建两个文件。

1.首先新建一个文件,叫做Caddyfile使用命令cd && mkdir caddy && cd caddy && vim Caddyfile新建文件,然后复制粘贴下面内容:example.com {

proxy / 233.233.233.233:2333 {

proxy_header Host {host}

proxy_header X-Real-IP {remote}

proxy_header X-Forwarded-Proto {scheme}

}    log /var/log/caddy.log

gzip

}example.com替换为你的域名

233.233.233.233替换为你服务器IP,2333替换为你想要设置的端口(默认为2333)

2.然后再新建一个文件叫做docker-compose.yml使用命令cd && mkdir owncloud && cd owncloud && vim docker-compose.yml新建文件,然后复制粘贴下面内容(那个2333如果你上面改成其他端口了,下面的2333也要相应改成你的那个端口):Owncloud 支持 Sqlite 和 Mysql,所以这里有两个 docker-compose 文件,按需复制即可:

Sqlite 版本:owncloud:

image: owncloud

volumes:

- ~/cloud/config:/opt/owncloud/config

- ~/cloud/data:/opt/owncloud/data

ports:

- 2333:80caddy:

image: abiosoft/caddy

volumes:

- ~/caddy/Caddyfile:/etc/Caddyfile

- ~/.caddy:/root/.caddy

ports:

- 80:80

- 443:443

Mysql 版本:version: '2'services:

db:

container_name: db    image: mysql:5.7

volumes:

- "~/mysql:/var/lib/mysql"

restart: always    environment:

MYSQL_ROOT_PASSWORD: 这里填密码      MYSQL_DATABASE: owncloud      MYSQL_USER: 这里填数据库用户名      MYSQL_PASSWORD: 这里还是填密码  owncloud:

container_name: owncloud    depends_on:

- db    image: owncloud:latest    volumes:

- ~/cloud/config:/var/www/html/config

- ~/cloud/data:/var/www/html/data

links:

- db    ports:

- "2333:80"

restart: always如果你使用 Mysql 安装,数据库地址是 db (不是 localhost),数据库名称是 owncloud 。

3.启动,然后就没你什么事了

然后就可以使用docker-compose up -d启动了,没什么问题的话,稍等片刻即可完成安装并启动。

更新:在 Centos 6 下使用脚本安装 Docker 会默认使用软件源里的 Docker,该软件源默认 Docker 是 1.9 版本的,因此无法使用 Docker Compose 启动,老版本用户请手动启动容器:# 安装 Dockersudo curl -sSL https://get.docker.com/ | sh# 执行上面第一步的内容,配置 Caddy,然后跳过第二步执行下面的命令。# 运行 Owncloud,端口 2333 可以修改为你喜欢的,注意和第一步的 Caddyfile 一致。docker run -v ~/cloud/config:/opt/owncloud/config -v ~/cloud/data:/opt/owncloud/data -p 2333:80 -d --name=owncloud owncloud# 运行 Caddydocker run -v ~/caddy/Caddyfile:/etc/Caddyfile -v ~/.caddy:/root/.caddy -p 80:80 -p 443:443 --name=caddy -d abiosoft/caddy到这里呢教程就算是结束了,下面是配置以及进阶的用法,有兴趣可以看下去。有人反馈说国内网速拉取镜像很慢,其实你可以使用灵雀云、Daocloud、时速云或者阿里云这些镜像加速服务。

配置:设置管理员账号

打开浏览器输入你第一步设置的网址,只需要填写管理员账号以及密码即可。

AAffA0nNPuCLAAAAAElFTkSuQmCC

配置管理员账号

Sqlite 安装界面的性能警告可以无视,毕竟只有一个人用的话不会有什么影响~

AAffA0nNPuCLAAAAAElFTkSuQmCC

安装完成,看见欢迎界面

下载桌面客户端、手机版:官网链接

进阶之一:设置 WebDAV ( Linux 用户)为了可以像访问本地文件夹一样访问私有网盘的内容,我们可以设置 WebDAV。不同操作系统具体操作有异,其他操作系统看官方文档:设置 WebDAV。

复制你的 WebDAV 链接:

AAffA0nNPuCLAAAAAElFTkSuQmCC

点击左下角“设置”

打开文件管理器,选择连接至服务器...(或者类似字眼),按照示例填写:用户名、密码填你设置的,其他保持默认。

AAffA0nNPuCLAAAAAElFTkSuQmCC

设置WebDAV

然后你可以像访问本地文件夹一样访问私有网盘的内容了。但这个方法打开的文件不能即时保存到网盘。

进阶之二:一键挂载 WebDAV ( Linux 用户)

2.1 安装 davfs2$ sudo apt install fuse davfs2# 下面username改成你的用户名$ cd /media/username

/media/username$ sudo mkdir Cloud/

修改 davfs2 配置(复制粘贴即可,什么都不用改):$ sudo sed -i 's/# use_locks       1/use_locks       0/g' /etc/davfs2/davfs2.conf

使用命令su切换至root用户,然后执行:# 替换“网盘用户名 网盘密码”,该文件只有root账号才能查看、修改。$ echo "https://example.com/remote.php/webdav/ 网盘用户名 网盘密码" > /etc/davfs2/secrets

2.2 设置一键挂载

在~/.bashrc(zsh 用户在~/.zshrc)后面加上一句:alias cloud="mount.davfs https://example.com/remote.php/webdav/ /media/username/Cloud/"bash$ source ~/.bashrczshsource ~/.zshrc

这样你就可以使用cloud直接挂载云盘了~~

如果遇到网盘不可写,可以尝试:$ sudo chown -R username:username /media/username/Cloud/

查看云盘容量:$ df -h /media/username/Cloud/

卸载云盘:$ sudo umount /media/username/Cloud/本文可以转载,转载请保留本段内容,谢谢。

作者:左蓝(有问题可以联系本人邮箱i@zuolan.me或者简书简信。)

文章首发:左蓝的简书

作者:左蓝

链接:https://www.jianshu.com/p/792a5c1fa44b

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐