2019年Nextcloud私有云安装常见问题汇总及优化

采用LAMP架构安装Nextcloud私有云盘是一个很简单的过程,但是由于是开源软件,难免会存在一些BUG和小问题,这里罗列了安装过程中可能会出现的一些问题并汇总,仅供参考。

#issues 修复记录
1.升级版本后,网页端无法登陆,但是手机端、os client均可以正常登陆
[fixed]通过打补丁可以解决

wget  https://patch-diff.githubusercontent.com/raw/nextcloud/server/pull/11103.patch
root@localhost:/var/www/html/nextcloud# patch -p1 < 11103.patch

2.内部服务器http 500错误,PHP内存限制低于建议值512MB.
[fixed]调整php memory大小,可以参考上文中的配置进行设置,编辑 /etc/php/7.3/apache2/php.ini,将memory_limit改为512M。

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit =512M

3.手机端上传文件时提示WebDAV Locked,文件被锁
[fixed]禁用filelocking功能
在/nextcloud/config/config.php文件中添加
‘filelocking.enabled’ => false,
参考:OCA\DAV\Connector\Sabre\Exception\FileLocked – DB race condition

4.内存缓存未配置,为了提升使用体验,请尽量配置内存缓存
[fixed]

1>.安装APCu

./addons.sh install apcu
cd /root/lnmp1.5

2>.安装完成后编辑 /home/wwwroot/cloud.yourdomain.com/config/config.php 文件,加上
‘memcache.local’ => ‘\OC\Memcache\APCu’,

5.PHP 的 OPcache 模块未载入,推荐开启获得更好的性能。
[fixed]
1>.安装OPcahe
cd /root/lnmp1.5
./addons.sh install opcache
2>.配置OPcahe

LNMP1.4后,添加扩展已经不再修改php.ini,而是单独的 /usr/local/php/conf.d/004-opcache.ini,nextcloud推荐配置如下

[Zend Opcache]
zend_extension=”opcache.so”
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=1
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.save_comments=1

6.该实例缺失了一些推荐的PHP模块。为提高性能和兼容性,我们强烈建议安装它们。imagick
[fixed]
1>.安装ImageMagick
apt install ImageMagick-devel
cd /root/lnmp1.5
./addons.sh install imageMagick
2>.修改 /usr/local/php/etc/php.ini,第一行加上:
extension=”imagick.so”

7.nextcloud-problem-occ db:convert-filecache-bigint
[fixed]

cd /home/wwwroot/cloud.yourdomain.com/
sudo -u www php occ db:convert-filecache-bigint

其中www是网站用户名,视情况而定,ls -l 可以查看用户名和用户组

9.
nextcloud-problem-add-http-header
extcloud-problem-add-http-header-no-referrer
[fixed]这五个header的问题是由重复配置造成的,在 /etc/apache2/cloud.yourdomain.conf 中把这些注释掉即可。

10.HTTP的请求头 “Strict-Transport-Security” 未设置为至少 “15552000” 秒. 为了提高安全性,建议参照security tips ↗中的说明启用HSTS.
[fixed]
在 /etc/apache2/www.cloud.yourdomain.conf 中添加以下代码

add_header Strict-Transport-Security “max-age=15768000;preload;”;

11.挂载外部存储设备时,提示“smbclient” 未安装。无法挂载 “SMB / CIFS”, “SMB / CIFS 使用 OC 登录信息””

[fixed]进入VPS后台安装组件解决

apt install libsmbclient-dev
apt install smbclient

12.数据库丢失了一些索引。由于给大的数据表添加索引会耗费一些时间,因此程序没有自动对其进行修复。索引修复后会大大提高相应表的查询速度。

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

13.数据库中的一些列由于进行长整型转换而缺失。由于在较大的数据表重改变列类型会耗费一些时间,因此程序没有自动对其更改。

sudo -u www-data php occ db:convert-filecache-bigint

14.已禁用事务性文件锁定,这可能在竞争条件下导致问题。
在Nextcloud根目录/config/config.php 中启用 “filelocking.enabled” 可以避免此问题。

15.您的网页服务器未正确设置以解析“/.well-known/caldav”,尤其是在大版本升级以后会出现。这是由于Apache2未开启rewrite功能,或者虚拟机目录配置文件中未添加“AllowOverride All”参数,使得Nextcloud无法使用网站根目录下.htaccess文件参数所致。

a2enmod rewrite
service apache2 restart

16.内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。这是由于Nextcloud未配置缓存导致的,这里我们使用APCU作为缓存,首先确保系统已安装php-apcu,如未安装可通过如下命令安装。

apt install php-apcu
service apache2 restart

修改Nextcloud网站config目录下的config.ini文件,在文件未尾处添加如下参数:
‘memcache.local’ => ‘\OC\Memcache\APCu’,

17

本文由作者 Rebaka 发布在 TNEXT , 转载请联系service@tnext.org授权处理,获得授权后请保留文章的完整性并附上原文链接: https://tnext.org/3919.html

We will be happy to hear your thoughts

发表评论

This site is protected by wp-copyrightpro.com

TNEXT