宝塔面板部署Nextcloud后解决后台安全错误及设置警告

原创 教程评论724字数 1471

搭建方法:VPS搭建个人网盘 Nextcloud安装搭建教程

当我们使用宝塔面板部署好后,可以直接使用,但是管理员-设置-概览内,检测一般会存在一些警告和错误,这些我们如何解决呢?文章源自合一学院-https://unvmax.com/%e5%ae%9d%e5%a1%94%e9%9d%a2%e6%9d%bf%e9%83%a8%e7%bd%b2nextcloud%e5%90%8e%e8%a7%a3%e5%86%b3%e5%90%8e%e5%8f%b0%e5%ae%89%e5%85%a8%e9%94%99%e8%af%af%e5%8f%8a%e8%ae%be%e7%bd%ae%e8%ad%a6%e5%91%8a.html

1.通过HTTP访问网站不安全。强烈建议您将服务器设置成要求使用HTTPS协议

这个问题最好解决,同时也可能是无法解决问题:服务器绑定域名,并配置SSL证书域名解析到服务器即可文章源自合一学院-https://unvmax.com/%e5%ae%9d%e5%a1%94%e9%9d%a2%e6%9d%bf%e9%83%a8%e7%bd%b2nextcloud%e5%90%8e%e8%a7%a3%e5%86%b3%e5%90%8e%e5%8f%b0%e5%ae%89%e5%85%a8%e9%94%99%e8%af%af%e5%8f%8a%e8%ae%be%e7%bd%ae%e8%ad%a6%e5%91%8a.html

但是:文章源自合一学院-https://unvmax.com/%e5%ae%9d%e5%a1%94%e9%9d%a2%e6%9d%bf%e9%83%a8%e7%bd%b2nextcloud%e5%90%8e%e8%a7%a3%e5%86%b3%e5%90%8e%e5%8f%b0%e5%ae%89%e5%85%a8%e9%94%99%e8%af%af%e5%8f%8a%e8%ae%be%e7%bd%ae%e8%ad%a6%e5%91%8a.html

国内服务器需要绑定备案的域名,若无备案域名,则只能使用IP访问Nextcloud,那么该条警告无法去除。文章源自合一学院-https://unvmax.com/%e5%ae%9d%e5%a1%94%e9%9d%a2%e6%9d%bf%e9%83%a8%e7%bd%b2nextcloud%e5%90%8e%e8%a7%a3%e5%86%b3%e5%90%8e%e5%8f%b0%e5%ae%89%e5%85%a8%e9%94%99%e8%af%af%e5%8f%8a%e8%ae%be%e7%bd%ae%e8%ad%a6%e5%91%8a.html

2.一些文件没有通过完整性检查. 了解如何解决该问题请查看我们的文档. (无效的文件列表… / 重新扫描…)

你的无效的文件列表和我的可能不一样,但是方法是一样的:文章源自合一学院-https://unvmax.com/%e5%ae%9d%e5%a1%94%e9%9d%a2%e6%9d%bf%e9%83%a8%e7%bd%b2nextcloud%e5%90%8e%e8%a7%a3%e5%86%b3%e5%90%8e%e5%8f%b0%e5%ae%89%e5%85%a8%e9%94%99%e8%af%af%e5%8f%8a%e8%ae%be%e7%bd%ae%e8%ad%a6%e5%91%8a.html

1.开nextcloud的安装地址,也就是Nginx所代理的网站更目录;文章源自合一学院-https://unvmax.com/%e5%ae%9d%e5%a1%94%e9%9d%a2%e6%9d%bf%e9%83%a8%e7%bd%b2nextcloud%e5%90%8e%e8%a7%a3%e5%86%b3%e5%90%8e%e5%8f%b0%e5%ae%89%e5%85%a8%e9%94%99%e8%af%af%e5%8f%8a%e8%ae%be%e7%bd%ae%e8%ad%a6%e5%91%8a.html

2.删除“提示的无效文件“。文章源自合一学院-https://unvmax.com/%e5%ae%9d%e5%a1%94%e9%9d%a2%e6%9d%bf%e9%83%a8%e7%bd%b2nextcloud%e5%90%8e%e8%a7%a3%e5%86%b3%e5%90%8e%e5%8f%b0%e5%ae%89%e5%85%a8%e9%94%99%e8%af%af%e5%8f%8a%e8%ae%be%e7%bd%ae%e8%ad%a6%e5%91%8a.html

如果你使用宝塔面板,可以进入宝塔面板后台,然后使用宝塔的图形界面删除无效文件。如果你熟悉Linux命令,可以使用rm命令删除:文章源自合一学院-https://unvmax.com/%e5%ae%9d%e5%a1%94%e9%9d%a2%e6%9d%bf%e9%83%a8%e7%bd%b2nextcloud%e5%90%8e%e8%a7%a3%e5%86%b3%e5%90%8e%e5%8f%b0%e5%ae%89%e5%85%a8%e9%94%99%e8%af%af%e5%8f%8a%e8%ae%be%e7%bd%ae%e8%ad%a6%e5%91%8a.html

rm命令删除

3.PHP configuration option output_buffering must be disabled

