Please help with first install and setup on LINUX

I think OPENMAINT could be a really pretty, comprehensive and awesome tool, just a shame about it’s lack of support for installation and setup. They call it “open source” but there is no step by step instruction that helps you installing OpenMaint on different platforms.

Theres is only an old “MANUALE INSTALLAZIONE OPENMAINT IN UBUNTU 16.04” for the very old version and a “technical manual” for CMDBuild. Both are cryptic and not up to date. Even the software requirements are not clear… so, what’s going on here?

Can it be that difficult for the creators of OpenMaint to deliver good documentation instead of delivering cryptic answers, if not downright misleading in respect to our questions? I wonder if their intention is more to sell it as SaaS (software as a service) so they really don’t have any interes in our open source community.

Has somebody a step by step guide for installation on ubuntu 20.04.???

I really don´t know how many VMs I have rebuildt and nothing works - the installation process is a pain… I am the only one whith this problem?? Many thanks to all of you!

The installation of openMAINT is exactly the same as CMDBuild, being openMAINT a configuration of CMDBuild.
CMDBuild manuals are updated with each major version, the latest update is related to version 3.2 (February 2020, then only the minor version 3.3.1 was released and there are no differences in the installation from version 3.2) and the next one will be for CMDBuild 3.3.
The “MANUALE INSTALLAZIONE OPENMAINT IN UBUNTU 16.04” is not an official manual, we don’t know who wrote it.

Many thanks for your answer, but what people (me included) are asking for is a step by step guide for most common systems like linux/windows. Just analyze the problems people have. It seems that the CMDBuild manual is not clear enough for a clean installation and setup process. It never happend to me that I have to kill several virtual machines trying an installation. Just wondering if it can be that difficult to make a step by step instruction that works for the most common systems.

I would like to say that coding is one part (I feel thankfull for all you work you have done so far), but there is a very important second part called: Excellent documentation for the community, and that’s definitely not the case… I’m sorry to say that, but a lot of people in this forum and outside this forum agree with me.

Just listen to the people and comments in the web, when you plan your next manual …

1 Like

I didn’t know that “MANUALE INSTALLAZIONE OPENMAINT IN UBUNTU 16.04” is not your official manual. But it shows very clear the necessity of having a step by step guide that is not delivered by the creators.

Don’t have any doubt that I had several attempts with your official technical manual downloaded from “ht…tps://www…cmdbuild.org/fi…le/manuali/technical-manual-in-english” either, but that didn’t made any difference on the result.

Hi there, I have to agree with Chris. I’m spending a lot of time following the official manual but there is no chance to install the cmdbuild…seeing that the software is reviewed into the web as one of the best, I think that a step by step manual could increase this opinion. I don’t think that you can’t find someone that can do it.

Here anyway my error:
java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/postgresql/ds/PGSimpleDataSource, caused by: java.lang.NoClassDefFoundError: org/postgresql/ds/PGSimpleDataSource

My system details are:

ubuntu 18.04

sudo update-java-alternatives -l
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64

sudo -u postgres psql -c “SELECT version();”
version

