安装前准备
yum -y upgrade
yum install -y "@Standard" "@Development Tools"
yum install -y automake autoconf cups-devel fontconfig-devel gperf libxslt-devel python3-devel libXext-devel libICE-devel libSM-devel libXrender-devel xorg-x11-xauth x11* libX11 libXrandr-devel cairo-devel gtk3-devel gstreamer-devel gstreamer-plugins-base gstreamer1-* gstreamer* glibc-headers gcc-c++ fakeroot wget
cd /mnt/
mkdir -p libreoffice/dependence
useradd libreoffice
nss与nspr编译安装
nspr编译安装
先从官网下载安装包
cd libreoffice/dependence
wget https://archive.mozilla.org/pub/nspr/releases/v4.35/src/nspr-4.35.tar.gz
进行解压安装
tar -zxvf nspr-4.35.tar.gz
cd nspr-4.35/nspr
#这里是一步操作,全部拷贝到命令行一把执行
./configure --prefix=/usr \
--with-mozilla \
--with-pthreads \
$([ $(uname -m) = aarch64 ] && echo --enable-64bit) &&
make
编译完成后应如下图所示,无ERROR信息
执行安装
make install
安装完成后应如下图所示,无报错信息
检查sqlite3是否安装
ls /usr/include/sqlite3.h
如果如下图所示则未安装
下载sqlite3安装包
cd /mnt/libreoffice/dependence
wget https://sqlite.org/2024/sqlite-autoconf-3460000.tar.gz
解压并编译安装
tar -zxvf sqlite-autoconf-3460000.tar.gz
cd sqlite-autoconf-3460000
#这里是一步操作,全部拷贝到命令行一把执行
./configure --prefix=/usr \
--disable-static \
--enable-fts{4,5} \
CPPFLAGS="-D SQLITE_ENABLE_COLUMN_METADATA=1 \
-D SQLITE_ENABLE_UNLOCK_NOTIFY=1 \
-D SQLITE_ENABLE_DBSTAT_VTAB=1 \
-D SQLITE_SECURE_DELETE=1" &&
make
编译后应如下图所示无ERROR信息
再执行安装
make install
安装完成后可执行以下命令校验
sqlite3
打印的版本信息应如下图所示
如果不是,则执行以下命令
mv /usr/bin/sqlite3 /usr/bin/sqlite3.bak
cp ./sqlite3 /usr/bin
nss编译安装
下载nss安装包和补丁包
cd /mnt/libreoffice/dependence
wget https://archive.mozilla.org/pub/security/nss/releases/NSS_3_102_1_RTM/src/nss-3.102.1.tar.gz
wget https://www.linuxfromscratch.org/patches/blfs/svn/nss-3.102.1-standalone-1.patch
tar -zxvf nss-3.102.1.tar.gz
cd nss-3.102.1
patch -Np1 -i ../nss-3.102.1-standalone-1.patch
打完补丁后应如下图所示
再执行编译安装
cd nss
#这里是一步操作,全部拷贝到命令行一把执行
make BUILD_OPT=1 \
NSPR_INCLUDE_DIR=/usr/include/nspr \
NSPR_LIB_DIR=/usr/lib \
USE_SYSTEM_ZLIB=1 \
ZLIB_LIBS=-lz \
NSS_ENABLE_WERROR=0 \
$([ $(uname -m) = aarch64 ] && echo USE_64=1) \
$([ -f /usr/include/sqlite3.h ] && echo NSS_USE_SYSTEM_SQLITE=1)
编译完成后应如下图所示无ERROR信息
再执行安装操作
#这里是一步操作,全部拷贝到命令行一把执行
cd ../dist &&
install -v -m755 Linux*/lib/*.so /usr/lib &&
install -v -m644 Linux*/lib/{*.chk,libcrmf.a} /usr/lib &&
install -v -m755 -d /usr/include/nss &&
cp -v -RL {public,private}/nss/* /usr/include/nss &&
install -v -m755 Linux*/bin/{certutil,nss-config,pk12util} /usr/bin &&
install -v -m644 Linux*/lib/pkgconfig/nss.pc /usr/lib/pkgconfig
执行完成后应如下图所示
libreoffice的编译安装
先下载libreoffice源码
cd /mnt/libreoffice
git clone --depth=1 --branch libreoffice-7-1 https://git.libreoffice.org/core/ ./libreoffice-7-1
cd libreoffice-7-1/
git submodule init
子模块初始化后应如下图所示
再下载子模块代码
git submodule update --progress --depth=1
下载完成后应如下图所示
新建autogen.input文件
vim autogen.input
文件填入以下内容并保存
禁用帮助文档
--without-help
--without-helppack-integration
启用简体中文用户界面
--with-lang=zh-CN
禁用在线更新及崩溃报告功能
--disable-online-update
--disable-breakpad
禁用 Office Development Kit。若启用 ODK,则额外需要doxygen依赖项。
--disable-odk
--without-doxygen
若编译好之后您需要rpm (或deb)包,则需要启用下列两项:
--enable-epm
--with-package-format=rpm
现在很多功能都用不到java了,因此直接将其禁用
--without-java
需要用到firebird数据库,因此启用
--enable-firebird-sdbc
--without-system-firebird
--enable-python=internal
执行预编译
./autogen.sh
预编译执行完成后应如下图所示无任何报错
使用普通用户进行编译
cd /mnt/libreoffice
chown libreoffice:libreoffice libreoffice-7-1/ -R
su - libreoffice
cd /mnt/libreoffice/libreoffice-7-1/
开始编译前还需要执行一步操作,这是因为麒麟10系统不能被正确识别
cp /mnt/libreoffice/libreoffice-7-1/workdir/UnpackedTarball/python3/LO_lib/_sysconfigdata__linux_aarch64-linux-gnu.py /mnt/libreoffice/libreoffice-7-1/workdir/UnpackedTarball/python3/LO_lib/_sysconfigdata__linux_aarch64-unknown-linux-gnu.py
开始编译(过程漫长,耐心等待)
make
编译完成后应如下图所示,无任何报错信息
编译完成后的软件在/mnt/libreoffice/libreoffice-7-1/instdir/program
编译完成后的rpm包在/mnt/libreoffice/libreoffice-7-1/workdir/installation/LibreOfficeDev/rpm/install/LibreOfficeDev_7.1.8.0.0_Linux_aarch64_rpm/RPMS
理论上可以在其他的麒麟10环境,执行完安装前准备后,直接执行yum -y install ./*.rpm安装
kkfileview的安装
Kkfileview的jar包,可以在自己idea上下载其源码并打包,把打完的zip包上传到服务器即可,此处直接从服务器拿到zip包后开始
将包上传到/mnt/libreoffice下,以root身份执行以下步骤
解压压缩包
tar -zxvf kkFileView-4.4.0-beta.tar.gz
cd kkFileView-4.4.0-beta
解压后修改下配置
vim config/application.properties
注释掉原来的office.home,使用本地的libreoffice软件目录
修改bin目录下的startup.sh并保存
修改后保存,启动libreoffice
cd bin
sh startup.sh
启动无异常应如下图
查看日志文件
tail -200f ../log/kkFileView.log
启动成功应如下图
页面访问 ip:8012应可以进入kkfileview的预览页面
上传个文件验证下功能是否正常
能正常查看文件则部署成功
注意
Kkfileview占用8012端口,请注意端口占用情况以及开放对应的白名单,或关闭服务器防火墙
版权归原作者 wyj241 所有, 如有侵权,请联系我们删除。