Skip to content

Instantly share code, notes, and snippets.

@MrKelpy
Last active June 12, 2025 05:16
Show Gist options
  • Save MrKelpy/ec3097789ddcc2994121cbe320863e5a to your computer and use it in GitHub Desktop.
Save MrKelpy/ec3097789ddcc2994121cbe320863e5a to your computer and use it in GitHub Desktop.
Installation Guide for openMAINT 2.3 (CMDBuild 3.4.1) in Ubuntu 20.04 LTS

Introduction

OpenMAINT is notoriously hard to install and set up, so I've decided to go ahead and document the steps I took to install it, alongside every bit of information for others that might find it useful.

Important: Not only is openMAINT hard to install, it's also hard to understand. I've created a simple "All you need to know" guide to openMAINT that can be found here.


Acknowledgements, Necessities, etc

⠀⠀⠀⠀If you're reading this wondering why docker can't simply be used to make our life easier... go ahead and try it for yourself. If you're one of the lucky ones who got it working, then great! If not, accept it, relate to us and keep reading this guide. If you're still a bit skeptic about it, I have some notes about docker at the end of the guide, so go take a look.
⠀⠀⠀⠀Either way, we're going to be installing openMAINT 2.3 (Built on CMDBuild 3.4.1) on a fresh Ubuntu 20.04 OS installation.  
(Please note that this guide will not cover the Ubuntu OS installation)


[Step 0] - Preparations!

Before actually doing anything, just make sure that your apt is up to date so we don't run into any issues later on.
Also, install unzip.

$ sudo apt-get update -y
$ sudo apt-get upgrade
$ sudo apt install unzip

NOTE: If you get a permission denied error anywhere during this installation, just sudo it.

[Step 1] - Installing Java

Now that that's covered, lets go ahead and install java. We need to install Java 17 specifically

$ sudo apt-get install openjdk-17-jdk

Once that's done, just use java -version to make sure it is installed. Something like this should come up.

openjdk version "17.0.7" 2023-04-18
OpenJDK Runtime Environment (build 17.0.7+7-Ubuntu-0ubuntu122.04.2)
OpenJDK 64-Bit Server VM (build 17.0.7+7-Ubuntu-0ubuntu122.04.2, mixed mode, sharing)

[Step 2] - Installing PostgreSQL 12

⠀⠀⠀⠀OpenMAINT uses PostgreSQL in order to store inventory, maintenance, and general data, so we're going to have to install it now. Every version after PostgreSQL 12+ is known to break openMAINT, so we're using version 12 (Besides, the dumps are of a.v 1.14). Also, to add to the fun you're currently having, Ubuntu 20.04 doesn't have PostgreSQL 12 in its repository, so we have to add it manually. Nice, right?
 
⠀⠀⠀⠀First off, we need to import the repository signing key, so ubuntu knows what repo we're asking for. After running the command, if the output is "OK" you're good to go.

$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Now that the signing keys are added, we need to add the actual repository and refresh the apt data. If you get a permission denied error on this one, it's okay.

$ echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql-pgdg.list > /dev/null
$ sudo apt-get update

At last, PostgreSQL is ready to be installed. Now we just have to run a simple command, and that's it.

$ sudo apt-get install postgresql-12

NOTE: If you want to have support for geographical location data in openMAINT, you will need to install PostGIS. Luckily, by this point, you should have all the references needed to install it straight on like this:

$ sudo apt install postgresql-12-postgis-3 libpostgis-java

[Step 3] - Configuring PostgreSQL

Now into the PostgreSQL configuration. Lets first configure PostgreSQ'S credentials: For this, start by logging into PostgreSQL and manually sending a query to change the password.

Warning: Please keep your passwords alphanumeric!

$ sudo passwd postgres
$ sudo usermod -aG sudo postgres
$ sudo -u postgres psql template1
# Change the 'postgres' user password (superuser password)
ALTER USER postgres WITH PASSWORD 'PSSWD'; 

# Quit the SQL console
\q

[Step 4] - Installing Alfresco Community Management

Don't ask me why this is needed or what a DMS/CMIS is, I just know that it's something to do with reports and content, but I don't really get it. Either way, we need it, so lets proceed to the installation. First off, download the alfresco installer, change its permissions to allow it to be run, and run it.

