一、镜像安装:用OnlyOffice提供的Docker镜像安装OnlyOffice是比较方便和推荐的方法,因为它可以自动配置OnlyOffice的所有依赖项,从而减少安装和配置的复杂度。
- 首先需要安装Docker,可以参考官方文档进行安装:https://docs.docker.com/engine/install/
- 安装完Docker后,可在终端中通过命令
sudo docker run --net host -i onlyoffice/documentserver
下载OnlyOffice的Docker镜像,在安装过程中可以根据需要自定义一些参数,例如指定文件存储路径、指定管理员账号等。 - 等待下载完成后,使用命令
sudo docker ps
查看已启动的容器,可以看到OnlyOffice服务已经运行起来了。 - 接下来,通过浏览器访问
http://服务器IP:端口号/
,即可进入OnlyOffice服务管理页面,输入管理员账号和密码进行登录。 - 在管理页面中,可以管理用户、添加文档库、设置文档类型等,同时也可以将OnlyOffice与其他系统整合。
二、脚本安装:如果您不想使用Docker镜像,或者环境不允许,也可以通过以下方式安装OnlyOffice。
- 使用安装脚本进行安装
OnlyOffice提供了一个安装脚本,可以自动下载和安装所有必要的依赖项,并配置OnlyOffice服务。使用该方法安装OnlyOffice可以按照以下步骤进行操作:
- 下载安装脚本
wget http://download.onlyoffice.com/install/install.sh
- 将安装脚本赋予可执行权限并执行
sudo chmod +x install.sh
sudo ./install.sh
- 在脚本执行期间,您需要回答几个问题以配置OnlyOffice服务
如果您希望卸载OnlyOffice服务,可以运行以下命令:
sudo apt-get remove onlyoffice-doc* onlyoffice-communityserver*
sudo apt-get autoremove
- 从源代码编译安装
如果您是开发人员或对OnlyOffice的源代码进行修改,则可以从源代码手动编译和安装OnlyOffice。这种方法需要下载OnlyOffice的源代码和编译器,需要一些专业的技能和经验。
总而言之,使用Docker镜像是只使用OnlyOffice最简单的方式,但是如果您不想使用Docker镜像,使用安装脚本或从源代码编译安装OnlyOffice也是可行的。
安装好的页面长这样:
或者长这样
三、前端代码以最最简单的html为例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>在线预览</title>
</head>
<body>
<div class="form" style="width:100%;height:800px;">
<div id="iframeEditor"></div>
</div>
</body>
<script type="text/javascript" src="./jquery-3.7.0.min.js"></script>
<script type="text/javascript" >
$(function() {
// 获取onlyoffice 路径
var onlyoffice_url = "http://192.168.1.106:32774/";
var onlyoffice_js = onlyoffice_url + "/web-apps/apps/api/documents/api.js";
loadJS(onlyoffice_js, function() {
var fileType = "docx";
var fileName = "222.docx";
var key = "1111";//每次打开后要重新获取,否则编辑后打开还是编辑前的文件,如果是预览文件就没关系
var mode = "edit";//view查看
var url = "http://192.168.1.144:9088/onlyoffice_filePath/222.docx";
//编辑保存回调函数,保存的文件可以覆盖原来的文件,也可以新生成 (保证此接口是通的否则,文件显示不出来)
var callbackUrl = "http://192.168.1.102:9088/xxxxxx/CallBackServlet?fileName=222.docx";
var documentType = getDocumentType(fileType);
var config = {
};
// 预览
if ("edit" == mode) {
config = {
document : {
fileType : fileType,
key :key,