文档章节

建立自己的共享云盘 - 使用ownCloud

openthings
 openthings
发布于 2018/10/10 13:14
字数 1093
阅读 298
收藏 0

建立自己的共享云盘,有必要吗?当然。万一那些个牛轰轰的关张了呢?事实上一些已经关张了,还活着的某度会偷偷地进去翻你的东西,甚至把它看不顺眼的文件直接删除。

这里介绍一个方法,使用ownCloud创建自己的网盘。

ownCloud 可以通过Docker部署,使用 the official ownCloud Docker image。该官方镜像设计为与宿主机文件系统的数据卷一起工作,包含独立的 MariaDBRedis containers。配置如下:

  • 暴露端口 80 和 443,允许 HTTP 和 HTTPS 连接访问。
  • 挂载宿主机的 data 和 MySQL data 目录,用于持久存储。

本地安装

创建一个新的项目目录,然后下载 docker-compose.ymlthe ownCloud Docker GitHub repository 到这个指定的本地目录。 下一步,创建 一个 .env 配置文件,其中包含配置参数。只有很少的参数需要配置,如下:

设置参数名称 描述 举例
OWNCLOUD_VERSION The ownCloud version latest
OWNCLOUD_DOMAIN The ownCloud domain localhost
ADMIN_USERNAME The admin username admin
ADMIN_PASSWORD The admin user’s password admin
HTTP_PORT The HTTP port to bind to 80
HTTPS_PORT The HTTP port to bind to 443

然后,你可以启动容器了。使用 Docker command-line tool。下面的例子,使用 Docker Compose来启动相关的容器服务。

使用 docker参考 in the GitHub repository

# Create a new project directory
mkdir owncloud-docker-server

cd owncloud-docker-server

# Copy docker-compose.yml from the GitHub repository
wget https://raw.githubusercontent.com/owncloud-docker/server/master/docker-compose.yml

# Create the environment configuration file
cat << EOF > .env
OWNCLOUD_VERSION=10.0
OWNCLOUD_DOMAIN=localhost
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin
HTTP_PORT=80
HTTPS_PORT=443
EOF

# Build and start the container
docker-compose up -d

当处理完成,检查是否所有的容器都已经成功启动,通过运行 docker-compose ps。如果全部成功,结果如下:

Name                     Command               State                     Ports
-------------------------------------------------------------------------------------------------------
server_db_1         /usr/bin/entrypoint /bin/s ...   Up      3306/tcp
server_owncloud_1   /usr/local/bin/entrypoint  ...   Up      0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
server_redis_1      /bin/s6-svscan /etc/s6           Up      6379/tcp

你可以看到, database、 ownCloud和Redis containers已经运行,ownCloud 服务可以通过宿主机端口 443 和 80访问,即https和http端口。

当所有容器刚开始运行,ownCloud需要几分钟才能完全可用。如果运行 docker-compose logs --follow owncloud 查看日志输出,可以看到很多信息的输出到控制台窗口,稍等一会儿,当消息减少时就可以来访问web UI了。

登录界面

打开浏览器,进入 https://localhost 。可以看到ownCloud login screen。

用户名和密码是admin,是在上面的.env 配置里指定的。

第一次通过 HTTPS访问时,浏览器会出现警告说 SSL certificate 是自签名的。不过, the self-signed certificate can be overwritten with a valid cert, within the host volume.

停止容器

假定你使用的 docker-compose, 如前面的例子,停止容器使用 docker-compose stop。另外,可以使用 docker-compose down 停止和删除容器,包括其相关的networks, images, 和 volumes。

升级 ownCloud

当ownCloud发布新版本时,你应该更新运行的容器实例,如下:

首先,进入 .yaml.env 文件的目录。

然后,让ownCloud 进入maintenance mode,通过下面的命令:

docker-compose exec server occ maintenance:mode --on

第三,创建备份,以防止升级过程出错,使用下面的命令:

docker-compose exec db backup

