修复Nextcloud的安全报错

发表于 2019-11-05  86 次阅读


文章目录

终于要写这个了啊

首先声明一下,由于我用的DNS是Cloudflare,因为Cloudflare自带CDN缓存,导致我一旦修改相关目录,解析缓存就要等很久,所以本篇直接写文字,并且由于我记性不太好,若有些BUG并没有写解决方法,请在评论区评论,感谢!

Nginx部分

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

A:更改网站伪静态即可(代码如下)

location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
 deny all;
}

Q:您的网页服务器未正确设置以解析“/.well-known/caldav”。更多信息请参见文档。
您的网页服务器未正确设置以解析“/.well-known/carddav”。更多信息请参见文档

A:配置你网站的Nginx文件,添加以下两句(请注意Nginx语法)

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

然后重启Nginx,Nginx部分完成!

PHP部分

我们去下载一下PHP拓展:fileinfo,apcu,imagick和opcache,然后开始修复PHP报错

Q:未找到 PHP 的 "fileinfo" 模块。强烈推荐启用该模块,从而获得更好的 MIME 类型探测结果/该实例缺失了一些推荐的PHP模块。为提高性能和兼容性,我们强烈建议安装它们。

A:下载fileifo和imagick扩展即可

Q:PHP的安装似乎不正确,无法访问系统环境变量。getenv("PATH")函数测试返回了一个空值。 请参照安装说明文档 ↗中的PHP配置说明查阅您服务器的PHP配置信息,特别是在使用php-fpm时。

A:使用vim进入pho-fpm添加一句代码

vim /www/server/php/72/etc/php-fpm.conf

将此句添加到末尾
env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin

然后保存即可

Q:内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。更多信息请参见文档

A:使用vim进入网站config文件配置acpu为内存缓存器(?)

vim /www/wwwroot/你的域名/nextcloud/config/config.php

将此句添加到末尾
'memcache.local' => '\\OC\\Memcache\\APCu',

然后保存即可(注意语法,不然很容易报错)

Q:PHP 的 OPcache 模块未载入。推荐开启获得更好的性能。

A:更改PHP文件中Opcache的参数(推荐使用宝塔面板改)

更改为
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

然后重启PHP,PHP部分完成

还有一个数据对接问题,只需在nextcloud目录输入这句代码即可

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

代码来源:伊阳博客

本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。

0