其实这个很好解决,PHP默认是有4096字节缓冲的。但是Nextcloud希望你关闭。如果你是自己安装的PHP,在你安装PHP的路径下,打开PHP配置文件(php.ini),将要文章源自合一学院-https://unvmax.com/%e5%ae%9d%e5%a1%94%e9%9d%a2%e6%9d%bf%e9%83%a8%e7%bd%b2nextcloud%e5%90%8e%e8%a7%a3%e5%86%b3%e5%90%8e%e5%8f%b0%e5%ae%89%e5%85%a8%e9%94%99%e8%af%af%e5%8f%8a%e8%ae%be%e7%bd%ae%e8%ad%a6%e5%91%8a.html

output_buffering = 4096

改为:文章源自合一学院-https://unvmax.com/%e5%ae%9d%e5%a1%94%e9%9d%a2%e6%9d%bf%e9%83%a8%e7%bd%b2nextcloud%e5%90%8e%e8%a7%a3%e5%86%b3%e5%90%8e%e5%8f%b0%e5%ae%89%e5%85%a8%e9%94%99%e8%af%af%e5%8f%8a%e8%ae%be%e7%bd%ae%e8%ad%a6%e5%91%8a.html

; output_buffering = 4096

;为PHP的注释符号

如果你是宝塔安装配置的php,更简单了。在宝塔面板,依次打开:

软件商店-已安装-PHP7.3设置-配置文件

查找文本output_buffering,并在前面加上;注释

加上注释

之后,可能需要重载PHP配置或者重启PHP服务才能生效。再次查看Nextcloud概述,就没有这条警告了。

4.您的数据目录和文件可以从互联网直接访问。.htaccess 文件不起作用。强烈建议您配置 Web 服务器,以便数据目录不再可访问,或者您可以将数据目录移动到 Web 服务器文档根目录。

这个其实是Nginx的问题,为了进一步提升安全性,我们打开Nginx网站设置

在location内的禁止访问目录内,加入data目录。

5.PHP 的安装似乎不正确,无法访问系统环境变量。getenv(“PATH”) 函数测试返回了一个空值

这个处理方法很简单;如果你是自己安装配置的PHP,一般不会出现这个问题,当时如果是使用宝塔安装,一般都会有这个问题,解决方法很简单:

在宝塔面板,依次打开:软件商店-已安装-PHP7.3设置-FPM配置文件

在文末添加:

env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin

之后,可能需要重载PHP配置或者重启PHP服务才能生效。

6.您的网页服务器未正确设置以解析****。更多信息请参见文档

这个处理方法很简单,简单地说,设置Nginx即可。如果你的Nginx是宝塔安装的,那么打开网站的Nginx:

打开Nginx设置

之后追加以下内容:

rewrite /.well-known/carddav /remote.php/dav permanent;
rewrite /.well-known/caldav /remote.php/dav permanent;

之后保存即可!

7.PHP模块问题

PHP模块问题包括:

  1. 未找到PHP的"fileinfo"模块。强烈推荐启用该模块,从而获得更好的MIME类型探测结果。
  2. 内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。更多信息请参见文档。
  3. PHP的OPcache模块未载入。推荐开启获得更好的性能。

安装如下模块:

安装的模块-02

同时,因为使用Redis作为缓冲,所以我们需要打开Nextcloud的配置文件,追加以下内容:

  'memcache.local' => '\OC\Memcache\Redis',
  'redis' => array(
    'host' => 'localhost',
    'port' => 6379,
    ),

数据库丢失了一些索引。由于给大的数据表添加索引会耗费一些时间,因此程序没有自动对其进行修复

这个因为我之前修复了,所以我的警告和错误列表没有提示。如果你有报这条警告,直接运行:

php occ db:add-missing-indices

但是注意文件夹所属的用户组,比如:你Terminal上使用的是root或者Ubuntu用户,那么就需要用sudo提权

sudo -u php occ db:add-missing-indices

8.优化内容

文件扫描

有时候,我们直接使用Linux命令,如:wgetcurl等命令直接下载文件到服务器内Nextcloud里的用户目录,但是用户登录Nextcloud却并没有显示,怎么办?

我们可以使用PHP配合Nextcloud命令,来自动扫描文件:

sudo -u www php occ files:scan --all

其中:

  • 命令使用需要在Nextcloud根目录下
  • 需要使用sudo -u命令提权

后台任务优化

Nextcloud的后台任务,默认是使用Ajax异步方法进行后台任务:

即在每次访问Nextcloud任意页面都会通过AJAX的方式发起定时任务的执行请求,这种方式如果没有自己的独立服务器或者VPS的话还是比较方便省心的

但官方推荐使用Cron,和Nginx或Apache等WEB服务独立开来,互不影响:

为了使用Cron,我们需要用到Linux的定时任务。

SSH连接服务器后,输入:

crontab -e

创建一个Cron任务,并使用正则表达式:

*/5 * * * * sudo -u www php /PathToNextcloud/cron.php

保存即可。

当然,如果你用宝塔面板,也可以直接使用宝塔自带的控制面板,设置定时任务:

宝塔设置定时任务

  • nextcloud
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证