建立自己的共享云盘

混江龙づ霸主 提交于 2019-12-05 19:31:05

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

这里介绍一个方法,使用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只是存储了单份的拷贝,对于重要的数据,需要自己建立存储的定期备份机制。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!