$ wget http://dl.alfresco.com/release/community/build-3370/alfresco-community-3.4.d-installer-linux-x64.bin
$ chmod a+x alfresco-community-3.4.d-installer-linux-x64.bin
$ sudo ./alfresco-community-3.4.d-installer-linux-x64.bin --mode text

After that, run the installer with the following settings:

  • Choose 'English' (Type in 1)
  • Accept SharePoint, Records Management, Web Quick Start and Web Project Manager
  • Select an Installation Type 1
  • Leave the installation folder as default
  • Select the bundled MySQL database (Type in 1)
  • Create the database password (Just type them in)
  • Create Alfresco's password (Just type them in)
  • Decline the installation as a service (It breaks anyways, so we're handling it ourselves.)

Now, we need to make sure that alfresco isn't running, since we still need to setup its bundled tomcat server. Navigate to /opt/alfresco-3.4 and stop the service if its running.

$ cd /opt/alfresco-3.4.d
$ sudo ./alfresco.sh status

# IF ITS RUNNING
$ sudo ./alfresco.sh stop

Great! Now, lets open alfresco tomcat's server.xml file, and edit the server ports. Change every defined port to the next highest number, so we can avoid conflicts with openMAINT's tomcat ports.

$ sudo nano tomcat/conf/server.xml
// Line 22
<Server port="8006" shutdown="SHUTDOWN">

// Line 69 (lol)
<Connector port="8081" URIEncoding="UTF-8" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

Now, alfresco is pretty much set up. Lets go and boot it up, and proceed to the openMAINT installation. (We still need to configure it, but that comes later on).

$ sudo ./alfresco.sh start

[Step 5] - Installing GeoServer

Now then, lets go and install the GeoServer - This one is really easy so just follow along.

$ sudo adduser geoserver ; sudo usermod -aG sudo geoserver ; sudo su - geoserver
$ wget https://sourceforge.net/projects/geoserver/files/GeoServer/2.21.0/geoserver-2.21.0-bin.zip

Now just extract it to the home directory, and edit the port it is hosted on...

$ unzip -d /home/geoserver/server geoserver-2.21.0-bin.zip
$ nano /home/geoserver/server/start.ini

Just scroll down now and replace the jetty.http.port setting with jetty.http.port=8082. When you're finished, press Ctrl+X, Y and ENTER to save.
Lets just add the GeoServer as a service so that we don't have to worry about it anymore...

$ sudo nano /usr/lib/systemd/system/geoserver.service
[Unit]
Description=GeoServer Service
After=network.target

[Service]
Type=simple

User=root

Environment="GEOSERVER_HOME=/home/geoserver/server"

ExecStart=/home/geoserver/server/bin/startup.sh
ExecStop=/home/geoserver/server/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

When you're done, press Ctrl+X, Y and ENTER to save...

$ sudo systemctl daemon-reload
$ sudo systemctl enable --now geoserver

And that's that! You can access the GeoServer interface on http://YOUR-IP:8082/geoserver, with credentials admin, geoserver.

[Step 6] - Installing openMAINT 2.3

At last, the system is now ready for the openMAINT installation! First off, lets create an openmaint user for organisation purposes, then we just need to download openMAINT 2.3.

$ sudo adduser openmaint ; sudo usermod -aG sudo openmaint ; sudo su - openmaint
$ wget https://downloads.sourceforge.net/project/openmaint/2.3/openmaint-2.3-3.4.1-d.war

Make sure that you have installed "openmaint-2.3-3.4.1-d.war". Notice the "-d" at the end!

Once that's done, run the installation jar, and enter these specific configurations, leaving everything that is not specified as default, and finish the installation by following the instructions displayed in the terminal.

$ java -jar ./openmaint-2.3-3.4.1-d.war install
postrgres admin account: postgres/<PASSWORD-FROM-STEP-3>
cmdbuild posrgres database name: openmaint_db
database dump to load: empty

[Step 7] - Setting up the openMAINT startup & shutdown scripts

Since starting anything related to Tomcat as a service seems to not work (as far as I've noticed), we're going to have to create a startup and shutdown script to start and shutdown the required apps. Just create a new bash script, make it executable, and you're free to go.

# Use this if you've switched users for some reason
$ su - openmaint

$ nano startmaint.sh

Add the following code into the opened file, and press CTRL+X, Yand ENTER to save.

##!/bin/bash

# Alfresco is kind of weird and can get its catalina.pid stuck after shutting,
# so we have to essentially restart it to get it up and running.
sudo "/opt/alfresco-3.4.d/alfresco.sh" stop
sudo rm -f /opt/alfresco-3.4.d/tomcat/temp/catalina.pid
sudo "/opt/alfresco-3.4.d/alfresco.sh" start

# ... The same is true for openMAINT. This is more of a restart script than a startup script
# if anything. 
sudo -u openmaint "/home/openmaint/cmdbuild_30/bin/shutdown.sh"
sudo rm -f /home/openmaint/cmdbuild_30/bin/catalina.pid
sudo -u openmaint "/home/openmaint/cmdbuild_30/bin/startup.sh"

echo "------------------> openMAINT Started! <------------------"
$ chmod a+x startmaint.sh

Do the same for the shutdown script, and again, press CTRL+X, Yand ENTER to save.

$ nano stopmaint.sh
#!/bin/bash

# The shutdown is incredibly more simple...
sudo "/opt/alfresco-3.4.d/alfresco.sh" stop
sudo -u openmaint "/home/openmaint/cmdbuild_30/bin/shutdown.sh"
$ chmod a+x stopmaint.sh

And... That's that! To turn on openMAINT, just use sudo /home/openmaint/startmaint.sh through a sudo-allowed account, and to turn it off use sudo /home/openmaint/stopmaint.sh. Simple!
To access your app after it turns on, use http://SERVER-IP:8080/cmdbuild (http://localhost:8080/cmdbuild will probably work).
Your credentials are Username: admin, Password: admin.
Boot openMAINT up, since we'll need it.

[Step 8] - Connecting Alfresco and openMAINT

Log into openMAINT and click on the top right corner of the screen, on the small cogwheel near the log out button. This will take you into the administrative menu, where you can change the settings for pretty much everything. Use the navigation menu on the left to scroll down until you find a folder called "DMS" - Open it, hit settings, and edit the "host" field with the following link: http://YOUR-IP:8081/alfresco/s/cmis

imagem

[Step 9] - Connecting GIS and openMAINT

Still in the administration page, navigate to the "GIS" folder and hit "External Services". When you're there, just change the port and IP to YOURSERV:8082, not touching anything else, and you're good to go!

imagem

After you complete this... you're set! Enjoy using openMAINT (Even though learning to use it can be quite tricky, since the documentation is scarce) and have a good one!


[Addendum 1] - XHost and X11

⠀⠀If you're running openMAINT in a server and want to access everything through other machines, you're going to have to configure xhost to allow it to display the reports and everything else to whoever connects. The simplest way to do this is to allow everyone in, even though this is a massive security risk. After you do this, restart openMAINT. The easiest way to know if you need to configure xhost is by trying to generate a report - if you get an x11 error, you know you need to configure it.

$ xhost +
$ sudo /home/openmaint/startmaint.sh  # This acts as a restart by itself.

[Addendum 2] - Backup management

⠀⠀Due to the nature of this program, creating backups and having them be somewhere safe is extremely important. Due to this, I created a script to automatically create backups for the alfresco and openMAINT databases. Every backup created will be stored over at /home/openmaint/backups, but its highly recommended that you change this to an entrypoint for some remote server folder.
⠀⠀After following the instructions to add the script, press Ctrl+X, Y and ENTER to save.

$ sudo nano /home/openmaint/backup.sh
#!/bin/bash

# Database and general information
MAINT_DBNAME="openmaint_db"
TIME=$(date "+%Y%m%d-%H%M%S")

# Directories
BACKUP_DIR="/home/openmaint/backups"
MAINT_BACKUP_DIR="${BACKUP_DIR}/openmaint"
ALFRESCO_DATA_DIR="/opt/alfresco-3.4.d/alf_data"
ALFRESCO_BACKUP_DATA_DIR="${BACKUP_DIR}/alfresco/data"
ALFRESCO_BACKUP_DB_DIR="${BACKUP_DIR}/alfresco/db"


# Backup filenames
MAINT_BACKUP_FILE="${MAINT_BACKUP_DIR}/OM_$TIME.sql"
ALFRESCO_BACKUP_FILE="${ALFRESCO_BACKUP_DB_DIR}/al_$TIME.sql"
ALFRESCO_DATA_BACKUP="${ALFRESCO_BACKUP_DATA_DIR}/alfresco-data-${TIME}.tar.gz"
1

# Stops openMAINT and alfresco and creates the backups directory
echo -e "\033[0;33m----------- Stopping openMAINT & Alfresco -----------\033[0m"
sudo /home/openmaint/stopmaint.sh

sudo mkdir -p $BACKUP_DIR
sudo mkdir -p $MAINT_BACKUP_DIR
sudo mkdir -p $ALFRESCO_BACKUP_DATA_DIR
sudo mkdir -p $ALFRESCO_BACKUP_DB_DIR
sudo chmod -R 777 $BACKUP_DIR

# Separation 
echo -e "\033[0;33m---------- Backing up openMAINT & Alfresco ----------\033[0m"

# ---------------------------------------------------------------------------------------------------------------------------
# OPENMAINT BACKUP > -------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------------------------

echo "Backing up $MAINT_DBNAME to $MAINT_BACKUP_FILE"

# Backup the database using pg_dump
sudo -u postgres pg_dump $MAINT_DBNAME > $MAINT_BACKUP_FILE

# Log completion of backup
if [ -f $MAINT_BACKUP_FILE ] && [ -s $MAINT_BACKUP_FILE ]; then
	echo -e "\033[32mopenMAINT Database backup successful!\033[0m"
else
	echo -e "\033[31mError: openMAINT Database backup not created!\033[0m"
fi

# ---------------------------------------------------------------------------------------------------------------------------
# ALFRESCO BACKUP > ---------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------------------------

echo "Backing up alfresco to $ALFRESCO_BACKUP_FILE and $ALFRESCO_BACKUP_DATA_DIR"

# Backup the Alfresco database
echo "Backing up Alfresco database"
sudo /opt/alfresco-3.4.d/alfresco.sh start mysql
sudo -u openmaint /opt/alfresco-3.4.d/mysql/bin/mysqldump --all-databases > $ALFRESCO_BACKUP_FILE
sudo /opt/alfresco-3.4.d/alfresco.sh stop mysql

# Backup the Alfresco data directory
echo "Backing up Alfresco data"
tar czf $ALFRESCO_DATA_BACKUP $ALFRESCO_DATA_DIR

# Log completion of backups
if [ -f $ALFRESCO_BACKUP_FILE ] && [ -s $ALFRESCO_BACKUP_FILE ]; then
	echo -e "\033[32mAlfresco Database backup successful!\033[0m"
else
	echo -e "\033[31mError: Alfresco Database backup not created!\033[0m"
fi

# ---------------------------------------------------------------------------------------------------------------------------
# FINISHING > ---------------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------------------------

# If the -y argument is passed, start openmaint without questioning
if [ "$1" = "-y" ]; then
	sudo /home/openmaint/startmaint.sh
	exit 0
fi

# If the -n argument is passed, exit the program by this stage.
if [ "$1" = "-n" ]; then
	exit 0
fi

# If no argument is passed, prompt the user with a yes/no interface to either start openmaint or not.
echo "Backups finished. Would you like to start up openMAINT? (y/n)"

select yn in "Yes" "No"; do
    case $yn in
        Yes ) sudo /home/openmaint/startmaint.sh; break;;
        No ) exit;;
    esac
