宝塔面板部署NextCloud(16.0.0)逐一解决后台安全及设置警告
13.x对应:宝塔面板部署NextCloud逐一解决后台安全及设置警告
14.x对应:宝塔面板部署NextCloud(14.0.3)逐一解决后台安全及设置警告
注:我从14.x直接跨本版升级到了16.0.0,越过了15.x版本,所以无法记录到15.x版本的一些告警及处理方法
16.x对应的一些新告警
逐一解决
1.一些文件没有通过完整性检查
这个就不多说了,点击无效文件列表,删除或者移动列表里不应该存在的文件到别的目录,然后重新扫描一遍即可。
2.PHP 的安装似乎不正确,无法访问系统环境变量。getenv(“PATH”) 函数测试返回了一个空值
参考 宝塔面板部署NextCloud逐一解决后台安全及设置警告 第1条
3.PHP 内存限制低于建议值 512MB
修改php的内存配置即可
4.所使用的数据库为MySQL但没有对4字节字符的支持。为正确处理文件名或评论中使用的4字节字符(比如emoji表情),建议开启MySQL的4字节字符支持
提示:此步骤有风险,请一定要先备份数据
按照 官方文档 的指导:
1.修改MySQL配置文件,这里以MySQL 5.5 为例
在 [mysqld]
配置段里加入
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=1
保存后重启MySQL
2.修改nextcloud的数据库的字符集和排序规则
ALTER DATABASE nextcloud所在的数据库名称 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
可以在shell下使用mysql执行上述SQL命令,也可以用phpmyadmin执行
3.修改nextcloud配置文件config.php
将 utf8mb4
值改为 true
官方给出的方法是使用occ命令,当然也可以直接修改config.php
occ命令:需要在nextcloud的安装根目录下执行
sudo -u www php occ config:system:set mysql.utf8mb4 --type boolean --value="true"
直接修改:
4.修复数据库
同样是occ命令,需要在nextcloud的安装根目录下执行
sudo -u www php occ maintenance:repair
完成上述操作后,即可修复该告警
5.HTTP的请求头 “Strict-Transport-Security” 未设置为至少 “15552000” 秒。为了提高安全性,建议参照security tips ↗中的说明启用HSTS
参考 宝塔面板部署NextCloud逐一解决后台安全及设置警告 第4条
6.未找到 PHP 的 “fileinfo” 模块。强烈推荐启用该模块,从而获得更好的 MIME 类型探测结果。
参考 宝塔面板部署NextCloud逐一解决后台安全及设置警告 第2条
因为我这边是php 7.3.5,所以顺便可以参考 宝塔面板5.9手动编译php7.3 fileinfo模块
7.PHP 的组件 OPcache 没有正确配置。 为了提供更好的性能,我们建议在 php.ini中使用下列设置
参考 宝塔面板部署NextCloud逐一解决后台安全及设置警告 第6条
8.数据库丢失了一些索引。由于给大的数据表添加索引会耗费一些时间,因此程序没有自动对其进行修复。您可以在 Nextcloud 运行时通过命令行手动执行 “occ db:add-missing-indices” 命令修复丢失的索引。索引修复后会大大提高相应表的查询速度。
参考 宝塔面板部署NextCloud(14.0.3)逐一解决后台安全及设置警告 第3条
9.该实例缺失了一些推荐的 PHP 模块。为提高性能和兼容性,我们强烈建议安装它们
这里我缺少的是imagemagick模块,在php的面板上直接安装即可
10.数据库中的一些列由于进行长整型转换而缺失。由于在较大的数据表重改变列类型会耗费一些时间,因此程序没有自动对其更改。您可以通过命令行手动执行 “occ db:convert-filecache-bigint” 命令以应用挂起的更改。该操作需要当整个实例变为离线状态后执行。查阅相关文档以获得更多详情。
shell下执行occ命令:需要在nextcloud的安装根目录下执行
sudo -u www php occ db:convert-filecache-bigint
程序会询问是否继续执行这项操作,可能需要几个小时,具体取决于文件数量!输入y,回车,继续转换~
程序会在后台自动转换,不用担心
38 条评论
nextcloud内网上传速度很慢,有知道什么问题吗?
你好请教一下我在win2019服务器系统下使用宝塔部署nextclound的时候报这个应该怎么解决
An exception occurred while executing ‘SELECT `uid`, `displayname` FROM `oc_users` WHERE `uid_lower` = ?’ with params [“*********”]: SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘nextclound.oc_users’ doesn’t exist
@专业坑对
然后麻烦博主删除一下上面评论,发现暴露了我的个人信息
@专业坑对
已删除,这个报错是说“oc_users”这个表不存在,是不是部署的时候数据库丢失什么的导致的
@Bug侠
这个数据库是新创建的,里面没有什么表啥的,是第一次部署,我在阿里云Linux轻量级服务器部署正常,最近想用个人pc做个内网穿透部署不是到是不是因为win系统的问题导致的。这个结果无论是我用虚拟机还是物理机都不行
@专业坑对
是的,我去官方论坛搜了一下,有很多类似的案例,比如:
https://help.nextcloud.com/t/local-installation-not-creating-tables/76926/2
我猜测可能是Windows对utf-8编码存在一些兼容性问题导致的