本文作者:zhujue

群晖下基于Docker安装Nextcloud时常见问题的解决方案

zhujue 2022-09-18 18:14:11 36 抢沙发
群晖下基于Docker安装Nextcloud时常见问题的解决方案摘要: 群晖下基于Docker安装Nextcloud时常见问题的解决方案2022-08-1515:52128 自由的李老师本文原创为李老师。前言以下内容为本人自己安装的时的笔记内...

群晖下基于Docker安装Nextcloud时常见问题的解决方案

群晖下基于Docker安装Nextcloud时常见问题的解决方案 群晖 Nextcloud 第1张


2022-08-15 15:52128 群晖下基于Docker安装Nextcloud时常见问题的解决方案 群晖 Nextcloud 第2张  自由的李老师


本文原创为李老师。

前言

以下内容为本人自己安装的时的笔记内容(用了1周多的时间,前前后后在自己的DS920上折腾了得有五六十遍,不断试错),主要为内容的整理和标注,目的是为后期再折腾或安装时,提供参考。

不是教程,不是教程,不是教程

最终效果:

群晖下基于Docker安装Nextcloud时常见问题的解决方案 群晖 Nextcloud 第3张终于给我一个绿色的对号Docker jing

Docker镜像

以下镜像全部都是官方镜像

Maridb(做数据库)

phpmyadmin(管理数据库)

nextcloud(主程序)

redis(做nextcloud缓存)

安装Maridb代码

docker run --name 容器名称 --restart=always -v 文件夹映射路径:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=数据库密码 -d mariadb:latest

举例:

docker run --name mariadb --restart=always -v /volume1/docker/mariadb:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=abc123 -d mariadb:latest

解释:

--name mariadb 创建名为mariadb的容器

--restart=always 设备启动后,容器自动重启

-v /volume1/docker/mariadb 映射的本地文件夹路径

-e MARIADB_ROOT_PASSWORD=abc123 添加一个环境变量,root密码为abc123

-d mariadb:latest 拉取最新的镜像

安装phpmyadmin代码

docker run --name myadmin --restart=always -d --link mariadb:db -p 8050:80 phpmyadmin

安装nextcloud代码

docker run --name nextcloud --restart=always -d --link mariadb:mysql -p 5220:80 -v /volume1/docker/nextcloud:/var/www/html nextcloud

注意:--link mariadb:mysql 已经将数据库连接到名称为mariadb的容器,所以在安装Nextcloud的时候,数据库地址一栏,只需填写mysql即可,无需填写IP地址和端口号。

群晖下基于Docker安装Nextcloud时常见问题的解决方案 群晖 Nextcloud 第4张数据库地址写mysql

安装redis代码

docker run --name redis -v /volume1/docker/redis:/data -d redis

安装

安装时,不要安装推荐的应用。因为推荐应用都是从github下载的,所以基本都被ban了,无法下载安装。

https访问不跳转

config.php中添加如下代码:

'overwriteprotocol' => 'https',

您的安装没有设置默认的电话区域

config.php中添加如下代码:

'default_phone_region' => 'CN',

redis做缓存

config.php中添加如下代码:

'memcache.local' => '\OC\Memcache\APCu', #以下为添加的内容 'memcache.distributed' => '\OC\Memcache\Redis', 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => array( 'host' => '172.17.0.5', 'port' => 6379, ),

其中6379为默认的redis端口号,172.17.0.5为redis容器在Docker中的IP。

查询redis容器在Docker中的IP

用以下代码查询:

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

重定向失败问题

群晖下基于Docker安装Nextcloud时常见问题的解决方案 群晖 Nextcloud 第5张

nextcloud/.htaccess中找到如下2行代码:

RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L] RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]

将以上2行代码替换为如下代码:

RewriteRule ^\.well-known/carddav https://www.abc.com:1234/remote.php/dav/ [R=301,L] RewriteRule ^\.well-known/caldav https://www.abc.com:1234/remote.php/dav/ [R=301,L]

其中https://www.abc.com:1234是你自己的域名和端口号(通常在群晖的反向代理中设置)

安装libmagickcore-6.q16-6-extra

#先运行如下代码: docker exec -it <nextcloud> apt -y update #再运行如下代码: docker exec -it <nextcloud> apt -y install libmagickcore-6.q16-6-extra

其中<nextcloud>为你安装nextcloud容器时的名称,比如我安装nextcloud时,用的容器名称就是nextcloud,则只需要输入以下代码:

docker exec -it nextcloud apt -y update docker exec -it nextcloud apt -y install libmagickcore-6.q16-6-extra

验证redis是否成功

root下:

# redis-cli 127.0.0.1:6379> PING PONG                  #说明成功 127.0.0.1:6379>KEYS *      #返回值若为一堆代码,即成功

输入KEYS *后,若出现如下一堆代码,即NEXTCLOUD已经开始使用redis作为缓存了

群晖下基于Docker安装Nextcloud时常见问题的解决方案 群晖 Nextcloud 第6张

设置和验证你的电子邮件服务器配置

处理方法较为简单,只需要到【基本设置】中输入自己邮箱的smtp相关信息即可,无论是网易163邮箱,还是QQ邮箱,还是XXX邮箱,都有基本的smtp设置方法,可单独百度了解。

无法访问:

config.php中,把https://域名+端口,添加进信任的域名:

'trusted_domains' => array (   0 => '你的内网IP+端口,比如192.168.1.69:1234',   1 => '你的域名+端口,比如www.abcxyz.com:1234',

无法写入:

config.php权限,新增一个系统权限,让其可读可写。

安装onlyoffice代码:

docker run --name onlyoffice --restart=always -t -d -p 5099:80 \     -v /volume1/docker/onlyoffice/logs:/var/log/onlyoffice  \     -v /volume1/docker/onlyoffice/data:/var/www/onlyoffice/Data  onlyoffice/documentserver

同样安装完,进行反向代理,并在路由器设置端口转发。通过https访问后,如果出现如下页面,即成功。若没出现,稍等片刻再试即可。(曾尝试直接通过443,或者直接添加证书的方法,但是https均失败,最后还是反向代理实现。)

群晖下基于Docker安装Nextcloud时常见问题的解决方案 群晖 Nextcloud 第7张

参考资料

https://github.com/nextcloud/docker/issues/654 https://www.virtualconfusion.net/docker-nextcloud-module-php-imagick-in-this-instance-has-no-svg-support/ https://blog.lordvan.com/blog/nextcloud-redis/ https://coble.uk/2020/09/24/speeding-up-nextcloud-with-redis/




文章版权及转载声明

作者:zhujue本文地址:http://183.162.193.250:5900/post/72.html发布于 2022-09-18 18:14:11
文章转载或复制请以超链接形式并注明出处天云博客

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享

发表评论

快捷回复:

评论列表 (暂无评论,36人围观)参与讨论

还没有评论,来说两句吧...