done
$ sudo chmod a+x /home/openmaint/backup.sh

To run the script now, simply use the command below. The two available parameters to run it with are -y and -n, use it to either automatically run openMAINT after finishing the backups or not.

$ sudo /home/openmaint/backup.sh

> [Auto Backups] Crontab

Optionally (but very much recommended) you should also add this script to a crontab, so it runs every X amount of time, without the need for human input. This needs to be added in root's crontab, so we need to use sudo with it.

$ sudo crontab -e

Add the following line to the opened file, which will create a backup every day at 4 AM. You can, of course, change the backup times as you wish. if you're using nano, press CTRL+X, Y and ENTER to save, and if you're using VIM, :wq.

0 4 * * * sudo /home/openmaint/backup.sh -y

> [Backup Tools] Restoring a Backup

⠀⠀⠀⠀Restoring a backup is pretty simple, and documented over at Page 24 of the CMDBuild Technical Manual.

[Addendum 3] - Learning Material and personal notes for openMAINT

⠀⠀⠀⠀I decided to include this here for anyone that might find it useful - I had a sort of rough time learning how to use openMAINT, given that it was my first time ever hearing about asset management, maintenance, etc, and I didn't really know what I was doing - I started working with it due to an internship I was in, and managed to pull it off after a few days of searching through the scarce tutorials that exist. That said, here are a few notes I'd like to leave you with and some learning materials for you to look at.

