Script intended to build & install Office Online on Ubuntu 16.04 and Debian 8.7 systems.
Written by: Subhi H. & Marc C.
This script is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This script is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
- The script requires a minimum of 3.7 GB of RAM installed to run.
- First installation requires about 13 GB of available space on the system.
THE FIRST INSTALLATION WILL TAKE A VERY, VERY LONG TIME!
... So take your favorite mug, and make yourself a nice cup of coffee/tea while you go watching your favorites movies. 😄
You might see errors during the installation, just ignore them.
It will install libreoffice in /opt/libreoffice
, Poco in /opt/poco
and onlineOffice in /opt/online
Your can manage your service using systemd: systemctl start|stop|restart|status loolwsd.service
Its possible to pin exact version of the services used, like this:
./officeonline-install.sh -l 5.3.1.2 -o 47c01440ba794d2ea953d6ac1b80f7e42769f4e -p 1.7.8p2
There is also a help:
./officeonline-install.sh -h
This script has been made idempotent: Only the required action will be executed if it is run several times on the same System in order to get to the expected state.
Example: when updating LibreOffice online to the latest version, LibreOffice compilation and installation steps will not be run as it is already installed.
These parameters describes the expected state of the system regarding LibreOffice Online installation.
The installation can be tuned to your needs by changing these variables.
lo_src_repo
: LibreOffice sources are downloaded from this location.lo_version
: LibreOffice version to download. Empty by default. When empty, the script will download the latest stable version available.lo_dir
: LibreOffice sources directory./opt/libreoffice
by default.lo_forcebuild
: A boolean to override idempotence and force LibreOffice compilation and installation.false
by default.
Poco is an opensource C++ library for network based project. It is required by LibreOffice Online.
poco_version
: a specific version to download, compile and install. Fetch the latest stable release from https://pocoproject.org/ by default.poco_dir
: The installation directory for poco./opt/poco-${poco_version}-all
by default.poco_forcebuild
: A boolean to override idempotence and force POCO compilation and installation.false
by default.
Lool (LibreOffice Online) in a project to bring a opensource Office solution for web editing.
lool_dir
: The installation directory for Lool./opt/online
by default.lool_forcebuild
: A boolean to override idempotence and force LibreOffice Online compilation and installation.false
by default.
For Idempotence, Lool's status is defined by its sources' commit id.
Each update of the sources by the script will trigger a lool compilation & installation
- the Git repository:
lool_src_repo
"https://github.com/LibreOffice/online.git" - One of the 3:
lool_src_branch
: an existing branch name. It pull the latest commit availablemaster
by defaultlool_src_commit
: the id of a git commit.empty
by defaultlool_src_tag
: a tag in the git repository.empty
by default
If more than one is defined, a choice is made:
- choice precedence: Commit over tag over branch
The following parameters are options passed to the configuration script before compilation.
lool_logfile
:/var/log/loolwsd.log
lool_maxdoc
: Maximum number of simultaneously opened documents for Lool.100
by default.lool_maxcon
: Maximum number of simultaneously opened connections for Lool.200
by default.lool_configure_opts
: free form string to add even more options !--enable-debug
by default. For experts only!
-
All the script's output is logged in the file
/tmp/YYYYMMDD-HHmm_officeonline.log
. whereYYYYMMDD-HHmm
is the date at the minute the script as been launched. -
Maxdoc
&Maxcon
are built-in limitations in WebSocket and intended to guarantee a good QoS and limit resources consumption on the host. If you intend to change this parameters, take into account that 1 doc opened is around 20MB of RAM used. -
Default parameters are values chosen by the maintainers of this script and not default values used by the softwares compiled here.
-
If you ever need support for using this script, try to run it first with all parameters at default to get a reference point.