1panel安装nextcloud搭配onlyoffice

一、安装nextcloud和onlyoffice

应用商店全默认安装即可

二、配置准备

nextcloud直接装插件连接onlyoffice会报错,要做一些准备。如果nextcloud有文件没有的话,先进行第三步初始化nextcloud。配置完成后最好重建一下应用。

nextcloud容器

nginx设置

增加http请求头

在/opt/1panel/apps/nextcloud/nextcloud/data/config/nginx/site-confs的default.conf文件添加这一行,可以减少一个安全与设置警告。可以通过应用商店进入安装目录快速跳转。

add_header Strict-Transport-Security         "max-age=15552000; includeSubDomains"     always;

nextcloud服务器设置

在/opt/1panel/apps/nextcloud/nextcloud/data/config/www/nextcloud/config的config.php文件,$CONFIG = array (添加下面这些内容(注释不要复制进去)。可以通过应用商店进入安装目录快速跳转。除了第一条其他都是可选配置。

设置允许远程访问服务器

配置nextcloud必备

'allow_local_remote_servers' => true,
设置区域

设置为中国,可以减少一个安全与设置警告。

'default_phone_region' => "CN",
设置后台作业时间

数字是UTC时间的小时,16点是北京时间24点,每次执行4个小时。可以减少一个安全与设置警告。

'maintenance_window_start' => 16,
设置onlyoffice参数

jwt_secret是安装onlyoffice时设置的“JWT密码”参数,可以去应用里找,默认格式参考secret_M3MzP4,填写对应的即可

'onlyoffice' => array (
  'verify_peer_off' => true,
  "jwt_secret" => "JWT密码",
  "jwt_header" => "Authorization"
),
app安装目录

extra-app是非应用商店下载的app安装目录

"apps_paths" => [
    [
            "path"     => OC::$SERVERROOT . "/apps",
            "url"      => "/apps",
            "writable" => false,
    ],
    [
            "path"     => OC::$SERVERROOT . "/extra-apps",
            "url"      => "/extra-apps",
            "writable" => true,
    ],
  ]

在容器-编排里给nextcloud的docker-compose文件末尾添加这一行映射,以后可以方便安装额外插件。

- ./data/extra-app:/app/www/public/extra-apps
设置访问地址

修改这段内容,用什么访问就修改成访问地址

'trusted_domains' => array (
  0 => '192.168.137.50:40069',
  1 => 'a.b.com',
 ),

onlyoffice容器

映射文件

进入主机-终端,执行下面这些命令,作用是先进入data目录,然后将documentserver文件夹和core-fonts文件夹复制到data文件夹。

cd /opt/1panel/apps/onlyoffice/onlyoffice/data
sudo docker cp -a 1Panel-onlyoffice-e5Ph:/etc/onlyoffice/documentserver/ .
sudo docker cp -a 1Panel-onlyoffice-e5Ph:/var/www/onlyoffice/documentserver/core-fonts/ .

在容器-编排里给nextcloud的docker-compose文件末尾添加这两行映射,对应配置文件json文件夹和字体文件夹。

- ./data/documentserver:/etc/onlyoffice/documentserver
- ./data/core-fonts:/var/www/onlyoffice/documentserver/core-fonts

修改配置

开启https

创建/opt/1panel/apps/onlyoffice/onlyoffice/data/data/certs文件夹,放入任意的onlyoffice.crt和onlyoffice.key证书文件,便于onlyoffice开启https服务,证书不匹配没关系,会有提示但不影响使用,不知道怎么自签名的可以去/opt/1panel/apps/nextcloud/nextcloud/data/config/keys这个文件夹拷贝过来,改成对应的名字

在容器-编排里给nextcloud的docker-compose文件修改这一段。

        ports:
            - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:80
            在这个位置添加下面这行,40157可以是任意不冲突端口
            - 40157:443
修改json文件

在/opt/1panel/apps/onlyoffice/onlyoffice/data/documentserver的default.json文件中修改下面这一行,将true改成false

"rejectUnauthorized": false
导入字体文件

将用的到的字体上传到/opt/1panel/apps/onlyoffice/onlyoffice/data/core-fonts文件夹中,可以自己再新建一个文件夹放进去,原有的字体可以删除。

windows的字体文件可以从控制面板-字体中获取,直接鼠标拖动或者CV到另一个文件夹即可,字体文件可以直接上传。

修改字体文件后需要进入容器重新加载字体。

在容器-容器菜单中,点击右侧终端进入onlyoffice容器,执行以下命令:

/usr/bin/documentserver-generate-allfonts.sh

等执行完成即可使用新字体

mysql数据库

新建nextcloud数据库,记下连接信息。

三、初始化

配置管理员账户和数据库

从应用页面打开nextcloud网页,进入初始配置,设置管理员账号和密码,点击下方”存储与数据库“选项卡,选择mysql数据库,配置好数据库连接。

下载应用

进入后点击右上角头像,选择应用,搜索onlyoffice,下载并启用,如果显示允许未经测试的应用,点击一下按钮即可。如果应用商店打不开或者下载慢,可以自行使用加速器或者寻找镜像。

配置onlyoffice连接器

点击右上角头像,选择管理设置。在左侧找到onlyoffice,在右侧填写信息。

ONLYOFFICE Docs地址为onlyoffice访问地址,因为默认是https访问的nextcloud,所以这里也要天https协议,根据之前设置的ip和端口来,示例:https://192.168.137.50:40157/

如果前期配置正确,剩下的内容应该会自动填充。如果没有的话:

勾选关闭证书校验(不安全)

秘钥填写JWT密码

授权标头填写Authorization

然后点击保存。

配置onlyoffice连接器其他设置

勾选doc、xls、ppt,其他自行探索

点击保存

四、使用方法

从左上角进入文件,上传或者新建office文件,点击文件名即可编辑。点击右上角分享,可以开启共同编辑。

2 个赞

使用1panel安装nextcloud搭配onlyoffice_1panel安装onlyoffice-CSDN博客 这也是你发的吗

配置完成后,还是提示

连接时发生异常 (cURL error 35: OpenSSL/3.3.2: error:0A0000C6:SSL routines::packet length too long (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://192.168.0.109:40156/healthcheck)

这个问题确实没遇到,看起来是ssl那边的问题,看看换个证书试试?

Internal Server Error

The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the webserver log.