> [Observations] CMDBuild and OpenMAINT

⠀⠀⠀⠀CMDBuild is an open source inventory management tool, in which a bunch of applications are built on. You can use a bunch of third party tools to go and create reports, workflows and custom pages (although these require JS, CSS & HTML knowledge), and dynamically modify your interface.  
⠀⠀⠀⠀OpenMAINT is one of the many apps built on top of CMDBUILD, that handles the maintenance, both preventive and corrective, of the assets registered in it. Now, even though it is technically a fully separate app built on top of CMDBuild, it still relies heavily on it to the point where it can be considered almost a CMDBuild addon/framework. This means that the two are virtually the same, as far as the user input and experience goes. OpenMAINT offers a built-in organised structure for asset maintenance, which should not be altered, and a bunch of pre-built reports, workflows and custom pages to be used. Essentially, people made it amazingly simple to handle maintenance by setting up and creating everything related to maintenance for us.  
⠀⠀⠀⠀This means that the CMDBuild manuals are extremely useful since openMAINT is "an addon" for CMDBuild, so you can just go ahead and read the CMDBuild manuals to learn most of the things. (Not everything, but most things.)

> [Materials] Useful Links (Most to least relevant)

> [Docker] The only working docker image (As of the time of writing)

⠀⠀⠀⠀I initially tried to just use docker to create an openMAINT container and not bother with a manual installation, however, I quickly found out that almost no one has public containers available, and those that do, have broken openMAINT images on them. Due to this, I was only able to find One functioning openMAINT 2.0 docker image.

