当我们使用宝塔面板部署好后,可以直接使用,如果你还没有部署Nextcloud,可以参考:
但是管理员-设置-概览内,检测一般会存在一些警告和错误,这些我们如何解决呢?
这个问题最好解决,同时也可能是无法解决问题:
服务器绑定域名,并配置SSL证书,域名解析到服务器即可
但是:
国内服务器需要绑定备案的域名,若无备案域名,则只能使用IP访问Nextcloud,那么该条警告无法去除。
你的无效的文件列表和我的可能不一样,但是方法是一样的:
如果你使用宝塔面板,可以进入宝塔面板后台,然后使用宝塔的图形界面删除无效文件。如果你熟悉Linux命令,可以使用rm
命令删除:
其实这个很好解决,PHP默认是有4096字节缓冲的。但是Nextcloud希望你关闭。如果你是自己安装的PHP,在你安装PHP的路径下,打开PHP配置文件(php.ini
),将要
output_buffering = 4096
改为:
; output_buffering = 4096
;
为PHP的注释符号
如果你是宝塔安装配置的php,更简单了。在宝塔面板,依次打开:软件商店
-已安装
-PHP7.3设置
-配置文件
查找文本output_buffering
,并在前面加上;
注释
之后,可能需要重载PHP配置或者重启PHP服务才能生效。再次查看Nextcloud概述,就没有这条警告了。
这个其实是Nginx的问题,为了进一步提升安全性,我们打开Nginx网站设置
在location内的禁止访问目录内,加入data目录。
这个处理方法很简单;如果你是自己安装配置的PHP,一般不会出现这个问题,当时如果是使用宝塔安装,一般都会有这个问题,解决方法很简单:
在宝塔面板,依次打开:软件商店
-已安装
-PHP7.3设置
-FPM配置文件
在文末添加:
env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin
之后,可能需要重载PHP配置或者重启PHP服务才能生效。
这个处理方法很简单,简单地说,设置Nginx即可。如果你的Nginx是宝塔安装的,那么打开网站的Nginx:
之后追加以下内容:
rewrite /.well-known/carddav /remote.php/dav permanent;
rewrite /.well-known/caldav /remote.php/dav permanent;
之后保存即可
PHP模块问题包括:
安装如下模块:
同时,因为使用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
有时候,我们直接使用Linux命令,如:wget
、curl
等命令直接下载文件到服务器内Nextcloud里的用户目录,但是用户登录Nextcloud却并没有显示,怎么办?
我们可以使用PHP配合Nextcloud命令,来自动扫描文件:
sudo -u www php occ files:scan --all
其中:
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
保存即可。
当然,如果你用宝塔面板,也可以直接使用宝塔自带的控制面板,设置定时任务:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。