麒麟v10 arm64服务器下安装libreoffice7.1与kkfileview4.4

wyj241 2024-10-02 09:07:04 阅读 75

安装前准备

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端口,请注意端口占用情况以及开放对应的白名单,或关闭服务器防火墙

2024-09-10更新

经过实践,打出的rpm包确实可以直接安装,且不需要经过安装前准备的步骤,可以支持无网环境安装,rpm包可自行下载

通过百度网盘分享的文件:LibreOff....zip 链接:百度网盘 请输入提取码 提取码:67m3 复制这段内容打开「百度网盘APP 即可获取」

安装步骤也简化了很多:

1、将压缩包上传到服务器任意位置后解压

2、cd进入解压后的rpm目录,执行rpm -Uvh *.rpm --nodeps --force

3、安装无报错后,libreoffice会被安装在/opt/libreofficedev7.1

4、安装kkfileview,修改application.properties中的office.home=/opt/libreofficedev7.1

5、修改kkfileview的bin目录下的start.sh,将grep 'office\.home' ../config/application.properties | grep '!^#' 改为grep 'office\.home' ../config/application.properties | grep -v '#'后保存

6、启动kkfileview,验证



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。