JODConverterのためのLibreOfficeのインストール/サービス登録手順
JavaでOfficeファイルをPDFに変換するための変換エンジンとしてLbreOfficeを使う場合のインストール手順、プロセスの自動起動設定をメモします。
注意事項
日本語のOfficeファイルを変換すると日本語が文字化けしてしまうので、日本語パッケージをあらかじめインストールしておいてください。
# yum groupinstall "Japanese Support"
LibreOfficeインストール
# wget http://download.documentfoundation.org/libreoffice/stable/4.2.4/rpm/x86_64/LibreOffice_4.2.4_Linux_x86-64_rpm.tar.gz
# tar -xzvf LibreOffice_4.2.4_Linux_x86-64_rpm.tar.gz
# cd LibreOffice_4.2.4.2_Linux_x86-64_rpm/RPMS/
# yum install --nogpgcheck lib*
# yum install libXinerama
# yum install cups-libs
自動起動設定
自動起動のためのShellを作ります。
# vi /etc/init.d/libreoffice-headless
#!/bin/sh # # libreoffice-headless - this script starts and stops the soffice daemon # # chkconfig: 345 20 80 # description: init.d scruot for headless libreoffice # processname: libreoffice-headless # Source function library. . /etc/rc.d/init.d/functions libreoffice="/opt/libreoffice4.2/program/soffice.bin" libreoffice_args='--accept="socket,host=127.0.0.1,port=8100;urp" --headless --nologo --norestore --nodefault --invisible' prog=$(basename $libreoffice) sysconfig="/etc/sysconfig/$prog" lockfile="/var/lock/subsys/libreoffice-headless" pidfile="/var/run/${prog}.pid" start() { echo -n $"Starting $prog: " daemon "$libreoffice $libreoffice_args &" retval=$? echo [ $retval -eq 0 ] && touch $lockfile pidof soffice.bin > $pidfile return $retval } stop() { echo -n $"Stopping $prog: " killproc -p $pidfile $prog retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart) rh_status_q || exit 0 $1 ;; status) rh_status || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 2 esac
# chmod +x /etc/init.d/libreoffice-headless
# chkconfig --add libreoffice-headless
これで自動起動登録とserviceコマンドで制御可能となります。