> [Alternatives] Other programs that you might want to check out instead of openMAINT

  • Snipe.IT - This one has a lot of functionality, is open source AND has both local and cloud-based data hosting, however, it does NOT include preventive maintenance (at the time of writing). It has an amazing interface, and if you're looking for a simple alternative, the installation is really easy, and the interface is also pretty friendly. They also have an amazing, maintained docker image!
  • ManWinWin - This one has ACTUAL GOD-LEVEL SUPPORT. I found it a lot more complicated to understand than openMAINT was, but the support is simply amazing. They offer you proper documentation, learning courses, calls with technical support where they're really patient with you during the appointed time, and more. Such a service is of course, paid, however, it has a free version with some limits. I signed up for a free license on their website and I didn't really get their e-mails and was struggling to install the app. After a while of not replying to them, they found the contact of the company I worked for at the time, called it, asked for me, and helped me go through it. Apparently, their e-mails are sent by actual employees that keep up with your experience. 10/10.
@evoreb
Copy link

evoreb commented Sep 13, 2024

Hi, This has been a great guide to getting OpenMaint working, thanks a lot. Recently found this docker image that works just as well fully set up you should take a look at it. https://github.com/itmicus/cmdbuild_docker

@evoreb
Copy link

evoreb commented Sep 13, 2024

I installed OpenMaint successfully on our webserver and I can open the webpage on it as instructed: http://localhost:8080/cmdbuild

Now how to I expose this to the world - or at least our employees? I tried replacing localhost with the server IP address, but that didn't work.

I used Cloudflared for this just had it running on a small vm on the internal network and created a hostname pointing to the internal IP with OpenMaint installed. Easy

