[begin] NextCloud [/begin] Nextcloud是一套用于创建网络硬盘的客户端-服务器软件。其功能与Dropbox相近,但Nextcloud是自由及开放源代码软件,每个人都可以在私人服务器上安装并运行它。与 Dropbox 等专有服务相比,Nextcloud 的开放架构让用户可以利用应用程序的方式在服务器上新增额外的功能,并让用户可以完全掌控自己的数据。ownCloud 原先的开发者弗兰克·卡利切创建了 ownCloud 的分支——Nextcloud,继而让卡利切与其他原先的 ownCloud 团队成员持续积极地开发。
更新
v1.1 报错:请更改权限为 0770
v1.0 基础内容(2022.09.02)
一.安装部署
1.1 Docker 部署
1.1.1 linuxservernextcloud镜像
拉取镜像
docker pull linuxserver/nextcloud:latest
启动容器
docker run -d \
--name=nextcloud \
--net=hmnet \
--restart=always \
-e PUID=501 \
-e PGID=20 \
-p 52004:443 \
-v /data/Docker/NextCloud/config:/config \
-v /data/Docker/NextCloud/data:/data \
lscr.io/linuxserver/nextcloud:latest
命令解释:
-d \ #后台运行
-p 8080:443 #端口映射,将容器443端口映射为主机的8080端口,可以自行修改端口,不过防火墙需要放行
-e PUID=501 #映射用户id
-e PGID=20 #映射用户组id
-v /data/Docker/NextCloud/config:/config #挂载目录,将容器 /config 目录,挂载到宿主机/data/Docker/NextCloud/config
-v /data/Docker/NextCloud/config:/data #挂载目录,将容器 /data 目录,挂载到宿主机/data/Docker/NextCloud/data
–restart=always #配置容器始终启动
–name nextcloud #配置容器名称
lscr.io/linuxserver:latestt #运行docker官方镜像站 lscr.io/linuxserver 镜像,latest:最新镜像
访问服务: http://服务器ip:8080 就可以访问了
1.1.2 nextcloud官方镜像
拉取镜像
docker pull nextcloud:latest
启动容器
docker run -d -p 8080:80 --name nextcloud --net=hmnet --restart=always -v /data/NextCloud/html:/var/www/html --name nextcloud nextcloud:latest
命令解释:
-d \ #后台运行
-p 8080:80 #端口映射,将容器443端口映射为主机的8080端口,可以自行修改端口,不过防火墙需要放行
-v /data/NextCloud/html:/var/www/html #挂载目录,将容器 /var/www/html 目录,挂载到宿主机 /data/NextCloud/html
–restart=always #配置容器始终启动
–name nextcloud #配置容器名称
nextcloud:latestt #运行docker官方镜像站 nextcloud 镜像,latest:最新镜像
访问服务: http://服务器ip:8080 就可以访问了
1.2 官方VM镜像 部署
新建虚拟机>从OVF或OVA文件部署虚拟机
使用提示权限用户进入
输入ncadmin管理员密码
默认:OK
默认:ok
全部勾选
默认:ok
默认:ok
选择:Chinese
选择:Chinese
默认:回车
默认:回车
测试键盘按键
默认:ok
默认:ok
默认:ok
设置时区选择位置:Asia(亚洲)
选择地区:Shanghai
设置ncadmin密码
创建用户:nextcloud
设置密码
配置完成:ok
二. 配置运行
2.1 NextCloud连接SMB
进入容器
docker exec -it nextcloud bash
更新系统
apt-get update
安装smbclient
apt install smbclient libsmbclient-dev
pecl install smbclient
点击右上角人物头像>应用>External storage support>启用
2.2 NextCloud连接AD域
点击头像>应用>选择LDAP
点击头像>设置>选择LDAP/AD 集成
填入域控服务器信息
填入DC服务器IP地址,并检测端口
填入域管理员账号密码
填入DN信息,并测试Base
DC=域名,DC=com
2.3 NextCloud优化
2.3.1 php.ini文件优化
进入容器
docker exec -it nextcloud bash
进入目录
cd /etc/php7/
编辑php.ini文件
nano php.ini
修改单个文件上传大小
按键盘Ctrl+w
搜索upload_max、post_max
将=后面修改为所需大小
upload_max
三. 报错
3.1 内部服务器错误
使用命令进入mariadb数据库容器内
docker exec -it mariadb bash
输入mariadb的root密码,回车登录;
mysql -u root -p password
输入以下命令并回车;(清空cache表)
TRUNCATE TABLE oc_filecache
重新登录NextCloud,问题解决
3.2 检测到您的IP多次无效登录
这是因为nextcloud默认的防爆力破解机制所致
解决:在config.php配置文件中修改或者新增
'auth.bruteforce.protection.enabled' => false,
3.3 通过不信任的域名访问
使用命令进入docker容器
docker exec -it nextcloud bash
由于容器内系统组件不全,故先试用命令更新系统
Ubuntu/Debian
sudo apt-get update
CentOS
sudo yum update
安装vim编辑器
Ubuntu/Debian
sudo apt-get install vim
CentOS
sudo yum install vim
修改config.php配置文件
官方镜像进入config.php
路径/var/www/html/config
cd /var/www/html/config
linuxserver镜像config.php
路径/config/www/nextcloud/config
cd /config/www/nextcloud/config
官方VM镜像
cd /var/www/nextcloud/config
编辑config.php文件
vim config.php
在array()内按照格式添加IP及域名
保存,重启容器
docker restart nextcloud
3.4 Error报错4047
Nextcloud23 内部服务器错误 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE
使用命令进入容器内,mariadb控制台,键入以下命令并回车
docker exec -it mariadb bash
输入mariadb的root密码,回车登录
mysql -u root -p
输入以下命令并回车
SET GLOBAL innodb_read_only_compressed=OFF;
重新登陆nextcloud,成功解决。
3.5 Error报错 NSURLErrorDomain 错误-999
编辑配置文件 根目录>config>config.php
<strong>'overwriteprotocol'</strong> => <strong>'https'</strong>,
3.6 您的数据目录可被其他用户读取 请更改权限为 0770 以避免其他用户查看目录
解决办法:config.php 添加 ‘check_data_directory_permissions’ => false
'check_data_directory_permissions' => false
暂无评论内容