Nextcloud 20 使用笔记 – 安装及设置中的警告排除

  Nextcloud 是一款开源免费的私有云存储网盘项目。本文用于记载在 CentOS 8 使用 Nextcloud 20.0.4 过程中遇到的各种问题解决方法及一些简单的优化。

  以个人使用体验来说,安装时的服务器配置要求最低建议是在 1 核心/ 1G内存/ 10G硬盘以上,且具有良好的网络环境,配置越高,体验越好。

1.安装Nextcloud的过程中出现502错误

  如果配置较低,在 Nextcloud 安装过程中可能出现502错误,解决方法是在 PHP 中将超时设置的大一点,比如设置到 300 秒或者更高。

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

  在网站配置文件中添加如下代码后保存即可

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

3.设置中的警告:所使用的数据库为MySQL但没有对4字节字符的支持。为正确处理文件名或评论中使用的4字节字符(比如emoji表情),建议开启MySQL的4字节字符支持

  按照官方的解决方法,是修改 mysql 配置,然后运行命令转换数据库。而实际上这个问题在安装前就可以避免。创建 Nextcloud 的数据库之前,在 mysql 的配置中添加如下配置

innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=1

  然后重启 mysql,新建 Nextcloud 数据库时直接创建为 utf8mb4,这样 Nextcloud 就不会出现上面的警报了。

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

  编辑 php-fpm.conf,添加如下代码保存后重启PHP即可

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

5.设置中的警告:PHP 内存限制低于建议值 512MB。

  编辑 php 配置,将 memory_limit 改成 512M,保存后重启 php 即可

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

  在网站配置文件中添加如下代码后保存即可

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

7.设置中的警告:内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。更多信息请参见文档。

  安装 PHP 中的 APCu 扩展,然后在 Nextcloud 目录下 /config/config.php 文件中添加一行

'memcache.local' => '\OC\Memcache\APCu'

8.设置中的警告:数据库丢失了一些索引。由于给大的数据表添加索引会耗费一些时间,因此程序没有自动对其进行修复。您可以在 Nextcloud 运行时通过命令行手动执行 “occ db:add-missing-indices” 命令修复丢失的索引。索引修复后会大大提高相应表的查询速度。

  命令行切换到 Nextcloud 目录下,执行以下代码即可

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

  大部分问题在官方的 Nextcloud 管理员手册 中都有解决方法,剩下的一些问题可以到 Nextcloud 的 GitHub 页面查找,或者在 Nextcloud 社区 搜索相关资料。