OxOffice Online technical manual

Provide instructions for installation, configuration, integration and deployment of OxOffice Online

OxOffice Online main program installation instructions

This document will explain how to install OxOOL (OxOffice Online) from scratch.

OxOffice Online main program installation instructions

Installation guide for CentOS 7 (Community edition)

Please download and install the latest version of CentOS 7.

yum update -y
yum install vim net-tools unzip wget -y
cd /etc/yum.repos.d
wget http://www.oxoffice.com.tw/yum.repo/oxool-community.repo
yum update -y
yum groupinstall "OxOOL Community Group" -y
vim /etc/selinux/config # You can choose any preferred text editor to edit this file
# Search "SELinux=enforcing" line, and change "enforcing" to "disabled" or "permissive" then save and quit
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-port=9980/tcp
systemctl enable oxool
reboot
netstat -tlnp

You should get some results like this:

tcp      0    0    127.0.0.1:9981	  0.0.0.0:*	LISTEN   644/oxool
tcp6     0    0    :::9980		      :::*   	LISTEN   644/oxool

Congratulations and enjoy!

OxOffice Online main program installation instructions

Installation guide for Ubuntu 18.04 (Community edition)

Please download and install the latest version of Ubuntu 18.04.

sudo apt update
sudo apt upgrade -y
sudo apt install vim openssh-server net-tools curl -y
# Chooese yes if you get any service restarting prompts

curl http://www.oxoffice.com.tw/apt/ubuntu/oxool-deb.key | sudo apt-key add
echo "deb [arch=amd64] http://www.oxoffice.com.tw/apt/ubuntu/ oxool-v3 main" > ~/oxool.list
sudo mv ~/oxool.list /etc/apt/sources.list.d/
sudo apt update
sudo apt install oxool oxoffice* -y
sudo systemctl enable oxool
sudo reboot
sudo netstat -tlnp

You should get some results like this:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9981          0.0.0.0:*               LISTEN      22383/oxool               
tcp6       0      0 :::9980                 :::*                    LISTEN      22383/oxool         

Congratulations and enjoy!

Thanks to Franklin (from ezgo team) to provide installation guide for Ubuntu!

OxOffice Online main program installation instructions

Installation guide for CentOS 7 in PVE LXC (Community edition)

8f78be9a.png

30e26bf5.png

9950f920.png

5d9c794a.png

yum install vim openssh* net-tools unzip wget -y
cd /etc/yum.repos.d
wget --no-check-certificate http://www.oxoffice.com.tw/yum.repo/oxool-community.repo
yum update -y
yum groupinstall "OxOOL Community Group" -y
systemctl enable oxool
reboot
netstat -tlnp

You should get some results like this:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9981          0.0.0.0:*               LISTEN      1049/oxool          
tcp6       0      0 :::9980                 :::*                    LISTEN      1049/oxool  

Congratulations and enjoy!

P. S. When steps above are finished, you can use "More"→"Convert to template" to generate new LXC template that contains OxOOL Community edition.

OxOffice Online main program installation instructions

Installation guide for Ubuntu 18.04 in PVE LXC (Community edition)

93bf1621.png

30e26bf5.png

a424720c.png

d9980aac.png

apt update
apt upgrade -y
apt install vim openssh-server net-tools curl gnupg2 -y
# Chooese yes if you get any service restarting prompts

curl http://www.oxoffice.com.tw/apt/ubuntu/oxool-deb.key | apt-key add
echo "deb [arch=amd64] http://www.oxoffice.com.tw/apt/ubuntu/ oxool-v3 main" > ~/oxool.list
mv ~/oxool.list /etc/apt/sources.list.d/
apt update
apt install oxool oxoffice* -y
systemctl enable oxool
reboot
netstat -tlnp

You should get some results like this:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9981          0.0.0.0:*               LISTEN      22383/oxool                
tcp6       0      0 :::9980                 :::*                    LISTEN      22383/oxool          

Congratulations and enjoy!

P. S. When steps above are finished, you can use "More"→"Convert to template" to generate new LXC template that contains OxOOL Community edition.

OxOffice Online main program installation instructions

Installation guide for OxOffice Online v4 Community on CentOS 7

Please download and install the latest version of CentOS 7 (we recommend using Minimal edition), when operating system installation is done, please follow steps to upgrade your system, install required packages and OxOffice Online v4 Community (we recommend executing these commands as normal user, remove sudo prefix if you are excuting them as root user).

sudo yum upgrade -y
sudo yum install vim net-tools unzip wget -y
cd /etc/yum.repos.d
sudo wget http://www.oxoffice.com.tw/rpm/el/oxool-community-v4-centos7.repo
sudo yum upgrade -y
sudo yum groupinstall "OxOOL Community Group" -y

Disable SELinux