这假定你使用 the default database container from Webhippie

第四,关闭容器。

docker-compose down

然后,更新 ownCloud 在 .env 和 YAML 文件中的版本号。可以使用 sed 来替换,如下:

# Make sure that you adjust the example to match your installation.
sed -i 's/^OWNCLOUD_VERSION=.*$/OWNCLOUD_VERSION=<newVersion>/' /compose/*/.env

查看下,是否都改完、改正确了:

cat .env

最后,重新启动服务:

docker-compose up -d

现在新版的 ownCloud 就运行起来了。

备份

所存储的文件是挂在容器外面的,不会受到升级的任何影响。

但是,owncloud只是存储了单份的拷贝,对于重要的数据,需要自己建立存储的定期备份机制。

© 著作权归作者所有

上一篇: IPFS add
openthings
粉丝 313
博文 1118
码字总数 644835
作品 1
东城
架构师
私信 提问
在Kubernetes集群中部署ownCloud云盘系统

ownCloud ownCloud is a file sharing server that puts the control and security of your own data back into your hands. 参考 建立自己的共享云盘 - 使用ownCloud 远程访问家里机器的文件......

openthings
2018/10/18
0
0
ownCloud 的六大神奇用法

你可以在自己设备之间同步任意数据(或部分数据)并分享给其他人。然而,ownCloud 要比其它的商业解决方案更棒,可以将 ownCloud 运行在自己的服务器而不是其它人的服务器上。 现在,让我们一...

linuxprobe
2016/08/18
14.2K
0
自己搭建owncloud 私有云

自己搭建owncloud 私有云 JLMark关注4人评论607人阅读2018-10-11 14:17:57 一、私有云概述 私有云(Private Clouds)是为一个客户单独使用而构架的,因而提供对数据、安全性和服务质量的最有...

linjin200
2018/12/14
0
0
手把手教你用owncloud搭建属于自己的云盘

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 owncloud是一个开源的云盘解决方案,我们可以用owncloud快速地搭建起我们自己私...

xxq2dream
2018/12/22
0
0
owncloud--个人云服务

lnmp搭建参照:http://my.oschina.net/moonly/blog/207629 安装一下必要的PHP扩展: # yum install php-mysql php-json php-xml php-mbstring php-zip php-gd curl php-curl php-pdo 为ownCl......

MrYx3en
2014/03/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

代码规范

代码格式化 安装vscode插件:Prettier - Code formatter 格式化配置:将下列配置写入到vscode的settings.json文件 (遵照代码格式化) "prettier.disableLanguages": ["vue"], "prettier.......

TreeZhou0511
39分钟前
3
0
python实现人工神经网络的一个例子

人工神经网络已经有无数的开源框架,比如tensorflow,caffe等,可以直接用。但最近需要做一个小样例,把基本思想讲一讲,因此自己写了一个demo,以供参考。 下面直接上代码,代码中有注释,比...

propagator
42分钟前
3
0
远程dubugger

1、在tomcat的bin下/data/project/XXX/apache-tomcat-8.5.23/bin 在catalina.bat文件中新增如下即可 JAVA_OPTS="-Xmx1024m -Xms1024m -agentlib:jdwp=transport=dt_socket,server=y,suspend......

一只小青蛙
今天
1
0
jemter 连接MySQL

jemter 连接MySQL 点击测试计划,测试计划最后”添加目录或jar包到ClassPath“,点击浏览,添加mysql-connector.jar mysql-connector.jar的下载地址: https://mvnrepository.com/artifact/my...

xiaobai1315
今天
5
0
第一次尝试用python实现zabbix主机的批量添加批量删除及模板导入脚本

Python3入门练手尝试篇 API参考: zabbix API 4.0版本:https://www.zabbix.com/documentation/4.0/zh/manual/api #!/bin/python3import xlrd,os,json,requests,sys#参考zabbix API 4.0版本......

平头哥-Enjoystudy
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部