How to Install OpenMeetings on Ubuntu 18.04 LTS

OpenMeetings is a free and open-source web-based application written in Java that can be used for presenting, online training, web conferencing, collaborative whiteboard drawing and document editing, and user desktop sharing. Openmeetings provides video conferencing, instant messaging, whiteboard, collaborative document editing and other groupware tools using API functions of the Red5 Streaming Server for Remoting and Streaming. OpenMeetings provides lots of features like Audio and Video Conferencing, Meeting recording and Screen sharing, File Explorer, Moderating System, Multi-Whiteboard and Chat, User and room management, Private message center, Polls and Votes, Backup and much more.

In this tutorial, we will be going to explain how to install the OpenMeetings software on Ubuntu 18.04 LTS server.

Requirements

  • A server running Ubuntu 18.04.
  • A non-root user with sudo privileges.

Install Java

OpenMeetings is written in Java. So you will need to install Java on your system. By default, the latest version of Java is not av*ailable in the Ubuntu 18.04 default repository. So you will need to add the Java repository to your system. You can add it by running the following command:

sudo add-apt-repository --yes ppa:webupd8team/java

Next, update the repository and install Java with the following command:

sudo apt-get install oracle-java8-installer -y

After installing Java, you can verify the Java version with the following command:

java -version

Output:

java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

Install Required Dependencies

Next, you will need to install some dependencies on your system. You can install all of them by running the following command:

sudo apt-get install imagemagick ghostscript libxt6 libxrender1 ffmpeg sox -y

Install and Configure MariaDB

Next, you will need to install MariaDB Server to your system. You can install it by running the following command:

sudo apt-get install mariadb-server -y

Once the MariaDB is installed, log in to M*ariaDB shell:

mysql -u root -p

Enter your root password and press Enter, then create a database and user with the following command:

MariaDB [(none)]> CREATE DATABASE openmeetings;
MariaDB [(none)]> CREATE USER openmeetings;

Next, grant privileges to the Openmeetings database with the following command:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON openmeetings.* TO 'openmeetings'@'localhost' IDENTIFIED BY 'password';

Next, you will need to run the FLUSH PRIVILEGES command so that the privileges table will be reloaded by MySQL and we can use new credentials:

MariaDB [(none)]> FLUSH PRIVILEGES;

Next, exit from the MariaDB console with the following command:

MariaDB [(none)]> \q

Install OpenMeetings

You can download the latest version of the OpenMeetings from the Apache OpenMeetings download page:

wget http://www-eu.apache.org/dist/openmeetings/4.0.4/bin/apache-openmeetings-4.0.4.tar.gz

Once the download is completed extract the downloaded file with the following command:

sudo tar xvf apache-openmeetings-4.0.4.tar.gz -C /opt/openmeetings

Next, start the application with the following command:

cd /opt/openmeetings
sudo sh red5.sh openmeetings

OpenMeetings is now started and listening on port 5080.

Access OpenMeetings Web Interface

Open your web browser and type the URL http://your-server-ip:5080/openmeetings. You will be redirected to the following page:

OpenMeetings Installer

Here, click on the > button. You should see the following page:

Select the database type

Here, select your database type and provide the database name, then click on the > button. You should see the following page:

Enter database credentials

Here, provide your username, password and email, then click on the > button. You should see the following page:

SMTP settings

Now, provide your SMTP details, then click on the > button. You should see the following page:

Set program paths like FFmpeg and ImageMagick

Here, provide ImageMagick, sox and FFmpeg path, then click on the > button. You should see the following page:

Choose crypt type

Here, select default value and click on the > button. You should see the following page:

Installation finished

Now, click on the Enter the Application button. You should see the following page:

Login to OpenMeetings

Now, provide your login credentials, then click on the Sign In button. You should see the following page:

OpenMeetings Dashboard

Share this page:

Suggested articles

11 Comment(s)

Add comment

Comments

By: FC

Please do not simply copy from tutorial of other Ubuntu version without verification. For example, newest Java version for Unbuntu 18.04 is 10 and no longer need to be installed from other repository.

By: ChiefH

I have Java 1.8.0_181 on my Ubuntu 16.04.4, so why are you showing 1.8.0_171 as the latest version.  Isn't 181 newer than 171?$

java -versionopenjdk version "1.8.0_181"OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13)OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

 

By: ChiefH

 FC: was your comment to the Article author or to me? I was wondering about the Java version numbers, not so much which went with Ubuntu 18.04LTS. If what you are saying, Ubuntu 18.04LTS should come with Java as part of the OS package?

