前两天,360 云盘宣布将停止个人服务。一石激起千层浪,关于如何选择网盘,如何应对网盘关闭的讨论一下子又变得此起彼伏。没办法,目前的现状是,网盘很难有大的盈利空间,还面对严苛的内容审查和隐私保护,虽然于用户来说提供了便利,但于公司来说实在是一件出力不讨好的事情。 之前的网盘方案国外的网盘我一直是三家一起用,分别是 Dropbox 存储代码和一些重要或私密文件;Google Drive 存储一些大文件和私密文件;OneDrive 存储一些电子书(同步太慢了)。国内的网盘我之前只用两家,一是坚果云,放一些个人常用的小文件,包括一些文档和软件配置文件;另一个是百毒云,放一些各处转存来的大文件、自己的照片和学习资料,一方面因其空间大,另一方面因其同步流畅。然而,百毒云前段时间把我的网盘 全面封掉 了,丢失了很多大学时的照片(其它文件要不不重要,要不有备份),申诉无果,实属无奈。 搭建一个只属于自己的网盘所以我决定搭建一个只属于自己的网盘。考察了几种方案(包括买 RAID 或 NAS 等),发现已有人在这方面做了努力,提供了像 Seafile 和 ownCloud 这样的产品。接下来对比了两个软件,我决定选择用 ownCloud,主要出于以下几点考虑:
搭建方法首先你得 先有一个自己的 VPS 。。没错,要不然你的数据往哪放,ownCloud 在哪运行。 有了 VPS 之后,就可以按照官网教程一步一步安装搭建了。然而,步骤相当繁琐,你得先安装 PHP、MySQL、 Apache 等等,所以我们要祭出神器 —— docker(这里就不介绍 docker 的用法了,以下内容默认大家对 docker 的基本使用有所了解)。这样一来,之前冗长的步骤,就化成了三步:
下面是对上面三步的详细讲解,嫌太长的话可以不看。只需要把下面用到的两个 docker images (owncloud、postgres)下载好,安装 docker-compose 并拷贝 docker-compose.yml 文件到你想要存储 ownCloud 数据的文件夹,然后运行 使用 docker安装好 docker 之后,直接下载 docker run --name owncloud -p 80:80 owncloud
其实就可以看到 ownCloud 已经运行起来了,访问你的 VPS 地址,就可以看到 ownCloud 的界面。
但这时的 ownCloud 还没有数据库,所以我们还需要用 docker –link 来添加一个数据库存储 ownCloud 的数据,这里用到了 docker run --name owncloud-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
docker run --rm --link owncloud-postgres:owncloud-db --name owncloud -p 80:80 owncloud
第一条命令会启动一个 postgreSQL 数据库,默认的用户是 postgres,密码设为了 mysecretpassword,host 是 owncloud-db。 但这时我们运行的 docker container 一旦删掉,我们的数据就没有了,所以我们需要用 docker 中的 volumes (或 docker data volumes )来把 ownCloud 的数据持久化。 配置 docker compose这样一来,我们得启动两个 container 作为 data-only container,然后再启动 owncloud 和 postgres 关联这两个 data-only container,非常繁杂,幸亏我们有 pip install docker-compose
然后配置 docker-compose.yml,下面配置中的
# Composition of the containers
postgres-data:
image:postgres
command:/bin/true
volumes:
-~/owncloud/etc/postgresql:/etc/postgresql
-~/owncloud/var/lib/postgresql:/var/lib/postgresql
owncloud-data:
image:owncloud
# This is a data container, so we want to exit as soon as the container is created
# BUT we will have to fix permissions issues first (33 is the ID of the www-data user)
command:/bin/bash -c"/bin/chown -R 33 /var/www/html/data && /bin/chown -R 33 /var/www/html/config"
volumes:
-~/owncloud/var/www/html/apps:/var/www/html/apps
-~/owncloud/var/www/html/data:/var/www/html/data
-~/owncloud/var/www/html/config:/var/www/html/config
owncloud:
image:owncloud
ports:
-8080:80
volumes_from:
-owncloud-data
links:
- postgres:postgres
hostname:cloud
domainname:cloud.example.org# Change to the hostname you will use
postgres:
image:postgres
environment:
-POSTGRES_USER=postgres
-POSTGRES_PASSWORD=mypostgrespassword
volumes_from:
-postgres-data
把 docker-compose.yml 配置好之后,只需运行 docker-compose up
就可以把 ownCloud 运行起来了,上一步中的很多操作,这里一步就搞定了。不过切记! ownCloud 配置访问你 VPS 的 8080 端口(刚才配置文件里写了)打开 ownCloud 主页,需要做两件事
点击完成,一切 OK,进入文件页面尽情探索吧! |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|