Installation of Collaboration Server 1.3.0 on Ubuntu 20.04

In this example the root user is logged in, the domain your.domain.com is used and all files in lca-collaboration-server-files-1.3.0_2022-02-08.zip are extracted and uploaded to /root/lca-cs as well as lca-collaboration-1.3.0_2022-04-13.war and lca-collaboration-installer-1.3.0_2022-02-08.jar

Indented lines are content to copy into a previoulsy opened file, indented lines with a hashtag are comments which you should not copy.

 

Update the OS and install dependencies

apt-get update
apt-get dist-upgrade
apt-get install apt-utils gnupg2 wget ufw openjdk-8-jdk -y

Install elasticsearch

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-6.x.list
apt-get update
apt-get install elasticsearch -y
nano /etc/elasticsearch/jvm.options
# change "-Xms1G" and "-Xmx1G" to "-Xms4G" and "-Xmx4G" (4GB is recommended, change accordingly)
systemctl daemon-reload
systemctl enable elasticsearch.service
service elasticsearch restart

Install Tomcat

groupadd tomcat9
useradd -s /bin/false -g tomcat9 -d /var/lib/tomcat9 tomcat9
mkdir /var/lib/tomcat9
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz
tar xzvf apache-tomcat-9.0.52.tar.gz -C /var/lib/tomcat9 --strip-components=1
rm apache-tomcat-9.0.52.tar.gz
chgrp -R tomcat9 /var/lib/tomcat9
chmod -R g+r /var/lib/tomcat9/conf
chmod g+x /var/lib/tomcat9/conf
chown -R tomcat9 /var/lib/tomcat9/webapps/ /var/lib/tomcat9/work/ /var/lib/tomcat9/temp/ /var/lib/tomcat9/logs/
mv /root/lca-cs/tomcat9.service /etc/systemd/system/tomcat9.service
systemctl daemon-reload
systemctl edit tomcat9.service
# Enter the two lines below
    [Service]
    ReadWritePaths=/opt
systemctl enable tomcat9.service
nano /var/lib/tomcat9/bin/setenv.sh
# 4GB is recommended size, adjust accordingly
export CATALINA_OPTS="$CATALINA_OPTS -Xms4g"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx4g"
mv /root/lca-cs/server.xml /var/lib/tomcat9/conf/server.xml

Install certbot and create an ssl certificate

apt-get install certbot -y
certbot certonly --standalone -d your.domain.com

Install apache2

apt-get install apache2 -y
a2enmod proxy proxy_http ssl
ufw enable
ufw allow 'Apache Full'
rm /etc/apache2/sites-available/000-default.conf
mv /root/lca-cs/000-default.conf /etc/apache2/sites-available/000-default.conf
nano /etc/apache2/sites-available/000-default.conf
# Replace all occurences of your.domain.com with the actual domain
service apache2 restart

Run the installer

java -jar /root/lca-cs/lca-collaboration-installer-1.3.0_2022-02-08.jar /root/lca-cs/lca-collaboration-installer-1.3.0_2022-02-08.conf
chown tomcat9:tomcat9 /opt -R

(Optional) Setup local nodejs for server side rendering (required for Changelog feature)

apt install nodejs npm libxkbcommon-x11-0 libgtk-3-0 libgbm-dev
npm install
npm install forever -g
mkdir /opt/cs/ssr
cp /root/lca-cs/package.json /root/lca-cs/server.js /opt/cs/ssr
cp /root/lca-cs/cs-ssr /etc/init.d
chmod +x /etc/init.d/cs-ssr
update-rc.d cs-ssr defaults
forever start /opt/collab/ssr/server.js

Copy webapp and restart

service tomcat9 start
rm /var/lib/tomcat9/webapps/* -r
cp /root/lca-cs/lca-collaboration-1.3.0_2022-02-08.war /var/lib/tomcat9/webapps/ROOT.war
service tomcat9 restart
rm /root/lca-cs -r

Next steps on configuration here.