Nextcloud常见问题解决方法

自主部署nextcloud后,后台经常会出现这样那样的问题,这里汇总并分享解决方案

  1. 后台管理界面出现“您的安装没有设置默认的电话区域”问题,这个一般需要修改config.php文件(映射文件夹或者容器内),找到config.php,然后在文件中加入

    'default_phone_region' => 'CN',
  2. 定时执行后台任务:默认情况下,每次打开Nextcloud页面之后会加载一个任务,根据官方建议使用系统定时来优化性能,可以通过以下方式完成

crontab -e
*/5 * * * * docker exec --user www-data nextcloud-container-name or container-ID php cron.php
  1. 给nextcloud添加redis缓存,可以通过部署redis容器,之后好需要修改config.php文件,注意这一步经常会导致内部错误,请务必做好备份

docker run --name redis -p 6379 -d redis  #docker安装redis, -p 指定容器端口

查询redis容器ip地址,找到redis容器的ip地址

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

编辑nextcloud的配置文件config.php,我的redis对应的是nextcloud_cache_1 - 192.168.48.3 ,修改config.php文件中对应部分。修改完成后保存配置文件,重启nextcloud容器

'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => '192.168.48.3', # redis容器对应ip地址
     'port' => 6379,  #redis容器端口号
      ),

查看是否成功缓存,可以通过以下命令进行检查

docker exec -it redis bash

# 进入redis-cli
> redis-cli
> keys *

如果缓存成功,则会返回以下

  1. nextcloud安装后应用商店不显示,这个往往是因为国内的网络被墙的缘故,可以替换一下,在配置文件config.php中加入如下配置

'appstoreenabled' => true,
'appstoreurl' => 'https://www.orcy.net/ncapps/v2/',
  1. 后台出现维护窗口时间为设置时“Server has no maintenance window start time configured. This means resource intensive daily background jobs will also be executed during your main usage time. We recommend to set it to a time of low usage, so users are less impacted by the load caused from these heavy tasks.”,可以通过以下命令解决

 sudo docker exec --user www-data -it nextcloud-container-name-or-ID php occ config:system:set maintenance_window_start --value=“17” 
  1. 后台管理面板警告:“Your web server is not properly set up to resolve .well-known URLs, failed on: /.well-known/caldav 更多细节,请参见文档 ↗。”一般都是反向代理设置的问题,可以通过在nginx中添加如下代码

 location ^~ /.well-known {
        # The following 6 rules are borrowed from `.htaccess`

        location = /.well-known/carddav     { return 301 /remote.php/dav/; }
        location = /.well-known/caldav      { return 301 /remote.php/dav/; }
        # Anything else is dynamically handled by Nextcloud
        location ^~ /.well-known            { return 301 /index.php$uri; }

        try_files $uri $uri/ =404;
    }

如果是用的npm,则在advance部分加上上述代码

  1. 后台提示缺少缺少bz2模块解决办法(最新版nextcloud一般没有此问题):

docker exec -it [Nextcloud ID/Name]  /bin/bash #进入容器
apt-get update
apt-get install -y libbz2-dev #安装libbz2-dev
docker-php-ext-install bz2 #启用bz2
exit #退出容器

退出容器后,重启容器即可。

  1. 解除文件块大小,提升传输速度。在有良好的传输网络下,比如局域网,应当解除块大小限制来提升网络传输效率,默认是102400(10M),设置为0即可关闭块大小限制

docker exec --user www-data 【nextcloud-container-name-or-ID】 php occ config:app:set files max_chunk_size --value 0
  1. ”php-imagick模块” 问题:此实例中的 php-imagick 模块不支持 SVG。为了获得更好的兼容性,建议安装它。可以通过以下步骤解决(这个问题在最新版nextcloud中不会出现)

docker exec -it 【nextcloud-container-name-or-ID】 /bin/sh  #进入nextcloud容器

apk add --no-cache imagemagick  #执行安装 imagemagick或者用下面的命令通过apt安装
apt install libmagickcore-6.q16-6-extra  

安装完毕后,重启nextcloud


Nextcloud常见问题解决方法
https://www.lfelab.cn/archives/rEQrLQN3
作者
Administrator
发布于
2025年01月21日
许可协议