Installation of Collaboration Server 1.2.1 on Ubuntu 16.04

 

1. Update the OS

apt update
apt dist-upgrade

2. Install openJDK 8

apt install openjdk-8-jdk

3. 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 update
apt install elasticsearch

4. Setup autostart for elasticsearch

/bin/systemctl daemon-reload
/bin/systemctl enable elasticsearch.service

5. Configure elasticsearch JVM heap size

nano /etc/elasticsearch/jvm.options

change -Xms1g to -Xms4g and -Xmx1g to -Xmx4g

service elasticsearch restart

6. Install tomcat8 and configure (Remove Connector with port 443, if you do not want to support SSL)

apt install tomcat8
service tomcat8 stop
rm /var/lib/tomcat8/webapps/ROOT -r
nano /usr/share/tomcat8/bin/setenv.sh

export CATALINA_OPTS="$CATALINA_OPTS -Xms4g"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx4g"

nano /etc/tomcat8/server.xml

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,text/plain,text/css, text/javascript,text/json,application/x-javascript, application/javascript,application/json" />
<Connector port="443" SSLEnabled="true" maxThreads="200" scheme="https" secure="true" keystoreFile="/var/lib/tomcat8/keystore.jks" keystorePass="gH3Dx8yA" clientAuth="false" sslProtocol="TLS" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,text/plain,text/css, text/javascript,text/json,application/x-javascript, application/javascript,application/json" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
</Realm>
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
<Context path="" docBase="ROOT" reloadable="true">
<Parameter name="app.database" value="/opt/collab/database" />
</Context>
</Host>
</Engine>
</Service>
</Server>

7. Setup authbind (Do not execute the last three commands for port 443 if you do not want to support SSL)

nano /etc/default/tomcat8

change last line from #AUTHBIND=no to AUTHBIND=yes

touch /etc/authbind/byport/80
chown tomcat8 /etc/authbind/byport/80
chmod 744 /etc/authbind/byport/80
touch /etc/authbind/byport/443
chown tomcat8 /etc/authbind/byport/443
chmod 744 /etc/authbind/byport/443

8. Install collaboration server

java -jar /opt/lca-collaboration-installer-1.2.1_2020-03-12.jar

i
/opt/collab/database
/opt/collab/repositories
/opt/collab/libraries
elasticsearch
localhost
9200
lca-collaboration
your_admin_email@your_company.com
your_admin_password

chown tomcat8:tomcat8 /opt/collab -R
cp /home/user/lca-collaboration-1.2.1_2020-02-19.war /var/lib/tomcat8/webapps/ROOT.war
service tomcat8 start