@MrKelpy
Copy link
Author

MrKelpy commented Sep 13, 2024

I installed OpenMaint successfully on our webserver and I can open the webpage on it as instructed: http://localhost:8080/cmdbuild
Now how to I expose this to the world - or at least our employees? I tried replacing localhost with the server IP address, but that didn't work.

I used Cloudflared for this just had it running on a small vm on the internal network and created a hostname pointing to the internal IP with OpenMaint installed. Easy

You really shouldn't expose your openmaint instance to the world, but it's okay for your employees. If you're all in the same network just set a static IP address on the machine running your instance and give it the link to your employees (e.g: https://192.168.1.72:8080).

If they're not all within the same network as the machine running your instance, use a VPN to connect them all within a virtual network (such as
radmin vpn
or tailscale and have them connect to your instance using the vpn-provided ip address for your machine (e.g: https://10.167.1.56:8080).

On top of that, if you'd like custom domain names within your network, the simplest way would be through the hosts file present on your computers, which would just map the IP to the domain names. More advanced and sophisticated options are also available through the configuration of your own custom DNS servers and the usage of a reverse proxy such as nginx to hide the port.

@Pasindu2000B
Copy link

Pasindu2000B commented Sep 14, 2024

I'm trying to access openMAINT from a public IP, but it only works through an SSH tunnel. It runs fine on localhost:8080, but when I try the server's IP, I can't access it.Plz help me

@Pasindu2000B
Copy link

Pasindu2000B commented Sep 19, 2024

Can you explain how to configure and send emails through in this software??
It is urgent plz help me

@Pasindu2000B
Copy link

I installed OpenMaint successfully on our webserver and I can open the webpage on it as instructed: http://localhost:8080/cmdbuild
Now how to I expose this to the world - or at least our employees? I tried replacing localhost with the server IP address, but that didn't work.

I used Cloudflared for this just had it running on a small vm on the internal network and created a hostname pointing to the internal IP with OpenMaint installed. Easy

You really shouldn't expose your openmaint instance to the world, but it's okay for your employees. If you're all in the same network just set a static IP address on the machine running your instance and give it the link to your employees (e.g: https://192.168.1.72:8080).

If they're not all within the same network as the machine running your instance, use a VPN to connect them all within a virtual network (such as radmin vpn or tailscale and have them connect to your instance using the vpn-provided ip address for your machine (e.g: https://10.167.1.56:8080).

On top of that, if you'd like custom domain names within your network, the simplest way would be through the hosts file present on your computers, which would just map the IP to the domain names. More advanced and sophisticated options are also available through the configuration of your own custom DNS servers and the usage of a reverse proxy such as nginx to hide the port.

hey

@Pasindu2000B
Copy link

can we do multiple delete at once

@marcelotru
Copy link

Hello @MrKelpy. Can you explain how to install and configure openMaint in windows 10? Thank you very much.

@Pasindu2000B
Copy link

unable to open cmis repository

Hello how are you? I want to tell you about a problem I have had:
When I try to close an activity within corrective maintenance it does not allow it and when I try to save a change it throws the following error
com.google.common.util.concurrent.UncheckedExecutionException: org.cmdbuild.exception.DmsException: unable to open cmis repository, caused by: org.cmdbuild.exception.DmsException: unable to open cmis repository, caused by: org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException: Cannot access “http://192.168.0.100:8081/alfresco/s/cmis”: Connection refused, caused by: java.net.ConnectException: Connection refused
Any ideas?

Hello, could you share how did you solve this problem please?

@Pasindu2000B
Copy link

Did you solve this issue

@Pasindu2000B
Copy link

com.google.common.util.concurrent.UncheckedExecutionException: org.cmdbuild.exception.DmsException: unable to open cmis repository, caused by: org.cmdbuild.exception.DmsException: unable to open cmis repository, caused by: org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException: Cannot access “http://192.168.0.100:8081/alfresco/s/cmis”: Connection refused, caused by: java.net.ConnectException: Connection refused anyone solve this issue

@Pasindu2000B
Copy link

unable to open cmis repository

Hello how are you? I want to tell you about a problem I have had:
When I try to close an activity within corrective maintenance it does not allow it and when I try to save a change it throws the following error
com.google.common.util.concurrent.UncheckedExecutionException: org.cmdbuild.exception.DmsException: unable to open cmis repository, caused by: org.cmdbuild.exception.DmsException: unable to open cmis repository, caused by: org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException: Cannot access “http://192.168.0.100:8081/alfresco/s/cmis”: Connection refused, caused by: java.net.ConnectException: Connection refused
Any ideas?

Hello, could you share how did you solve this problem please?

Have you solve this

@Pasindu2000B
Copy link

unable to open cmis repository

Hello how are you? I want to tell you about a problem I have had:
When I try to close an activity within corrective maintenance it does not allow it and when I try to save a change it throws the following error
com.google.common.util.concurrent.UncheckedExecutionException: org.cmdbuild.exception.DmsException: unable to open cmis repository, caused by: org.cmdbuild.exception.DmsException: unable to open cmis repository, caused by: org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException: Cannot access “http://192.168.0.100:8081/alfresco/s/cmis”: Connection refused, caused by: java.net.ConnectException: Connection refused
Any ideas?

Hello, could you share how did you solve this problem please?

Please help me @MrKelpy

@Pasindu2000B
Copy link

unable to open cmis repository

Hello how are you? I want to tell you about a problem I have had:
When I try to close an activity within corrective maintenance it does not allow it and when I try to save a change it throws the following error
com.google.common.util.concurrent.UncheckedExecutionException: org.cmdbuild.exception.DmsException: unable to open cmis repository, caused by: org.cmdbuild.exception.DmsException: unable to open cmis repository, caused by: org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException: Cannot access “http://192.168.0.100:8081/alfresco/s/cmis”: Connection refused, caused by: java.net.ConnectException: Connection refused
Any ideas?

Hello, could you share how did you solve this problem please?

@MrKelpy @darkjhesus please help

@seanmcnamee
Copy link

@Pasindu2000B Please stop bothering this guy... He's mentioned that he only documented his setup, and has moved on from the company that he needed to setup OpenMAINT for. He's not the support team. Just a guy trying to pay it forward with a little bit of documentation. Please don't turn that into a no good deed goes unpunished.

@darkjhesus
Copy link

darkjhesus commented Feb 4, 2025

unable to open cmis repository

Hello how are you? I want to tell you about a problem I have had:
When I try to close an activity within corrective maintenance it does not allow it and when I try to save a change it throws the following error
com.google.common.util.concurrent.UncheckedExecutionException: org.cmdbuild.exception.DmsException: unable to open cmis repository, caused by: org.cmdbuild.exception.DmsException: unable to open cmis repository, caused by: org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException: Cannot access “http://192.168.0.100:8081/alfresco/s/cmis”: Connection refused, caused by: java.net.ConnectException: Connection refused
Any ideas?

Hello, could you share how did you solve this problem please?

@MrKelpy @darkjhesus please help

To close an activity, you have to check if the CMIS Host is equal to the PC IP where you have installed OpenMaint.

Sin título

@jimvidela
Copy link

OpenMaint 2.3 Installation Video includes:

  • Installation Ubuntu Server 24.04
  • PostgreSQL 15 installation
  • Java JDK 17 installation
  • PostGIS 3
  • Alfresco Community 5.2 (2017)
  • Geoserver 2.24.1 installation

https://www.youtube.com/playlist?list=PLpnxXcHhk13N2-h3-TmJXdEqMMIIlvg-J

@jimvidela
Copy link

jimvidela commented Mar 12, 2025

Thank you for this great tutorial, everything went fine. Can you explain how to install BIMServer?

I really don't know, apologies :( If you figure it out reliably, let me know and I'll add it!

***INSTALL BIMSERVER

Create User
sudo adduser bimserver ; sudo usermod -aG sudo bimserver ; sudo su - bimserver

Install Tomcat 9
sudo apt update

Download Tomcat

Web download(tomcat.apache.org/download-90.cgi)

sudo wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.102/bin/apache-tomcat-9.0.102.tar.gz

sudo tar -xvzf apache-tomcat-9.0.102.tar.gz
sudo mv apache-tomcat-9.0.102 server

sudo chown -R bimserver:bimserver /home/bimserver/server
sudo chmod +x /home/bimserver/server/bin/*.sh

Change ports:
sudo nano /home/bimserver/server/conf/server.xml

Server port="8008" shutdown="SHUTDOWN">

Connector port="8083" URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

Star Service
sudo /home/bimserver/server/bin/startup.sh

Donwload bimserver

Web download (https://github.com/opensourcebim/bimserver/releases)

wget -O bimserver.war https://github.com/opensourceBIM/BIMserver/releases/download/v1.5.187/bimserverwar-1.5.187.war

sudo mv bimserver.war /home/bimserver/server/webapps/

sudo /home/bimserver/server/bin/shutdown.sh
sudo /home/bimserver/server/bin/startup.sh

exit

📌 Access BIMserver:
http://YOUR-IP:8083/bimserver

@DonyBerserker
Copy link

Has anyone managed to install the new version openmaint 2.4?

@kvpia
Copy link

kvpia commented May 16, 2025

Has anyone managed to install the new version openmaint 2.4?

I installed version 2.3, stopped Tomcat, installed 2.4, copied the database configuration file (database.conf), and ran the update. This is a test version, and I do not recommend doing this on a production server, but only for testing purposes. Database patches are being installed. (Translation Google Translate)

@DonyBerserker
Copy link

Immagine 2025-05-05 093634

So you just changed the .war and re-ran the installation?

When I did that I had a series of problems that did not allow me to install the system, they were precisely related to the database

@kvpia
Copy link

kvpia commented May 16, 2025

Знімок екрана 2025-05-16 154701

I had the same error. In this place I replaced the database configuration file and started Tomcat
openmaint@Openmaint:~/openmaint/bin$ ./startup.sh
Using CATALINA_BASE: /home/openmaint/openmaint
Using CATALINA_HOME: /home/openmaint/openmaint
Using CATALINA_TMPDIR: /home/openmaint/openmaint/temp
Using JRE_HOME: /usr
Using CLASSPATH: /home/openmaint/openmaint/bin/bootstrap.jar:/home/openmaint/openmaint/bin/tomcat-juli.jar
Using CATALINA_OPTS: --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED --add- opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED
Using CATALINA_PID: /home/openmaint/openmaint/bin/catalina.pid
Tomcat started.

@darkjhesus
Copy link

To install OPENMaitn with cmdbuild new version, you have to stop the service, unistall postgresql and install postgres 17, after that, install openmait and follow the procedure described in this post.

@darkjhesus
Copy link

You have to take into account that, with these procedure, you erase the database, so, firs make a backup from your database.

Someone could wxplain the proceddure to make database backup?

@kvpia
Copy link

kvpia commented May 16, 2025

To install OPENMaitn with cmdbuild new version, you have to stop the service, unistall postgresql and install postgres 17, after that, install openmait and follow the procedure described in this post.

I reinstalled 10 times together with the OS and unfortunately this error that Mr. DonyBerserker describes has not disappeared. I tested it with Postgres 12....17, Yes, the 2.3 installer warns that there is no full guarantee of installation and compatibility, but it deploys the database and completes successfully. But 2.4 always gives an error in the same place after installing Tomcat before deploying the database. I just haven't tried to deploy it manually. I think someone will find this missing piece.

@darkjhesus
Copy link

You have to change the cmdbuild path installation folder or erase the folder before install

image

@darkjhesus
Copy link

image

@DonyBerserker
Copy link

Hi darkjhesus,

could you explain well all the steps to do after installing openmain in version 20.04 and then update it to the new version.

I saw the screenshots you posted, but I didn't understand well. So I would be happy if you described what to do precisely

@darkjhesus
Copy link

You have to use the next code to install openmaint:

java --add-opens java.base/java.nio=ALL-UNNAMED -jar ./openmaint-2.4-4.0.4.war install

@darkjhesus
Copy link

darkjhesus commented Jun 8, 2025

After install openmaint 2.4, when go the attachments section, I have the next error:

Sin título

Some idea to solve it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment