Monday, 23 October 2017

Unoconv Installation.

"unoconv" is a command line program that is used to convert between different office document file formats. It uses an instance of LibreOffice to do the conversion 

The steps required to install unoconv are different depending on the operating system that you have installed Moodle on. 
CentOS / RedHat

Just before you start, you might like to consider installing the latest LibreOffice. Before installing, please remove any openoffice packages you might have on your OS by issuing:

yum remove openoffice* libreoffice*

And then follow the install instructions LibreOffice 5.2. It is recommended to chose your localized libreoffice version for better document conversions.



Then, 

git clone https://github.com/dagwieers/unoconv.git # copy cp unoconv/unoconv /usr/bin # or link unoconv to /usr/bin ln -s unoconv/unoconv /usr/bin/unoconv


Create a new init file: "vim /etc/init.d/unoconvd"

#!/bin/sh ### BEGIN INIT INFO # Provides: # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO   #UNO_PATH=/opt/libreoffice5.2/program unoconv --listener   dir="/opt/libreoffice5.2/program" #cmd="/usr/bin/unoconv -vvv --listener &" cmd="/usr/bin/unoconv --listener" user="root"   name=`basename $0` pid_file="/var/run/$name.pid" stdout_log="/var/log/$name.log" stderr_log="/var/log/$name.err"   get_pid() { cat "$pid_file" }   is_running() { [ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1 }   case "$1" in start) if is_running; then echo "Already started" else echo "Starting $name" cd "$dir" if [ -z "$user" ]; then sudo $cmd >> "$stdout_log" 2>> "$stderr_log" & else sudo -u "$user" $cmd >> "$stdout_log" 2>> "$stderr_log" & fi echo $! > "$pid_file" if ! is_running; then echo "Unable to start, see $stdout_log and $stderr_log" exit 1 fi fi  ;; stop) if is_running; then echo -n "Stopping $name.." kill `get_pid` killall soffice.bin for i in {1..10} do if ! is_running; then break fi   echo -n "." sleep 1 done echo   if is_running; then echo "Not stopped; may still be shutting down or shutdown may have failed" exit 1 else echo "Stopped" if [ -f "$pid_file" ]; then rm "$pid_file" fi fi else echo "Not running" fi  ;; restart) $0 stop if is_running; then echo "Unable to stop, will not attempt to start" exit 1 fi $0 start  ;; status) if is_running; then echo "Running" else echo "Stopped" exit 1 fi  ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1  ;; esac   exit 0


And please make sure to change the libreoffice5.2 path in the script.

chmod 755 /etc/init.d/unoconvd
chkconfig --add unoconvd
chkconfig --level 235 unoconvd on
/etc/init.d/unoconvd status
/etc/init.d/unoconvd start
 
Source Ref: 
 
https://docs.moodle.org/32/en/Universal_Office_Converter_(unoconv)
https://docs.moodle.org/32/en/mod/assign/feedback/editpdf/testunoconv/initdcentos6

No comments:

Post a Comment