OpenKM 是一個開源的電子文檔管理系統 (DMS),基于 Tomcat+J2EE+Ajax web (GWT)+Jackrabbit (lucene) 等技術開發,可以在線預覽Office、圖片、PDF等文檔。由于相關中文資料較少,本篇文章主要基于官方文檔和Wiki進行安裝和配置。
1. 運行環境
- Windows Server 2012 64位
- Java 1.8
- MySQL 5.6
- OpenKM 6.3.2 及 Tomcat 7 集成包
https://sourceforge.net/p/openkm/activity - OpenKM漢化包
https://www.openkm.com/wiki/index.php/Language_Packs - Apache OpenOffice 4.1.5 及中文語言包
http://www.openoffice.org/zh-cn/download - SWFTools
http://www.swftools.org/download.html
2. 準備工作
2.1 安裝 jdk
OpenKM 僅能在 Java 1.8 環境中運行
https://docs.openkm.com/kcenter/view/okm-6.3-com/hardware-and-software-requirements.html
2.2 安裝數據庫
由于 OpenKM 使用的是 Hibernate,所以可以支持 MySQL/PostgreSQL/Oracle/SQL server 等多種數據庫,這里使用 MySQL。
- 檢查數據庫引擎
show engines;
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
如果查詢結果如上表示是 InnoDB;若不是,則需要修改 MySQL 配置文件 (C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
)
修改或添加:
default-storage-engine=INNODB
- 創建數據庫
這里使用 root 用戶,不再創建新用戶
DROP DATABASE IF EXISTS okmdb;
CREATE DATABASE okmdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;
GRANT ALL ON okmdb.* TO root@localhost WITH GRANT OPTION;
2.3 安裝 OpenOffice
選擇自定義
修改安裝路徑為
C:\Program\OpenOffice4
2.4 安裝 SWFTools
修改安裝路徑為C:\Program\SWFTools
3. 安裝 OpenKM
將
openkm-6.3.2-community-tomcat-bundle.zip
內 tomcat 文件夾解壓到 D 盤根目錄并改名為 tomcatOpenKM;
如果解壓遇到錯誤,是因為 license 文件夾與 LICENSE 文件重名導致,保留 LICENSE 文件即可;將
D:\tomcatOpenKM\bin\win-x64
中文件復制到D:\tomcatOpenKM\bin
中 (如果操作系統為32位,則復制的文件來自D:\tomcatOpenKM\bin\win-x86
文件夾);分別修改
D:\tomcatOpenKM\bin
中tomcat7.exe
和tomcat7w.exe
為tomcat7OpenKM.exe
和tomcat7OpenKMw.exe
;-
打開
D:\tomcatOpenKM\bin\service.bat
,替換全部tomcat7
為tomcat7OpenKM
;
打開 cmd,切換目錄到
D:\tomcatOpenKM\bin
,
# 安裝 tomcat 服務;
service.bat install
# 修改 JVM 參數
tomcat7OpenKM //US//tomcat7OpenKM ++JvmOptions="-XX:+UseConcMarkSweepGC"
tomcat7OpenKM //US//tomcat7OpenKM ++JvmOptions="-Djava.awt.headless=true"
tomcat7OpenKM //US//tomcat7OpenKM ++JvmOptions="-Dlog4j.configuration=file:///%CATALINA_HOME%/conf/log4j.properties"
tomcat7OpenKM //US//tomcat7OpenKM ++JvmOptions="-Dfile.encoding=utf-8"
tomcat7OpenKM //US//tomcat7OpenKM ++JvmOptions="-Dmail.mime.ignoreunknownencoding=true"
- 不執行修改 JVM 參數命令,也可以打開
tomcat7OpenKMw.exe
手動修改;
在 Java Options 中添加:
-XX:+UseConcMarkSweepGC
-Djava.awt.headless=true
-Dlog4j.configuration=file:///%CATALINA_HOME%/conf/log4j.properties
-Dfile.encoding=utf-8
-Dmail.mime.ignoreunknownencoding=true
- 添加 Path 環境變量
D:\tomcatOpenKM\lib\sigar;D:\tomcatOpenKM\bin;
4. OpenKM 啟動前配置
- 修改
"D:\tomcatOpenKM\OpenKM.cfg"
# hibernate 方言
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
# 當為 create 時,啟動服務會創建 OpenKM 所有數據庫表
# 啟動后,OpenKM 會自動修改該項為 none
hibernate.hbm2ddl=create
# Initial configuration - Windows
system.imagemagick.convert=D:/tomcatOpenKM/bin/convert.exe
# OpenOffice 安裝目錄
system.openoffice.path=C:/Program/OpenOffice4
# SWFTools 安裝目錄
system.swftools.pdf2swf=C:/Program/SWFTools/pdf2swf.exe -T 9 -f ${fileIn} -o ${fileOut}
- 修改
"D:\tomcatOpenKM\conf\server.xml"
中數據庫配置:
<Resource name="jdbc/OpenKMDS" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select 1"
username="root" password="123456" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.1.146:3306/okmdb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8"/>
注意 validationQuery 中不要出現不存在的 table;
啟動 tomcatOpenKM 服務,日志在
"D:\tomcatOpenKM\logs\catalina.log"
中;
如果出現Specified key was too long; max key length is 767 bytes
錯誤,修改 MySQL 配置文件添加innodb_large_prefix=on
當日志出現以下內容時,OpenKM已啟動完成:
2018-08-11 10:00:19,035 [Thread-21] INFO org.apache.coyote.http11.Http11AprProtocol- Stopping ProtocolHandler ["http-apr-0.0.0.0-80"]
2018-08-11 10:00:19,128 [Thread-21] INFO org.apache.coyote.ajp.AjpAprProtocol- Stopping ProtocolHandler ["ajp-apr-127.0.0.1-8009"]
- 配置默認擴展:
INSERT INTO OKM_EXTENSION (EXT_UUID, EXT_NAME) VALUES ('808e7a42-2e73-470c-ba23-e4c9d5c3a0f4', 'Live Edit');
INSERT INTO OKM_EXTENSION (EXT_UUID, EXT_NAME) VALUES ('58392af6-2131-413b-b188-1851aa7b651c', 'HTML Editor 4');
INSERT INTO OKM_PROFILE_MSC_EXTENSION (PEX_ID, PEX_EXTENSION) VALUES (1, '808e7a42-2e73-470c-ba23-e4c9d5c3a0f4');
INSERT INTO OKM_PROFILE_MSC_EXTENSION (PEX_ID, PEX_EXTENSION) VALUES (1, '58392af6-2131-413b-b188-1851aa7b651c');
5. OpenKM 啟動后配置
-
打開
http://你的IP/OpenKM
,管理員賬號 okmAdmin 密碼 admin,登錄;
進入 Administration -> Language,選擇漢化 sql 文件,點擊 Add new translation,退出后選擇 simplified Chinese 登錄即可使用漢化后的 OpenKM;
-
進入 管理面板 -> Configuration
修改system.openoffice.path
為C:/Program/OpenOffice4
,修改system.swftools.pdf2swf
為C:/Program/SWFTools/pdf2swf.exe -T 9 -f ${fileIn} -o ${fileOut}
;
-
默認的字體很小,進入 管理面板 -> Profiles,修改 Web skin 為 Medium font;
6. 文檔預覽效果
ps:若出現無法預覽,檢查瀏覽器是否啟用了 Flash
參考:
OpenKM KnowledgeCenter
https://docs.openkm.com/kcenter/view/okm-6.3-com
OpenKM Documentation
https://www.openkm.com/wiki/index.php/Main_Page