PostgreSQL 10.12 (Ubuntu 10.12-0ubuntu0.18.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit
(1 row)

Apache Tomcat/9.0.30

I have already checked as someone suggested into different forum if I have the jdbc jar file into a folder opt/tomcat/webapps/cmdbuild/WEB-INF/lib/postgresql-42.1.4.jre6.jar

tomcat.service

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment=’CATALINA_OPTS=-Xms512M –Xmx1024M –server –XX:+UserParallelGC’
Environment=’JAVA_OPTS=-Djava.awt.headless=true Djava.security.egd=file:/dev/./urandom’

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

User=tomcat
Group=tomcat
UMast=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

I can very much support what Chris and ico have said.

I really like cmdbuild, but a proper step for step installation manual for at least the most common Linux distributions (eg RHEL and Debian or Ubuntu) or even an rpm or deb package would significantly reduced the initial costs of “getting into it”.

I had a hard time myself gathering raw information from non-official manuals and board discussions before I had a running cmdbuild on CentOS 7.

Regarding the “java.lang.NoClassDefFoundError: org/postgresql/ds/PGSimpleDataSource” error:
I had that problem as well and I also downloaded postgresql-42.2.10.jar manually and linked it to the tomcat /lib directory. For me, that fixed the issue.

[root@cmdb1 ~]# ll /usr/share/java
total 908
-rw-r--r--. 1 root root 927447 Aug 6 13:33 postgresql-42.2.10.jar

[root@cmdb1 ~]# ll /opt/tomcat/lib/
total 9544
-rw-r--r--. 1 tomcat tomcat   13036 Jun 30 21:11 annotations-api.jar
-rw-r--r--. 1 tomcat tomcat   54652 Jun 30 21:11 catalina-ant.jar
-rw-r--r--. 1 tomcat tomcat  123905 Jun 30 21:11 catalina-ha.jar
-rw-r--r--. 1 tomcat tomcat   62888 Jun 30 21:11 catalina-ssi.jar
-rw-r--r--. 1 tomcat tomcat   78376 Jun 30 21:11 catalina-storeconfig.jar
-rw-r--r--. 1 tomcat tomcat  346555 Jun 30 21:11 catalina-tribes.jar
-rw-r--r--. 1 tomcat tomcat 1695445 Jun 30 21:11 catalina.jar
-rw-r--r--. 1 tomcat tomcat 2989263 Jun 30 21:11 ecj-4.15.jar
-rw-r--r--. 1 tomcat tomcat   90822 Jun 30 21:11 el-api.jar
-rw-r--r--. 1 tomcat tomcat  170975 Jun 30 21:11 jasper-el.jar
-rw-r--r--. 1 tomcat tomcat  564056 Jun 30 21:11 jasper.jar
-rw-r--r--. 1 tomcat tomcat   28044 Jun 30 21:11 jaspic-api.jar
-rw-r--r--. 1 tomcat tomcat   63452 Jun 30 21:11 jsp-api.jar
lrwxrwxrwx. 1 tomcat tomcat      38 Aug  6 13:34 postgresql-42.2.10.jar -> /usr/share/java/postgresql-42.2.10.jar
-rw-r--r--. 1 tomcat tomcat  283427 Jun 30 21:11 servlet-api.jar
-rw-r--r--. 1 tomcat tomcat   11336 Jun 30 21:11 tomcat-api.jar
-rw-r--r--. 1 tomcat tomcat  900563 Jun 30 21:11 tomcat-coyote.jar
-rw-r--r--. 1 tomcat tomcat  319369 Jun 30 21:11 tomcat-dbcp.jar
-rw-r--r--. 1 tomcat tomcat   69258 Jun 30 21:11 tomcat-i18n-cs.jar
-rw-r--r--. 1 tomcat tomcat   75217 Jun 30 21:11 tomcat-i18n-de.jar
-rw-r--r--. 1 tomcat tomcat  104947 Jun 30 21:11 tomcat-i18n-es.jar
-rw-r--r--. 1 tomcat tomcat  165396 Jun 30 21:11 tomcat-i18n-fr.jar
-rw-r--r--. 1 tomcat tomcat  187582 Jun 30 21:11 tomcat-i18n-ja.jar
-rw-r--r--. 1 tomcat tomcat  188042 Jun 30 21:11 tomcat-i18n-ko.jar
-rw-r--r--. 1 tomcat tomcat   50041 Jun 30 21:11 tomcat-i18n-pt-BR.jar
-rw-r--r--. 1 tomcat tomcat   38883 Jun 30 21:11 tomcat-i18n-ru.jar
-rw-r--r--. 1 tomcat tomcat  171844 Jun 30 21:11 tomcat-i18n-zh-CN.jar
-rw-r--r--. 1 tomcat tomcat  149748 Jun 30 21:11 tomcat-jdbc.jar
-rw-r--r--. 1 tomcat tomcat   36063 Jun 30 21:11 tomcat-jni.jar
-rw-r--r--. 1 tomcat tomcat  218890 Jun 30 21:11 tomcat-util-scan.jar
-rw-r--r--. 1 tomcat tomcat  195531 Jun 30 21:11 tomcat-util.jar
-rw-r--r--. 1 tomcat tomcat  231569 Jun 30 21:11 tomcat-websocket.jar
-rw-r--r--. 1 tomcat tomcat   39434 Jun 30 21:11 websocket-api.jar

thats CentOS 7.8 with OpenJDK 11 and Postgres 10

I have to agree, the official manual was of no help, it actually took me 5 days to figure out how to install CMDBuild 3.2.1 on CentOS8/7. I created my own step by step guide and what I noticed is that I had to manually create a “shark” user on postgres to make it work, I´m not even using shark. I installed the latest supported versions listed on the manual.

Now the problem I´m facing is with performance, it takes up to 20 seconds to open any card or to try to display any data, will create a different post as I cant figure out why.

Just a tip if any one runs into the same problem. I installed Tomcat 9.0.37 and that solved my performance issues, everything is running really fine with: CentOS8, postgres 10, OpenJDK 11, Tomcat 9.0.37, CMDbuild 3.2.1.

I know this thread is old…
@ecorona21 , can you please share your step by step guide?
Thanks

@three Sure thing, please allow me a few days so I can filter the steps and place them here, there are 80 steps on my guide and some are not needed.

1 Like

This is the procedure I follow to install CMBuild from scracth.
Required software
CMDBuild 3.2.1
CentOS 8.2.2004
Postgres 10.14
TomCat 9.0.37

CentOS 8.2.2004 USE ADMIN ACCOUNT
Server Install CentOS-8.2.2004-x86_64-dvd1 / Server no GUI
Add admin to sudo visudo
admin ALL=(ALL) ALL
Activate web console systemctl enable --now cockpit.socket
Update server ip:9090
Change host name hostnamectl set-hostname cmdbuild
Start Network Manager systemctl start NetworkManager
Identify Interface nmcli device
Down interface if active ifdown ens32
Create a Connection Profile nmcli connection add type ethernet ifname ens32 con-name cmdb
Configuring Static IP Address nmcli connection modify cmdb ipv4.addresses 192.168.17.128/24 ipv4.gateway 192.168.107.2
Make the Connection to Start Persistently nmcli connection modify cmdb ipv4.method manual ipv6.method ignore autoconnect yes
Verify the New Connection Profile nmcli connection
Bring the interface Offline nmcli connection down cmdb
Bring the interface Online nmcli connection up cmdb
Verify configuration file saved settings cat /etc/sysconfig/network-scripts/ifcfg-cmdb
Postgres 10.14
Install Repository RPM sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Disable Builtin PostgreSQL sudo dnf -qy module disable postgresql
Install PostgreSQL sudo dnf install postgresql10-server
initialize the database and enable automatic start sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
sudo systemctl enable postgresql-10
sudo systemctl start postgresql-10
Edit postgres conf files sudo vi /var/lib/pgsql/10/data/postgresql.conf
Set the local host to password and your host to trust sudo vi /var/lib/pgsql/10/data/pg_hba.conf
Reset postgres user sudo su postgres -c psql postgres
postgres=# ALTER USER postgres WITH PASSWORD ‘cmdbuild’;
postgres=# \q
sudo passwd -d postgres
sudo su postgres -c passwd
sudo systemctl restart postgresql-10
TomCat 9.0.37
Prepare Tomcat 9 install yum search java
Install JDK 1.11 sudo yum install java-11-openjdk.x86_64
Verify Java java -version
Create tomcat user and group sudo groupadd --system tomcat
sudo useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat
Install Tomcat 9 sudo yum -y install wget
export VER=9.0.37
wget https://archive.apache.org/dist/tomcat/tomcat-9/v${VER}/bin/apache-tomcat-${VER}.tar.gz
Extract downloaded file sudo tar xvf apache-tomcat-${VER}.tar.gz -C /usr/share/
Create symlink to extracted tomcat data sudo ln -s /usr/share/apache-tomcat-$VER/ /usr/share/tomcat
Set proper directory permissions sudo chown -R tomcat:tomcat /usr/share/tomcat
sudo chown -R tomcat:tomcat /usr/share/apache-tomcat-$VER/
Configure Tomcat 9 Systemd service sudo vim /etc/systemd/system/tomcat.service
Start and enable service sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
Check service status systemctl status tomcat
Configure Firewall sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
CMDBuild 3.2.1
Stop tomcat systemctl stop tomcat
Copy files with WinSCP CMDBuild and conectors as described on the technical manual
Copy connector sudo cp postgresql-1.12.3.jar /usr/share/tomcat/lib
Copy connector sudo cp postgresql-42.2.5.jar /usr/share/tomcat/lib
Copy cmdbuild.war sudo mv cmdbuild-3.2.1.war /usr/share/tomcat/webapps/cmdbuild.war
create shark user sudo su postgres -c psql postgres
postgres=# create user shark;
Create cmdbuild folder on tomcat sudo mkdir /usr/share/tomcat/conf/cmdbuild
Change owner sudo chown tomcat:tomcat /usr/share/tomcat/conf/cmdbuild
Change to tomcat directory cd /usr/share/tomcat/conf/cmdbuild/
Change conf files ownership chown tomcat:tomcat *
Restart postgres Service sudo systemctl restart postgresql-10.service
Start tomcat service sudo systemctl start tomcat
Test cmdb page http://192.168.1.4:8080/cmdbuild-3.2.1
Stop tomcat sudo systemctl stop tomcat
Rename cmdbuild directory sudo mv /usr/share/tomcat/conf/cmdbuild /usr/share/tomcat/conf/cmdbuildv2
Start tomcat service sudo systemctl start tomcat
1 Like

Thank you!
I’ll install it as soon as I have time

I followed your instructions.
I got to the database configuration page, but I’m stuck here…
I enter information:
db1

I click on “Test database connection” and I get Generic error:

org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user “admin”, caused by: org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user “admin”

Any idea?
Thanks

Did you setup a “Admin user” user? if not, leave that in blank. The “Username*” should be the default postgresql user:

postgres=# ALTER USER postgres WITH PASSWORD ‘cmdbuild’;

the password will be the one you setup with this line: sudo su postgres -c passwd

So, in your screenshot seems that you created a “test” user, make sure that’s a postgresql user. I would advice to follow my procedure exactly as it is, so you can understand the setup and then you can do a clean install with your own parameters.

Thank you for your help, I’m in!
I guess I missed this line (or didn’t understand it…): Set the local host to password and your host to trust.
What I had to do is:

# "local" is for Unix domain socket connections only
local   all             all                                     ident
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

Then I got the logon screen (none of the users/passwords worked).
I looked at the Deployment instructions in sourceforge:

  • emtpy.dump.xz: a database dump with a basic structure and some minimal informations like a default admin account;

This got me thinking, a “default admin account”?
so I tried admin for user and password, and I’m in!

Thank you for your help!!!

Sorry for that part of the procedure, its not clear enough, I tried attaching an image but was not able to, glad you figured that out and glad the procedure was of help.

Hi,
I’ve followed follow the procedure of ecorona21 exactly as it is; set the right postgres user and superuser and the DB configuration step works fine.

Then I have the “Apply patches” screen; but when I click on the “Apply patches” button I have the this:Error

And the Loading… message is shown all the time.

Can anybody help me? I’m not expert in Tomcat and Postgres

Seems like you did not created the shark user. Please double check the steps you followed.