By: Jason Banks

The GUI for OpeningMeetings is like 1990's ERA.

By: Naresh

Hi greetings of the day.I have been looking for the information on hosting openmeetings on amazon ec2.but I haven't figured out.Please let me know the steps to host openemeetings on amazon ec2.

Hope I will get the steps soon.

Thanks is advance.

By: Francesco

Hi, sorry to say but there is a typo  - two "install"s

sudo apt-get install install imagemagick ghostscript libxt6 libxrender1 ffmpeg sox -y

By: till

Thank you for the notice. The wrong command has been corrected.

By: david

failed twice. completely rebuilt server and it failed again web panels come up and when submit finish get java errors.

\looks like it needs an smtp server and openoffice also. had to install java mysql connector as well.

Installation is failed <openjpa-3.1.0-rafcec21a1d489dff682a3ce7986fac6a1c80e8e0 fatal general error> org.apache.openjpa.persistence.PersistenceException: The transaction has been rolled back. See the nested exceptions for details on the errors that occurred. FailedObject: [email protected] at org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2470) at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2308) at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2199) at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1962) at org.apache.openjpa.kernel.QueryImpl.isInMemory(QueryImpl.java:1028) at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:902) at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:843) at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:601) at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:297) at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:314) at org.apache.openmeetings.db.dao.basic.ConfigurationDao.get(ConfigurationDao.java:208) at org.apache.openmeetings.db.dao.basic.ConfigurationDao.get(ConfigurationDao.java:215) at org.apache.openmeetings.db.dao.basic.ConfigurationDao.getString(ConfigurationDao.java:265) at org.apache.openmeetings.db.dao.basic.ConfigurationDao.reloadCrypt(ConfigurationDao.java:447) at org.apache.openmeetings.db.dao.basic.ConfigurationDao.update(ConfigurationDao.java:338) at org.apache.openmeetings.db.dao.basic.ConfigurationDao.update(ConfigurationDao.java:303) at org.apache.openmeetings.db.dao.basic.ConfigurationDao$$FastClassBySpringCGLIB$$2f9526f2.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:769) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:99) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) at org.apache.openmeetings.db.dao.basic.ConfigurationDao$$EnhancerBySpringCGLIB$$41aa8334.update(<generated>) at org.apache.openmeetings.installation.ImportInitvalues.loadConfiguration(ImportInitvalues.java:369) at org.apache.openmeetings.installation.ImportInitvalues.loadSystem(ImportInitvalues.java:551) at org.apache.openmeetings.installation.ImportInitvalues.loadAll(ImportInitvalues.java:561) at org.apache.openmeetings.web.pages.install.InstallWizard$InstallProcess.run(InstallWizard.java:746) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: <openjpa-3.1.0-rafcec21a1d489dff682a3ce7986fac6a1c80e8e0 fatal general error> org.apache.openjpa.persistence.PersistenceException: Table 'openmeetings.configuration' doesn't exist {prepstmnt 360910292 INSERT INTO configuration (deleted, inserted, updated, comment, fromVersion, om_key, type, value, user_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)} [code=1146, state=42S02] FailedObject: [email protected] at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:5250) at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:5210) at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:134) at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:75) at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:146) at org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushAndUpdate(BatchingPreparedStatementManagerImpl.java:80) at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:102) at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:90) at org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:554) at org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:110) at org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager.flush(BatchingConstraintUpdateManager.java:61) at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:108) at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:81) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:757) at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:146) at org.apache.openjpa.datacache.DataCacheStoreManager.flush(DataCacheStoreManager.java:679) at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:146) ... 31 more Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: Table 'openmeetings.configuration' doesn't exist {prepstmnt 360910292 INSERT INTO configuration (deleted, inserted, updated, comment, fromVersion, om_key, type, value, user_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)} [code=1146, state=42S02] at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:219) at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:195) at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$1000(LoggingConnectionDecorator.java:58) at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:1188) at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:308) at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:308) at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:271) at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:121) ... 43 more

By: MLO

I succesfully installed openmeetings on a AWS EC2 instance; everything works fine but not sure how to add the SSL to the domain and also don't use the port, Any help here will be appreciate.

By: Ross

Hi,

Can you show me how to install Letsencrypt SSL for OpenMeetings?

Waiting for your reply...

Cheers,

By: dav

Hi, Successfully installed openmeeting, however, there is now sound.