sudo vim /etc/selinux/config # You can choose any preferred text editor to edit this file
# Search "SELinux=enforcing" line, and change "enforcing" to "disabled" or "permissive" then save and quit

Configure firewalld and open the default 9980 port

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-port=9980/tcp
sudo firewall-cmd --reload

Check if OxOOL Community edition starts normally

sudo netstat -tlnp

You should get some results like this:

tcp6     0    0    :::9980		      :::*   	LISTEN   644/oxool
OxOffice Online main program installation instructions

Installation guide for OxOffice Online v4 Community on Rocky Linux 8

Please download and install the latest version of Rocky Linux 8, when operating system installation is done, please follow steps to upgrade your system, install required packages and OxOffice Online v4 Community (we recommend executing these commands as normal user, remove sudo prefix if you are excuting them as root user).

sudo dnf config-manager --set-enabled powertools
sudo dnf upgrade -y
sudo dnf install epel-release -y
sudo dnf install vim net-tools unzip wget -y
cd /etc/yum.repos.d
sudo wget http://www.oxoffice.com.tw/rpm/el/oxool-community-v4-el8.repo
sudo dnf upgrade -y
sudo dnf groupinstall "OxOOL Community Group" -y

Disable SELinux

sudo vim /etc/selinux/config # You can choose any preferred text editor to edit this file
# Search "SELinux=enforcing" line, and change "enforcing" to "disabled" or "permissive" then save and quit

Configure firewalld and open the default 9980 port

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-port=9980/tcp
sudo firewall-cmd --reload

Check if OxOOL Community edition starts normally

sudo netstat -tlnp

You should get some results like this:

tcp6     0    0    :::9980		      :::*   	LISTEN   644/oxool
OxOffice Online main program installation instructions

Installation guide for OxOffice Online v4 Community on Ubuntu 20.04

Please download and install the latest version of Ubuntu 20.04, when operating system installation is done, please follow steps to upgrade your system, install required packages and OxOffice Online v4 Community.

sudo apt update
sudo apt upgrade -y
sudo apt install vim openssh-server net-tools curl -y
# Chooese yes if you get any service restarting prompts
curl http://www.oxoffice.com.tw/deb/OSSII.key | sudo apt-key add
cd /etc/apt/sources.list.d/
sudo wget http://www.oxoffice.com.tw/deb/oxool-community-v4-focal.list
sudo apt update
sudo apt install oxool -y

Start OxOOL Community edition service when booting

sudo systemctl enable oxool
sudo reboot

Check if OxOOL Community edition starts normally

sudo netstat -tlnp

You should get some results like this:

tcp6     0    0    :::9980		      :::*   	LISTEN   644/oxool
OxOffice Online main program installation instructions

Installation guide for OxOffice Online v4 Community on CentOS 7 in PVE LXC

Please download "centos-7-default" LXC template on your PVE first

Select CentOS 7 LXC template on PVE.png

You can see CentOS 7 LXC template in "CT templates" section

CentOS 7 PVE LXC Template.png

Create a new CT using "Create CT" button

CentOS 7 PVE LXC Setup.png

CentOS 7 PVE LXC Setup Finish.png

Start created CT, login as root and excute following commands to install needed programs and OxOOL Community edition:

yum install vim openssh* net-tools unzip wget -y
cd /etc/yum.repos.d
wget http://www.oxoffice.com.tw/rpm/el/oxool-community-v4-centos7.repo
yum upgrade -y
yum groupinstall "OxOOL Community Group" -y

Start OxOOL Community edition service when booting and reboot

systemctl enable oxoolwsd
reboot

Check if OxOOL Community edition starts normally

netstat -tlnp

You should get some results like this:

tcp6     0    0    :::9980		      :::*   	LISTEN   644/oxool

P. S. When steps above are finished, you can use "More"→"Convert to template" to generate new LXC template that contains OxOOL Community edition.

OxOffice Online main program installation instructions

Installation guide for OxOffice Online v4 Community on Rocky Linux 8 in PVE LXC

Please download "rocktlinux-8-default" LXC template on your PVE first

Select Rocky Linux 8 LXC Template.png

You can see Rocky Linux 8 LXC template in "CT templates" section

Rocky Linux 8 LXC Template.png

Create a new CT using "Create CT" button

Rocky Linux 8 LXC Setup.png

Rocky Linux 8 LXC Setup Finish.png

Start created CT, login as root and excute following commands to install needed programs and OxOOL Community edition:

dnf config-manager --set-enabled powertools
dnf install vim openssh* net-tools unzip wget -y
cd /etc/yum.repos.d
wget http://www.oxoffice.com.tw/rpm/el/oxool-community-v4-el8.repo
dnf upgrade -y
dnf groupinstall "OxOOL Community Group" -y

