赞
踩
Nextcloud是一个开源的云存储和协作平台,旨在为个人用户、企业和团队提供安全、隐私保护的数据存储和共享解决方案。它允许您在不同设备之间同步、共享文件,提供了强大的协作工具和应用生态系统。
文件同步与分享:通过Nextcloud,您可以轻松地在不同设备之间同步和共享文件。无论是照片、视频、文档还是其他文件类型,都可以方便地访问和共享。
安全与隐私:Nextcloud致力于保护您的数据安全和隐私。它提供端到端加密功能,确保您的数据在传输和存储过程中始终受到保护。
团队协作:Nextcloud不仅适用于个人用户,也是团队协作的理想选择。通过共享文件夹、日历、联系人等功能,团队成员可以轻松地共享和协作,提高工作效率。
丰富的应用生态系统:Nextcloud拥有丰富的应用生态系统,涵盖了各种实用工具和功能,如日历、联系人管理、文件同步等,满足您不同的需求。
灵活的部署:Nextcloud可以在各种环境中部署,包括自己的服务器、私有云、公共云,甚至是混合部署。这使得Nextcloud成为适合个人和企业的理想解决方案。
数据掌控权:Nextcloud让您重新获得对数据的掌控权,不再依赖于第三方云服务提供商。
安全保障:Nextcloud提供先进的安全功能,包括加密传输和端到端加密,确保您的数据始终受到保护。
灵活性与可扩展性:Nextcloud具有很高的灵活性和可扩展性,可以根据您的需求进行定制和扩展。
开源社区支持:Nextcloud是一个开源项目,拥有庞大的开源社区支持,不断推动平台的发展和改进。
下载安装包
分享本人部署的整合工具包:
链接:https://pan.baidu.com/s/10vt_SqnWHvFdHxsIKoCy8Q?pwd=r2gl
提取码:r2gl
# 网盘资源下载至服务器解压:tar -xf nextcloud_install.tar.gz
[root@wangting666 nextcloud_install]# ll
total 1678856
-rw-r--r-- 1 root root 781 May 8 17:13 docker-compose.yml
drwxr-xr-x 2 root root 4096 May 8 17:14 install_docker
-rw------- 1 root root 399751680 May 8 11:02 mariadb.tar
-rw------- 1 root root 1319373312 May 8 11:01 nextcloud.tar
-rwxr-xr-x 1 root root 311 May 8 17:15 useradd_all.sh
-rw-r--r-- 1 root root 82 May 8 17:15 userlist.txt
包含了官方近期最新的镜像,compose编辑好的定义文件、一键部署docker脚本、批量添加用户脚本等等功能的集合包
https://nextcloud.com/ 通过download下载
[root@wangting666 nextcloud_install]# cd install_docker/
[root@wangting666 install_docker]# ll
total 94456
-rw-r--r-- 1 root root 70191972 Jan 30 16:51 docker-24.0.8.tgz
-rwxr-xr-x 1 root root 26525696 May 8 11:05 docker-compose
-rwxr-xr-x 1 root root 2725 May 8 17:14 install_docker.sh
[root@wangting666 install_docker]# bash install_docker.sh docker-24.0.8.tgz
注意:
需要在install_docker.sh脚本所在路径执行
bash install_docker.sh docker-24.0.8.tgz
默认已经有docker-24.0.8,如果需要安装其它版本需要自行下载,脚本中有介绍
官方下载地址:https://download.docker.com/linux/static/stable/x86_64/
需要用root用户或者有sudo权限的普通用户
一键脚本包含安装
docker-compose
[root@hdt-dmcp-nextcloud nextcloud]# mkdir -p /data/nextcloud/{nginx,db,app}
注意:
- nginx目录存放nginx相关配置、db目录存放应用自身的系统数据、app存放应用数据和用户数据
- /data 路径需要有足够的存储空间
[root@wangting666 nextcloud_install]# cp docker-compose.yml /data/nextcloud/ [root@wangting666 nextcloud_install]# cd /data/nextcloud/ [root@wangting666 nextcloud]# vim docker-compose.yml version: '2' services: db: image: mariadb:10.5 restart: always command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW networks: - nextcloud_netbridge volumes: - /data/nextcloud/db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=wangting_666 - MYSQL_PASSWORD=nextcloud - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud app: image: nextcloud restart: always ports: - 80:80 networks: - nextcloud_netbridge links: - db volumes: - /data/nextcloud/app:/var/www/html environment: - MYSQL_PASSWORD=nextcloud - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db networks: nextcloud_netbridge: driver: bridge
注意:
- volumes相关配置需要改成本地真实的路径,volumes中的值前面为本地映射目录,后面为容器中的路径
- 在db中的environment配置中,MYSQL_ROOT_PASSWORD可以修改root密码等等相关信息,但一定要保证app中的指定environment信息需匹配上db中的定义,
- app中的ports
-80:80
,含义为把容器中的80端口映射到本地的80端口,如果本地80端口已使用,这里需要更换,例如-1088:80
[root@hdt-dmcp-nextcloud nextcloud]# docker load -i mariadb.tar
[root@hdt-dmcp-nextcloud nextcloud]# docker load -i nextcloud.tar
[root@wangting666 nextcloud_install]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nextcloud latest f49cee8b0306 2 weeks ago 1.29GB
mariadb 10.5 c65b1e141932 2 months ago 394MB
注意:如果不想使用分享包中的镜像版本,且服务器是无互联网限制,可以自行去拉取官方镜像
但需要对应修改
docker-compose.yaml
中的image
docker pull mariadb:版本号
docker pull nextcloud:版本号
[root@wangting666 nextcloud_install]# cd /data/nextcloud/
[root@hdt-dmcp-nextcloud nextcloud]# docker-compose -f /data/nextcloud/docker-compose.yml up -d
[+] Running 3/3
⠿ Network nextcloud_nextcloud_netbridge Created 0.0s
⠿ Container nextcloud-db-1 Started 0.3s
⠿ Container nextcloud-app-1 Started
[root@hdt-dmcp-nextcloud nextcloud]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e0af6417141a nextcloud "/entrypoint.sh apac…" 14 seconds ago Up 13 seconds 0.0.0.0:80->80/tcp nextcloud-app-1
53bc6911afb1 mariadb:10.5 "docker-entrypoint.s…" 14 seconds ago Up 13 seconds 3306/tcp nextcloud-db-1
服务此时已经启动成功
URL地址为主机ip与yml中app的port配置端口
第一次登录需要进行页面的管理员信息配置与服务安装
后续一些辅助工具都可以跳过暂时不安装,安装完毕后即可登录
登录后界面
左上角主要为功能区,右上角为信息区(个人、好友、消息提醒、搜索)
文件存放中,初始会有一些示例文档等等,可以自行删除
下载地址:https://github.com/nextcloud/desktop/releases/
去查找Release版本中Assets有msi安装文件的下载安装即可
例如:https://github.com/nextcloud/desktop/releases/download/v3.6.0/Nextcloud-3.6.0-x64.msi
安装配置nextcloud连接URL即可打开使用
可以添加本地目录与云文件夹同步,例如本地E:\nextcloud
与云文件夹upload
目录
通过管理员可以增删改查用户组和用户,分享文件可以进行人员分享以及组分享等等
当我们添加用户需要加到指定组时,需要先创建出这个组
当我们需要加大量用户时,界面操作效率低下,可以通过接口调用实现,所以可以通过脚本进行批量操作
[root@wangting666 nextcloud_install]# cat useradd_all.sh
#!/bin/sh
txt_file="userlist.txt"
while IFS=, read -r userid password
do
echo "用户ID: $userid, 密码: $password"
curl -X POST http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users -d userid="$userid" -d password="$password" -H "OCS-APIRequest: true" -d groups[]="bigdata"
done < "$txt_file"
[root@wangting666 nextcloud_install]# cat userlist.txt
zhangsan,Bigdata123A456
lisi,Bigdata123A456
wangwu,Bigdata123A456
zhaoliu,Bigdata123A456
注意需要更改脚本中的部分内容
http://wangting:Bigdata123456@122.9.33.66
http://管理员账号:管理员密码@服务器地址
- 必须以管理员账号登录才有权限添加用户
- -d group[ ]=“bigdata” 表示将用户加入到这个组里,需要提前创建组,创建用户也可以不加组,删除这段内容即可
<statuscode>200</statuscode>
返回200则表示创建成功
执行添加
[root@wangting666 nextcloud_install]# bash useradd_all.sh 用户ID: zhangsan, 密码: Bigdata123A456 <?xml version="1.0"?> <ocs> <meta> <status>ok</status> <statuscode>200</statuscode> <message>OK</message> </meta> <data> <id>zhangsan</id> </data> </ocs> 用户ID: lisi, 密码: Bigdata123A456 <?xml version="1.0"?> <ocs> <meta> <status>ok</status> <statuscode>200</statuscode> <message>OK</message> </meta> <data> <id>lisi</id> </data> </ocs> ... ...
执行成功后即完成了批量添加效果
curl -X DELETE http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users/username -H "OCS-APIRequest: true"
例如
[root@wangting666 ~]# curl -X DELETE http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users/zhangsan -H "OCS-APIRequest: true"
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>200</statuscode>
<message>OK</message>
</meta>
<data/>
</ocs>
curl -X PUT http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users/username/disable -H "OCS-APIRequest: true"
例如
[root@wangting666 ~]# curl -X PUT http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users/lisi/disable -H "OCS-APIRequest: true"
<?xml version="1.0"?>
<ocs>
<meta>
<status>ok</status>
<statuscode>200</statuscode>
<message>OK</message>
</meta>
<data/>
</ocs>
# 再次启用
curl -X PUT http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users/lisi/enable -H "OCS-APIRequest: true"
curl -X POST http://wangting:Bigdata123456@122.9.33.66/ocs/v2.php/cloud/users/wangwu/groups -d groupid="test" -H "OCS-APIRequest: true"
# 查看数据库容器的ID [root@wangting666 nextcloud]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 32eb670ba257 nextcloud "/entrypoint.sh apac…" 8 hours ago Up 8 hours 0.0.0.0:80->80/tcp, :::80->80/tcp nextcloud-app-1 e8fed9feffcf mariadb:10.5 "docker-entrypoint.s…" 8 hours ago Up 8 hours 3306/tcp nextcloud-db-1 # 进入数据库(数据库密码为yml文件中定义) [root@wangting666 nextcloud]# docker exec -it e8fed9feffcf /bin/bash root@e8fed9feffcf:/# mysql -uroot -p MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | nextcloud | | performance_schema | +--------------------+ MariaDB [(none)]> use nextcloud; # 巡检或者查看一些基本信息,可以找相关表进行查询 # 例如group MariaDB [nextcloud]> select * from oc_group_user; +--------------+----------+ | gid | uid | +--------------+----------+ | admin | wangting | | bigdata | lisi | | bigdata | wangwu | | bigdata | zhaoliu | +--------------+----------+ 4 rows in set (0.000 sec) # 用户信息 MariaDB [nextcloud]> select * from oc_users limit 2 \G; *************************** 1. row *************************** uid: lisi displayname: NULL password: 3|$argon2id$v=19$m=65536,t=4,p=1$U0RpdjdEQ1Y0di5uTy4zcw$mdvQ1wXrYJVyGq6rndgP6YVDbLzdtpCm/yUBSj7GC7U uid_lower: lisi *************************** 2. row *************************** uid: wangt displayname: NULL password: 3|$argon2id$v=19$m=65536,t=4,p=1$SWlGaGRiaWlYRlRNdHA2OQ$yV9hG61R8NLxn7mnR/K6a6TvJRMO+My/lYZO0NRljEE uid_lower: wangt 2 rows in set (0.000 sec)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。