nextcloud 安装和使用 以及配置文件 和避坑指南

filerun 免费版停止更新,最后的免费版2023.1 作者看起来情绪很大,不打算继续修复了。而且他在没决定取消免费之前就删掉了旧版的docker镜像,只保留了最新不可用的7.4 和8.1两个镜像。
考虑到群晖之类的还是过于折腾,而寄予厚望的 cloudreve半死不活,功能弱鸡,bug一堆作者一直不修复。
所以迁移到nextcloud, 除了卡一点 一切都安逸。

使用nextcloud 几个注意点,

  • mysql要8.0 或者 MariaDB10.2 以后的版本 pgsql虽然理论性能更强,实际使用有一些小问题
  • 如果内存有富裕,务必开redis
  • sftp ftp webdav协议,建议走rclone server, nextcloud的webdav一般般 有小问题,rclone的很稳
  • 需要gmp扩展,宝塔直接装可能装不不上,需要先 apt install libgmp3-dev 宝塔坑更多哈
  • nextcloud 很多坑很多坑,docker版本也有一些问题。php熟悉的建议手工搭建php环境,宝塔熟悉常见坑处理的也可以跑起来。
  • setup-nextcloud.php 自动拉下来的包里面 .htaccess 有问题的,需要自己修。我对apache是不是特别熟悉,更喜欢nginx,但是官网明确说 官网之支持apache2.x 其他的web服务器只有第三方文档支持,不过还好。nginx太容易搞定了。
  • 命令行模式的那个php内存提醒,需要修改php.ini ,修改完成后,如果依旧提示,需要重启php-fpm 以及 nginx
  • php-fpm.conf 需要添加一个参数

总的来说 nextcloud很强很强,但是 绝对不是开箱即用的方案,即便docker搭建完成后,后续也有很多小坑。php小白最好别碰。宝塔可以解决一部分环境问题

# 需要的php扩展

宝塔下额外需要安装的,这几个最好都装上。 fileinfo opcache memcached/redis apcu imagemagick imap exif xsl gmp zstd mailparse

# 安装

安装很简单,提前创建好mysql/mariadb数据库,环境ok的下载 setup-nextcloud.php 到 php运行目录,执行即可,如果超时 一个注意php执行时间 另外一个是它是从境外下载的,所以你需要处理加速的问题。

# 启用软连接

可以方便直接指向原来的数据目录

# 配置文件添加

1
2
  'filesystem_check_changes' => true,
  'localstorage.allowsymlinks' => true,

这里有小坑,我之前一直扫描不到文件,后来重启nginx和php-fpm 后就好了。

# 软连接创建

1
2
mv /www/wwwroot/nextcloud.com/data/XXXX/files /www/wwwroot/nextcloud.com/data/XXXX/files-bak
ln -s /mnt/sda1/myfiles/ /www/wwwroot/nextcloud.com/XXXX/yanhui/files

注意权限,宝塔是 www:www 所有,或者干脆 777 也行

# 扫描一次磁盘

1
2
cd /www/wwwroot/nextcloud.com
 sudo -u www  php occ files:scan --all

# php-fpm.conf 的修改

添加这几行,不然后台会提示env空

1
2
3
4
5
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

# nginx 配置文件

解决了所有问题,但是没有开启https,因为我这里https 是单独由另外一个nginx管理的
https://github.com/joyanhui/file.leiyanhui.com/blob/main/nextcloud/nginx-site.cnf

# nextcloud 配置文件

https://github.com/joyanhui/file.leiyanhui.com/blob/main/nextcloud/config.php
注意也没开https nextcloud 后台设置会 复写 这个文件,所以里面不可以加其他语法,会被覆盖掉。

# nginx 反向代理

https://github.com/joyanhui/file.leiyanhui.com/blob/main/nextcloud/nginx-proxy.conf
这里启用了ssl,需要另外修改config.php 里面的 'overwriteprotocol' => 'http','overwriteprotocol' => 'https',
另外此反向代理文件在 nextcloud 26.0.1 版本 后台 依旧会提示 webfinger 和 nodeinfo错误,但是不影响使用

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计