Start OxOOL Community edition service when booting and reboot

systemctl enable oxoolwsd
reboot

Check if OxOOL Community edition starts normally

netstat -tlnp

You should get some results like this:

tcp6     0    0    :::9980		      :::*   	LISTEN   644/oxool

P. S. When steps above are finished, you can use "More"→"Convert to template" to generate new LXC template that contains OxOOL Community edition.

OxOffice Online main program installation instructions

Installation guide for OxOffice Online v4 Community on Ubuntu 20.04 in PVE LXC

Please download "ubuntu-20.04-standard" LXC template on your PVE first

Ubuntu Focal LXC Template.png

You can see Ubuntu 20.04 LXC template in "CT templates" section

Select Ubuntu Focal LXC Template.png

Create a new CT using "Create CT" button

Ubuntu Focal LXC Setup.png

Ubuntu Focal LXC Template Finish.png

Start created CT, login as root and excute following commands to install needed programs and OxOOL Community edition:

apt update
apt upgrade -y
apt install vim openssh-server net-tools curl gnupg2 wget -y
# Chooese yes if you get any service restarting prompts
curl http://www.oxoffice.com.tw/deb/OSSII.key | sudo apt-key add
cd /etc/apt/sources.list.d/
wget http://www.oxoffice.com.tw/deb/oxool-community-v4-focal.list
apt update
apt install oxool -y

Start OxOOL Community edition service when booting and reboot

systemctl enable oxool
reboot

Check if OxOOL Community edition starts normally

netstat -tlnp

You should get some results like this:

tcp6     0    0    :::9980		      :::*   	LISTEN   644/oxool

P. S. When steps above are finished, you can use "More"→"Convert to template" to generate new LXC template that contains OxOOL Community edition.

OxOOL Module v4 Compiling HOWTO

1. Preparing The Environment

2. Create an basic module repository by oxool-module-maker

oxool-module-maker --module-name="samplemod" --serviceURI="/oxool/samplemod/" --summary="A sample moudle service on OxOOL" --description="A sample module service on OxOOL" --output-path="/home/oxool/git"

3. Compile and Test Modules

OxOOL Module Development HOWTO

This manual will simply explain the file structures in a standard OxOOL module repository and how to develop an OxOOL module.

Default OxOOL Module File Structure

When you use oxool-module-maker to generate a template module repository, by default it will use the module template defined in the package oxool-dev. The important file and folder description in the template is described below:

C++ Class Methods in an OxOOL module

In the module repo generated by oxool-module-maker, by default there is a Module.cpp under src/ folder. In this Module.cpp there is the base class of this module, named by the module name. Besides constructors and destructors, there are some methods as well:

OxOOL v4 community edition compiling on Ubuntu 20.04 HOWTO

  1. First thing first, install a Ubuntu 20.04 server! Can it be run on Ubuntu 20.04 desktop? Yes, but why bother? :-)

  2. Upgrade the system:

sudo apt update
sudo apt upgrade -y
  1. Make sure you install OpenSSH and Vim (I'm a Vim guy! All right, but remember to install your favorite editor, okay?) and a couple of tools:
sudo apt install vim openssh-server net-tools curl git -y
  1. Import OSSII public key
curl http://www.oxoffice.com.tw/deb/OSSII.key | sudo apt-key add
  1. Set up OxOOL repository
cd /etc/apt/sources.list.d/
sudo wget http://www.oxoffice.com.tw/deb/oxool-community-v4-focal.list
  1. Install software packages necessary for compiling OxOOL (use option apt install -y if you don't like to be asked everytime)
sudo apt update
sudo apt install oxoffice* libpoco-dev libgumbo-dev
sudo apt install build-essential libsqlite3-dev libcurl4-openssl-dev libcppunit-dev libcap-dev libcap2-bin libgit2-dev libtool libpng-dev automake m4 wget curl autoconf pkg-config openssl libgumbo-dev ccache fontconfig libfontconfig1-dev libpam-dev
sudo apt install devscripts debhelper dh-systemd dh-exec
sudo apt install libodbc1 libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5
sudo apt install hunspell
sudo apt install python3-polib python3-lxml
  1. Install and setup Node.js
cd ~
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
  1. Clone OxOOL-community code from GitHub and switch to branch v4
cd ~
git clone https://github.com/OSSII/oxool-community.git
cd oxool-community
git switch v4
  1. For debug and developing, run autogen.sh directly WITHOUT running configure
cd oxool-community
./autogen.sh

It will enable debug options so that you can test and debug by running make run.

  1. For installing, you can build deb packages directly: debuild -b -uc -us The built deb packages will be one level up the compiling directory:
cd ..
ls oxool_4.x.x-1.community_amd64.deb

The generated deb files can be then installed in the system.