一、概述

二、安装Docker

使用道客提供的安装脚本安装:

curl -sSL https://get.daocloud.io/docker | sh

三、安装NextCloud

1.Docker Command

docker run -d -p 8080:80  -v /root/nextcloud/html:/var/www/html  -v /root/nextcloud/apps:/var/www/html/custom_apps  -v /root/nextcloud/config:/var/www/html/config  -v /root/nextcloud/nextcloud/data:/var/www/html/data  -v /root/nextcloud/themes:/var/www/html/themes nextcloud:22.1.0

内部80端口映射外部8080
NC版本:22.1.0

2.NextCloud配置

访问8080端口根据提示配置
数据库默认使用了sqlite3,如使用MySQL数据库可单独设置。

四、安装OnlyOffice

1.Docker Command

 sudo docker run -i -t -d -p 18080:80 --restart=always --name onlyoffice  --link nextcloud -v /root/onlyoffice/log:/var/log/onlyoffice   -v /root/onlyoffice/data:/var/www/onlyoffice/Data   -v /root/onlyoffice/lib:/var/lib/onlyoffice  -v /root/onlyoffice/db:/var/lib/postgresql  onlyoffice/documentserver 

端口映射:-p 18080:80
连接容器nextcloud:–link nextcloud

2.OnlyOffice设置

通过浏览器访问18080端口,初始配置根据提示讲命令执行完毕即可看到如下界面

参考初始执行命令:

sudo docker exec 6473e4ef0e22 sudo supervisorctl start ds:example

sudo docker exec 6473e4ef0e22 sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf

在这里插入图片描述

五、安装NextCloud插件

1.方法1:

NextCloud面板>应用>下载并启用

Full text search 
Full text search - Elasticsearch Platform
Full text search - Files

在这里插入图片描述

2.方法2:

本地连接不上NextCloud应用商店,可以离线下载安装
网址:https://apps.nextcloud.com/
将下载的离线包解压到NextCloud站点apps文件夹

① 进入nextcloud

[teld@QPE-BJ-MAP-02 ~]$ docker exec -it nextcloud /bin/bash

② 解压放入apps

root@937ecacaa8f1:/var/www/html/apps# pwd
/var/www/html/apps
root@937ecacaa8f1:/var/www/html/apps# 

六、安装ElasticSearch

1.Docker Command

docker run -d -p 9200:9200 -p 9300:9300 -e ES_JAVA_POTS="-Xms128m -Xmx128m" -e "discovery.type=single-node" --name elastic_search elasticsearch:7.3.0

端口映射:-p 9200:9200 -p 9300:9300
指定es版本:elasticsearch:7.3.0
指定jvm内存:-e ES_JAVA_POTS="-Xms128m -Xmx128m"
指定单点模式:-e “discovery.type=single-node”
容器名称:elastic_search

2.安装ik分词和pdf检索插件

[teld@QPE-BJ-MAP-02 ~]$ docker exec -it elastic_search /bin/bash
/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment
/usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ik

3.NextCloud全文搜索设置

在这里插入图片描述

4.初始化索引

① 重启elastic_search

docker restart elastic_search

② 回显如下标识es服务正常

[teld@QPE-BJ-MAP-02 ~]$ curl -X GET localhost:9200
{
  "name" : "785209b3cd31",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "4gdLgVwrREGLDDSEmMpS9w",
  "version" : {
    "number" : "7.3.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "de777fa",
    "build_date" : "2019-07-24T18:30:11.767338Z",
    "build_snapshot" : false,
    "lucene_version" : "8.1.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
[teld@QPE-BJ-MAP-02 ~]$ 

③ NextCloud设置

进入nextcloud中

root@937ecacaa8f1:/var/www/html# pwd
/var/www/html
sudo -u www-data php ./occ fulltextsearch:index

七、验证

1.全文检索

在这里插入图片描述

2.在线文档

在这里插入图片描述

八、常见问题汇总

1.pipeline with id [attachment] does not exist

解决办法:

  • 尝试重新安装ingest-attachment仔细观察安装过程中有无报错信息
  • 查看elastic_search容器,应该为UP状态
  • docker restart elastic_search重启elastic_search容器
  • 重建索引:
    sudo -u www-data php ./occ fulltextsearch:reset
    sudo -u www-data php ./occ fulltextsearch:index

2.ElasticSearchPlatform is not configured properly

  • 查看elastic_search容器,应该为UP状态
  • 使用check命令排查:
    sudo -u www-data php ./occ fulltextsearch:check
  • 检查NextCloud的全文搜索配置

3.Elasticsearch no alive nodes found in cluster

  • 查看elastic_search容器,应该为UP状态
  • docker logs elastic_search查看容器日志

4.Allowed memory size of 134217728 bytes exhausted (tried to allocate 8192 bytes) in

  • 修改php消耗内存大小
root@937ecacaa8f1:/usr/local/etc/php/conf.d# pwd 
/usr/local/etc/php/conf.d
root@937ecacaa8f1:/usr/local/etc/php/conf.d# vi nextcloud.ini 
memory_limit = 512M

参考文献

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