最近风靡全网的alist网盘系统出现变故,可能存在较大隐患,于是博主根据网络各类资料采用openlist系统进行了替代,同时根据过往经验搭建了onlyoffice,实现了office文档和pdf文档的在线预览。现将过程记录一下: 1、搭建宝塔面板、安装nginx和docker环境。过程不多赘述。 2、使用docker安装openlist系统。方法如下: 1)openlist的docker安装 docker run -d --restart=unless-stopped -v /etc/openlist:/opt/openlist/data -p 25244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="openlist" openlistteam/openlist:latest 2)设置密码 docker exec -it openlist ./openlist admin set NEW_PASSWORD 3)挂载网盘(略) 4)上传用于测试的OFFICE、pdf文档。 3、使用docker安装onlyoffice 1)安装onlyoffice(禁止JWT验证)
docker run -d --name onlyoffice \ -p 8081:80 \ -e JWT_ENABLED=false \ -v /onlyoffice/logs:/var/log/onlyoffice \ -v /onlyoffice/data:/var/www/onlyoffice/Data \ onlyoffice/documentserver 4、在宝塔面板新建静态网站,openlist.test.com 1)在根目录新建viewer.html,代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>OnlyOffice Viewer</title> </head> <body> <div id="placeholder"></div> <script type="text/javascript" src="http://x.x.x.x:8081/web-apps/apps/api/documents/api.js"></script> <script> function getQueryParamValue(name) { const searchParams = new URLSearchParams(window.location.search); return searchParams.get(name); } const url = decodeURIComponent(getQueryParamValue("src")); const fileName = url.substring(url.lastIndexOf('/') + 1, url.lastIndexOf('?') != -1 ? url.lastIndexOf('?') : url.length); const fileExtension = fileName.split('.').pop(); const docEditor = new DocsAPI.DocEditor("placeholder", { "document": { "fileType": fileExtension, "permissions": { "edit": false, "comment": true, "download": true, "print": true, "fillForms": true, }, "title": fileName, "url": url, }, "editorConfig": { "lang": "zh-CN", "mode": "view", }, "height": "1080px", "type": "desktop", }); </script> </body> </html>
注意,viewer.html权限为www 0755
5、设置openlist的预览方式:
在openlist后台管理界面--设置--预览,编辑“Iframe 预览”代码,在office文件和pdf文件下方增加“
"onlyoffice":"http://openlist.test.com/viewer.html?src=$e_url",
文章评论