一步搭建你的私密网盘

作者: 左蓝 | 来源:发表于2016-05-06 23:25 被阅读11698次

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

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


    准备工作

    • 一台服务器
    • Docker环境

    安装Docker:
    sudo curl -sSL https://get.docker.com/ | sh

    • Docker-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:80
    caddy:
        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 启动,老版本用户请手动启动容器:

    # 安装 Docker
    sudo 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
    # 运行 Caddy
    docker run -v ~/caddy/Caddyfile:/etc/Caddyfile -v ~/.caddy:/root/.caddy -p 80:80 -p 443:443 --name=caddy -d abiosoft/caddy
    

    • 到这里呢教程就算是结束了,下面是配置以及进阶的用法,有兴趣可以看下去。
    • 有人反馈说国内网速拉取镜像很慢,其实你可以使用灵雀云、Daocloud、时速云或者阿里云这些镜像加速服务。

    配置:设置管理员账号

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

    配置管理员账号

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

    安装完成,看见欢迎界面

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


    进阶之一:设置 WebDAV ( Linux 用户)

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

    复制你的 WebDAV 链接:

    点击左下角“设置”

    打开文件管理器,选择连接至服务器...(或者类似字眼),按照示例填写:

    • 服务器:davs://example.com/remote.php/webdav(这里换成你的域名哦~)
    • 用户名、密码填你设置的,其他保持默认。


      设置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 ~/.bashrc
    
    • zsh
    ➜ source ~/.zshrc
    

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


    如果遇到网盘不可写,可以尝试:

    $ sudo chown -R username:username /media/username/Cloud/
    

    查看云盘容量:

    $ df -h /media/username/Cloud/
    

    卸载云盘:

    $ sudo umount /media/username/Cloud/
    

    本文可以转载,转载请保留本段内容,谢谢。
    作者:左蓝(有问题可以联系本人邮箱i@zuolan.me或者简书简信。)
    文章首发:左蓝的简书

    相关文章

      网友评论

      • 9bdc70f483fa:在已有mysql和redis的环境安装时需要注意什么呢?
        左蓝:@Zh_d283 只需要改下端口,容器都是隔离的,不必担心。端口不冲突就好。
      • 106bd7a10519:我已经买了一个vps用来科学上网,还能自己建私有云盘吗?我也没有域名是不是需要买一个?
        左蓝:@路小勇 一个域名一年就几块钱。内存足够的话可以搭建。
      • 细雨飘竹:其他的Linux系统行吗?
        Win7 呢?
        细雨飘竹:@左蓝 好的,谢谢!
        左蓝:@细雨飘竹 都可以啊,另外说一下,Owncloud母公司破产了,原团队已经出走,新的项目名为Nextcloud,推荐使用Nextcloud,功能两者差不多,但是后者比较有保障。
      • 平凡啊菜:好东西
      • sjxt:mac 里面可以吗 ?
        左蓝:@平行的世界 你打算在自己电脑上部署网盘?那直接存在本地不就好了嘛。。。。不是很懂你的意思,如果说客户端的话,是有macOS版本,如果说服务端的话,Docker也有macOS版本,owncloud也有,但不知你的意思,我不知道你想如何。。。。
      • Bill_Chow:表示用lnmp搭建好之后,在登录页面,登录无限重定向会登录页面
        Bill_Chow:@左蓝 不是
        左蓝:@Mrs_Chow 用docker搭建的吗?
      • Bill_Chow:curl -L https://github.com/docker/compose/releases/download/1.7.0-rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 这个命令我在centos7运行不了...是直接安装了composer就可以了吧?
      • Visianlee:可是我的服务器是windows的
        左蓝:@Visianlee 如果你是win10也可以安装docker,要不就按传统方式装吧。
      • 321e48272fab:Digitalocean在创建服务器的时候可以选择one-click-apps,里面有owncloud,一键全部装好,5美元才20g,好贵。
        (我还以为是自己做服务器搭owncloud)
        问题来了。我现在有一个Digitalocean的服务器,已经用于搭博客。现在还能不能同时搭owncloud?
        左蓝:@321e48272fab 空格,格式的问题
        321e48272fab:@左蓝 又有问题了Orz,出现了这个错误:
        In file './docker-compose.yml', service 'image' must be a mapping not a string.
        左蓝:@321e48272fab 可以,就如本文所说两句话的事。自己搭服务器那是NAS,不都一个玩意嘛。。。。
      • mkitclear:今天试了试,腾讯云服务根本就用不了代金券啊,兑换显示代金券不存在,购买的时候也没有显示可用代金券的选项,充值也不能用代金券充值,最后莫名其妙买了一个月的服务,花了我65块大洋,简直了
        mkitclear:@左蓝 是在校大学生啊,而且学生认证也已经成功了的,退款什么的根本就找不到选项哎
        左蓝:@且涉烟尘 好像叫做云翼计划来着,你是在校大学生才可以申请。
        左蓝:@且涉烟尘 你必须是大学生啊(需要认证的)~你可以无理由退款~
      • mkitclear:新视野,赞起来,你现在还是学生吗
        左蓝:@且涉烟尘 是啊
      • Alex13:请问需要在电脑上安装MySQL吗?
        Alex13:@左蓝 感谢回复!您指的是至只需要安装owncloud以及配置环境就可以?(昨天百度的教程写着MySQL)
        左蓝:@Alex13 不需要,如果想也可以
      • 10a8bed860c0:还没看,感觉很有用
      • Bill_Chow:学习了
        随便一台liunx都可以搭建吧?
        左蓝:@Mrs_Chow 是的
      • 30c08b743eed:厉害👍,可惜看不懂
        左蓝:@30c08b743eed _(:з」∠)_新建两个文件,执行一句命令即可,尽量优化了步骤,嗯,哪里看不懂吗?
      • 三味西点人:厉害,
      • 85267ab4c508:高手在民间
      • ba13f50ab2b7:高技术
        左蓝:@三千寻一 其实很简单啦,只有一句命令而已~
      • 737cc79be641:小白看不懂,老师有帮人搭建吗
        737cc79be641:@为生存而奋斗 哈谢谢
        左蓝:@为生存而奋斗 你有服务器的话可以帮忙,反正就一句话的事。
      • 天痕1988:可以试一试~~
      • 隐姓埋名的狼:对于我来说简直是天书,不过还是要赞一下,因为我一直都在想能不能自己有个随处可用的随身网盘而不受制于任何一家服务供应商。准备的第一步我就办不到了。哈哈
        等一轮残月:你需要这个,http://item.jd.com/1018797.html
        隐姓埋名的狼: @左蓝 从实践的角度而言本地搭也行,但是从使用的角度而言能够搭入互联网就最好了!
        左蓝:@隐姓埋名的狼 你也可以在本地搭一个,如果你是学生的话,可以申请腾讯云1元服务器计划。
      • 2cfb41fdd664:看不懂啊,怎么办,是windows下的吗
        2cfb41fdd664:@左蓝 好的,谢谢!
        左蓝:@恋空的喵喵 总之,你首先需要有一台服务器~
        左蓝:@恋空的喵喵 Windows的话有对应的客户端,教程是通用的,后面的配置与进阶是Linux环境下的。
      • e73c390daab7:很不错,↖(^ω^)↗
      • 田靖荣:简直不能更赞👍

      本文标题:一步搭建你的私密网盘

      本文链接:https://www.haomeiwen.com/subject/gxmjrttx.html