##################
Installation
##################
.. contents::
:local:
.. note::
| Please check the :doc:`requirements`, before installing OpenCelium.
|
| The installation commands must be executed by a user with sudo rights.
| Ensure you have administrative privileges to properly perform the installation.
|
| If you have changed the original umask on you linux server,
| please set additional permissions to /opt/opencelium.
| Otherwise nginx is not able to access the files.
Debian/Ubuntu (example for 24.04 LTS)
"""""""""""""""""""""""""""""""""""""
Prepare environment
===================
**1. Update:**
Update your system, download and install required packages.
.. code-block:: sh
:linenos:
apt update
apt dist-upgrade
apt install unzip mariadb-server mariadb-client openjdk-17-jdk nginx
**2. Install MongoDB:**
| Additonally an installation of MongoDB is required!
|
| Please refer to the default MongoDB documentation for detailed installation instructions.
| You can find this documentation here: `MongoDB Installation `_
|
Install Application
===================
Download and unzip application, and create a link for it.
.. code-block:: sh
:linenos:
wget --content-disposition "https://packagecloud.io/becon/opencelium/packages/anyfile/oc_latest.zip/download?distro_version_id=230" -P /opt/opencelium/
unzip -o -d /opt/opencelium/ /opt/opencelium/oc_latest.zip
rm /opt/opencelium/oc_latest.zip
ln -s /opt/opencelium/scripts/oc_service.sh /usr/bin/oc
chmod +x /usr/bin/oc
Configuration
==================
**1. MariaDB:**
Create database and mariadb user for OpenCelium, enable mariadb service and secure mariadb installation.
.. note::
Please change the password (secret1234) in the following command line!
.. code-block:: sh
:linenos:
systemctl restart mariadb
systemctl enable mariadb
mysql -u root -e "source /opt/opencelium/src/backend/database/oc_data.sql; GRANT ALL PRIVILEGES ON opencelium.* TO 'opencelium'@'localhost' IDENTIFIED BY 'secret1234'; FLUSH PRIVILEGES;"
mysql_secure_installation
.. note::
| "mysql_secure_installation" is a command-line-tool to enhance the security of your MariaDB
| instance and protect it from unauthorized access. (same as "mariadb_secure_installation")
|
| You can use default values for all prompts, unless specific changes are required
| for your company. Set a strong password for the root user (there is no default password!)
|
| Please refer to `MariaDB documentation `_ for detailed instructions.
**2. MongoDB:**
Start and enable mongod service and create a user for Opencelium.
.. note::
Ensure MongoDB is already installed on your system!
Please change the password (secretsecret) in the following command line!
.. code-block:: sh
:linenos:
systemctl restart mongod
systemctl enable mongod
mongosh --eval "db.getSiblingDB('opencelium').createUser({user: 'oc_admin', pwd: 'secretsecret', roles: ['readWrite','dbAdmin' ]})"
.. note::
If you encounter an "ECONNREFUSED" error, it indicates that mongod was not yet ready to accept connections.
In this case, please verify that the MongoDB server is running without errors by executing
the command "systemctl status mongod" and run the mongosh command again.
**3. Nginx:**
Remove default config and link configuration file for OpenCelium.
.. code-block:: sh
:linenos:
cp /opt/opencelium/conf/nginx_default.conf /opt/opencelium/conf/nginx.conf
rm /etc/nginx/sites-enabled/default
ln -s /opt/opencelium/conf/nginx.conf /etc/nginx/sites-enabled/oc.conf
.. note::
If you like to use SSL, copy the SSL-configuration file for OpenCelium:
.. code-block:: sh
:linenos:
cp /opt/opencelium/conf/nginx-ssl_default.conf /opt/opencelium/conf/nginx-ssl.conf
rm /etc/nginx/sites-enabled/default
ln -s /opt/opencelium/conf/nginx-ssl.conf /etc/nginx/sites-enabled/oc.conf
and change the certificates within the config (/opt/opencelium/conf/nginx-ssl.conf), with your own:
.. code-block:: sh
:linenos:
ssl_certificate /etc/ssl/certs/opencelium.pem;
ssl_certificate_key /etc/ssl/private/opencelium.key;
Reload config and enable nginx.
.. code-block:: sh
:linenos:
systemctl restart nginx
systemctl enable nginx
**4. OpenCelium:**
Create and adjust configuration.
.. code-block:: sh
:linenos:
cp /opt/opencelium/src/backend/src/main/resources/application_default.yml /opt/opencelium/src/backend/src/main/resources/application.yml
.. note::
| Modify application.yml
| Within section "Database configuration section of MariaDB and MongoDB":
| - change password of opencelium user for MariaDB (default "secret1234")
| - change password of oc_admin user for MongoDB in uri line (default "secretsecret")
Finally start OpenCelium backend.
.. code-block:: sh
:linenos:
ln -s /opt/opencelium/conf/opencelium.service /etc/systemd/system/opencelium.service
systemctl daemon-reload
systemctl enable opencelium
systemctl start opencelium
.. note::
| Now you can connect to OpenCelium, by navigating to http://localhost in your web browser.
| The default login credentials are:
|
| **Username: admin@opencelium.io**
| **Password: 1234**
|
| If you want to have a look into OpenCelium Logs please use:
.. code-block:: sh
:linenos:
journalctl -xe -u opencelium -f
SUSE Linux Enterprise Server (example for SLES 15 SP5)
"""""""""""""""""""""""""""""""""""""""""""""""""""""""
Prepare environment
===================
**1. Update:**
Update your system, download and install required packages.
.. code-block:: sh
:linenos:
zypper install unzip insserv mariadb mariadb-client java-17-openjdk nginx
**2. Install MongoDB:**
| Additonally an installation of MongoDB is required!
|
| Please refer to the default MongoDB documentation for detailed installation instructions.
| You can find this documentation here: `MongoDB Installation `_
|
Install Application
===================
Download and unzip application, and create a link for it.
.. code-block:: sh
:linenos:
wget --content-disposition "https://packagecloud.io/becon/opencelium/packages/anyfile/oc_latest.zip/download?distro_version_id=230" -P /opt/opencelium/
unzip -o -d /opt/opencelium/ /opt/opencelium/oc_latest.zip
rm /opt/opencelium/oc_latest.zip
ln -s /opt/opencelium/scripts/oc_service.sh /usr/bin/oc
chmod +x /usr/bin/oc
Configuration
==================
**1. MariaDB:**
Create database and mariadb user for OpenCelium, enable mariadb service and secure mariadb installation.
.. note::
Please change the password (secret1234) in the following command line!
.. code-block:: sh
:linenos:
systemctl restart mariadb
systemctl enable mariadb
mysql -u root -e "source /opt/opencelium/src/backend/database/oc_data.sql; GRANT ALL PRIVILEGES ON opencelium.* TO 'opencelium'@'localhost' IDENTIFIED BY 'secret1234'; FLUSH PRIVILEGES;"
mysql_secure_installation
.. note::
| "mysql_secure_installation" is a command-line-tool to enhance the security of your MariaDB
| instance and protect it from unauthorized access. (same as "mariadb_secure_installation")
|
| You can use default values for all prompts, unless specific changes are required
| for your company. Set a strong password for the root user (there is no default password!)
|
| Please refer to `MariaDB documentation `_ for detailed instructions.
**2. MongoDB:**
Start and enable mongod service and create a user for Opencelium.
.. note::
Ensure MongoDB is already installed on your system!
Please change the password (secretsecret) in the following command line!
.. code-block:: sh
:linenos:
systemctl restart mongod
systemctl enable mongod
mongosh --eval "db.getSiblingDB('opencelium').createUser({user: 'oc_admin', pwd: passwordPrompt(), roles: ['readWrite','dbAdmin' ]})"
.. note::
If you encounter an "ECONNREFUSED" error, it indicates that mongod was not yet ready to accept connections.
In this case, please verify that the MongoDB server is running without errors by executing
the command "systemctl status mongod" and run the mongosh command again.
**3. Nginx:**
Copy the configuration file for OpenCelium.
.. code-block:: sh
:linenos:
cp /opt/opencelium/conf/nginx_default.conf /opt/opencelium/conf/nginx.conf
ln -s /opt/opencelium/conf/nginx.conf /etc/nginx/conf.d/oc.conf
.. note::
If you like to use SSL, copy the SSL-configuration file for OpenCelium:
.. code-block:: sh
:linenos:
cp /opt/opencelium/conf/nginx-ssl_default.conf /opt/opencelium/conf/nginx-ssl.conf
ln -s /opt/opencelium/conf/nginx-ssl.conf /etc/nginx/conf.d/oc.conf
and change the certificates within the config (/opt/opencelium/conf/nginx-ssl.conf), with your own:
.. code-block:: sh
:linenos:
ssl_certificate /etc/ssl/certs/opencelium.pem;
ssl_certificate_key /etc/ssl/private/opencelium.key;
Reload config and enable nginx.
.. code-block:: sh
:linenos:
systemctl restart nginx
systemctl enable nginx
**4. Firewall:**
Create firewall rules for Opencelium:
.. code-block:: sh
:linenos:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=9090/tcp
systemctl restart firewalld.service
**5. OpenCelium:**
Create and adjust configuration.
.. code-block:: sh
:linenos:
cp /opt/opencelium/src/backend/src/main/resources/application_default.yml /opt/opencelium/src/backend/src/main/resources/application.yml
.. note::
| Modify application.yml
| Within section "Database configuration section of MariaDB and MongoDB":
| - change password of opencelium user for MariaDB (default "secret1234")
| - change password of oc_admin user for MongoDB in uri line (default "secretsecret")
Finally start OpenCelium backend.
.. code-block:: sh
:linenos:
ln -s /opt/opencelium/conf/opencelium.service /etc/systemd/system/opencelium.service
systemctl daemon-reload
systemctl enable opencelium
systemctl start opencelium
.. note::
| Now you can connect to OpenCelium, by navigating to http://localhost in your web browser.
| The default login credentials are:
|
| **Username: admin@opencelium.io**
| **Password: 1234**
|
| If you want to have a look into OpenCelium Logs please use:
.. code-block:: sh
:linenos:
journalctl -xe -u opencelium -f
Red Hat Enterprise Linux (example for Red Hat 9.2)
"""""""""""""""""""""""""""""""""""""""""""""""""""
Prepare environment
===================
**1. Update:**
Update your system, download and install required packages.
.. code-block:: sh
:linenos:
yum update
yum install unzip mariadb-server java-17-openjdk nginx
**2. Install MongoDB:**
| Additonally an installation of MongoDB is required!
|
| Please refer to the default MongoDB documentation for detailed installation instructions.
| You can find this documentation here: `MongoDB Installation `_
|
Install Application
===================
Download and unzip application, and create a link for it.
.. code-block:: sh
:linenos:
wget --content-disposition "https://packagecloud.io/becon/opencelium/packages/anyfile/oc_latest.zip/download?distro_version_id=230" -P /opt/opencelium/
unzip -o -d /opt/opencelium/ /opt/opencelium/oc_latest.zip
rm /opt/opencelium/oc_latest.zip
ln -s /opt/opencelium/scripts/oc_service.sh /usr/bin/oc
chmod +x /usr/bin/oc
Configuration
==================
**1. MariaDB:**
Create database and mariadb user for OpenCelium, enable mariadb service and secure mariadb installation.
.. note::
Please change the password (secret1234) in the following command line!
.. code-block:: sh
:linenos:
systemctl restart mariadb
systemctl enable mariadb
mysql -u root -e "source /opt/opencelium/src/backend/database/oc_data.sql; GRANT ALL PRIVILEGES ON opencelium.* TO 'opencelium'@'localhost' IDENTIFIED BY 'secret1234'; FLUSH PRIVILEGES;"
mysql_secure_installation
.. note::
| "mysql_secure_installation" is a command-line-tool to enhance the security of your MariaDB
| instance and protect it from unauthorized access. (same as "mariadb_secure_installation")
|
| You can use default values for all prompts, unless specific changes are required
| for your company. Set a strong password for the root user (there is no default password!)
|
| Please refer to `MariaDB documentation `_ for detailed instructions.
**2. MongoDB:**
Start and enable mongod service and create a user for Opencelium.
.. note::
Ensure MongoDB is already installed on your system!
Please change the password (secretsecret) in the following command line!
.. code-block:: sh
:linenos:
systemctl restart mongod
systemctl enable mongod
mongosh --eval "db.getSiblingDB('opencelium').createUser({user: 'oc_admin', pwd: passwordPrompt(), roles: ['readWrite','dbAdmin' ]})"
.. note::
If you encounter an "ECONNREFUSED" error, it indicates that mongod was not yet ready to accept connections.
In this case, please verify that the MongoDB server is running without errors by executing
the command "systemctl status mongod" and run the mongosh command again.
**3. Nginx:**
Copy the configuration file for OpenCelium.
.. code-block:: sh
:linenos:
cp /opt/opencelium/conf/nginx_default.conf /opt/opencelium/conf/nginx.conf
ln -s /opt/opencelium/conf/nginx.conf /etc/nginx/conf.d/oc.conf
.. note::
If you like to use SSL, copy the SSL-configuration file for OpenCelium:
.. code-block:: sh
:linenos:
cp /opt/opencelium/conf/nginx-ssl_default.conf /opt/opencelium/conf/nginx-ssl.conf
ln -s /opt/opencelium/conf/nginx-ssl.conf /etc/nginx/conf.d/oc.conf
ln -s /etc/pki/tls/private/ /etc/ssl/private
Change the certificates within the config (/opt/opencelium/conf/nginx-ssl.conf), with your own:
.. code-block:: sh
:linenos:
ssl_certificate /etc/ssl/certs/opencelium.pem;
ssl_certificate_key /etc/ssl/private/opencelium.key;
Reload config and enable nginx.
.. code-block:: sh
:linenos:
systemctl restart nginx
systemctl enable nginx
**4. Firewall:**
Create firewall rules for Opencelium:
.. code-block:: sh
:linenos:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=9090/tcp
systemctl restart firewalld.service
**5. OpenCelium:**
Create and adjust configuration.
.. code-block:: sh
:linenos:
cp /opt/opencelium/src/backend/src/main/resources/application_default.yml /opt/opencelium/src/backend/src/main/resources/application.yml
.. note::
| Modify application.yml
| Within section "Database configuration section of MariaDB and MongoDB":
| - change password of opencelium user for MariaDB (default "secret1234")
| - change password of oc_admin user for MongoDB in uri line (default "secretsecret")
Finally start OpenCelium backend.
.. code-block:: sh
:linenos:
ln -s /opt/opencelium/conf/opencelium.service /etc/systemd/system/opencelium.service
systemctl daemon-reload
systemctl enable opencelium
systemctl start opencelium
.. note::
| Now you can connect to OpenCelium, by navigating to http://localhost in your web browser.
| The default login credentials are:
|
| **Username: admin@opencelium.io**
| **Password: 1234**
|
| If you want to have a look into OpenCelium Logs please use:
.. code-block:: sh
:linenos:
journalctl -xe -u opencelium -f
Ansible
"""""""""""""""""
.. note::
Currently in rework.
Docker Compose
"""""""""""""""""
.. warning::
We currently do not support Docker environments in productive use. We recommend using it for use in a test phase!
.. note::
You need at least 4 GB of RAM to run the containers. We recommend 8GB for a better performance.
Docker is a container-based software framework for automating deployment of
applications. Compose is a tool for defining and running multi-container Docker
applications.
The OpenCelium Docker image uses the stable branch of OpenCelium's Git repo.
The Docker images are hosted on `Dockerhub `_.
**Install Docker Environment:**
1. Install Docker:
Use default Docker installation guide.
* `Docker Engine `_
* `Docker Compose `_ (opt. Docker Engine installation already includes Docker Compose Plugin)
1. Getting started with opencelium-docker-compose:
.. code-block:: sh
:linenos:
git clone https://github.com/opencelium/opencelium-docker.git /opt/opencelium-docker
cp /opt/opencelium-docker/conf/application_default.yml /opt/opencelium-docker/conf/application.yml
cp /opt/opencelium-docker/conf/nginx_default.conf /opt/opencelium-docker/conf/nginx.conf
cp /opt/opencelium-docker/.env_default /opt/opencelium-docker/.env
.. note::
| We recommend to use always the latest tag version from github.
| To set your own passwords, modify the .env file and adjust the passwords in application.yml accordingly.
| Modify application.yml
| Within section "Database configuration section of MariaDB and MongoDB":
| - change password of opencelium user for MariaDB (default "secret1234")
| - change password of oc_admin user for MongoDB in uri line (default "secretsecret")
.. note::
If you like to use SSL, do the following steps:
Create config folders for SSL:
.. code-block:: sh
:linenos:
mkdir /opt/opencelium-docker/conf/ssl
mkdir /opt/opencelium-docker/conf/ssl/certs
mkdir /opt/opencelium-docker/conf/ssl/private
Copy your own certificates to these folders!
Copy the Nginx SSL-configuration file for OpenCelium:
.. code-block:: sh
:linenos:
cp /opt/opencelium-docker/conf/nginx-ssl_default.conf /opt/opencelium-docker/conf/nginx-ssl.conf
Change the certificates within the config (nginx-ssl.conf), with your own:
.. code-block:: sh
:linenos:
ssl_certificate /opencelium-docker/conf/ssl/certs/opencelium.pem;
ssl_certificate_key /opencelium-docker/conf/ssl/private/opencelium.key;
Activate SSL in docker compose file (/opt/opencelium-docker/docker-compose.yml):
.. code-block:: sh
:linenos:
# comment for ssl
# - ./conf/nginx.conf:/etc/nginx/conf.d/default.conf
# uncomment for ssl
- ./conf/nginx-ssl.conf:/etc/nginx/conf.d/default.conf
- ./conf/ssl/certs/:/etc/ssl/certs/
- ./conf/ssl/private/:/etc/ssl/private/
2. Start OpenCelium using DockerHub images
.. code-block:: sh
:linenos:
cd /opt/opencelium-docker
docker compose up -d
.. note::
| Now you can connect to OpenCelium, by navigating to http://localhost in your web browser.
| The default login credentials are:
|
| **Username: admin@opencelium.io**
| **Password: 1234**
|
| If you want to have a look into OpenCelium Logs please use:
.. code-block:: sh
:linenos:
docker logs oc-backend
docker logs oc-frontend
docker logs oc-mariadb
docker logs oc-mongodb
DEB package for Ubuntu 24.04 LTS
"""""""""""""""""""""""""""""""""
Prepare environment:
====================
**1. Update Ubuntu system:**
.. code-block:: sh
:linenos:
apt update
apt dist-upgrade
apt install curl gnupg
**2. Install MongoDB:**
| Additonally an installation of MongoDB is required!
|
| Please refer to the default MongoDB documentation for detailed installation instructions.
| You can find this documentation here: `MongoDB Installation `_
|
**3. Install Webserver: (optional)**
| The deb package installs and configures Nginx by default.
| If you want to use Apache instead of Nginx, please install it manually now.
| If Apache is installed before the deb package, it will be configured as Webserver for Opencelium.
.. code-block:: sh
:linenos:
apt install apache2
a2enmode proxy proxy_http headers
Install Application:
====================
**1. Install deb package for OpenCelium:**
.. code-block:: sh
:linenos:
curl -s https://packagecloud.io/install/repositories/becon/opencelium/script.deb.sh | sudo bash
sed -i 's!deb .*!deb [signed-by=/etc/apt/keyrings/becon_opencelium-archive-keyring.gpg] https://packagecloud.io/becon/opencelium/ubuntu noble main!' /etc/apt/sources.list.d/becon_opencelium.list
apt update
apt install -y opencelium
.. note::
| Now you can connect to OpenCelium, by navigating to http://localhost in your web browser.
| The default login credentials are:
|
| **Username: admin@opencelium.io**
| **Password: 1234**
|
| If you want to have a look into OpenCelium Logs please use:
.. code-block:: sh
:linenos:
journalctl -xe -u opencelium -f
Configure environment (optional):
=================================
**1. Secure MySql and set root password (only for new MySql installations):**
.. code-block:: sh
:linenos:
mysql_secure_installation
.. note::
| "mysql_secure_installation" is a command-line-tool to enhance the security of your MariaDB
| instance and protect it from unauthorized access. (same as "mariadb_secure_installation")
|
| You can use default values for all prompts, unless specific changes are required
| for your company. Set a strong password for the root user (there is no default password!)
|
| Please refer to `MariaDB documentation `_ for detailed instructions.
**2. Change user passwords for MySQL and MongoDB:**
.. note::
Please change the passwords (secret1234, secretsecret) in the following command lines!
.. code-block:: sh
:linenos:
mysql -u root -p -e "ALTER USER 'opencelium'@'localhost' IDENTIFIED BY 'secret1234';"
mongosh --eval "db.getSiblingDB('opencelium').changeUserPassword('oc_admin', 'secretsecret')"
.. note::
As the MongoDB user "oc_admin" doesn't exist, you probably encountered an "ECONNREFUSED" error during installation.
This indicates that mongod was not yet ready to accept connections.
In this case, please verify that the MongoDB server is running without errors by executing
the command "systemctl status mongod" and run the this command to create the user:
.. code-block:: sh
:linenos:
mongosh --eval "db.getSiblingDB('opencelium').createUser({user: 'oc_admin', pwd: passwordPrompt(), roles: ['readWrite','dbAdmin' ]})"
**3. Modify application.yml file for backend:**
.. code-block:: sh
:linenos:
cd /opt/opencelium/src/backend/src/main/resources
.. note::
| Make changes inside the file application.yml!
| Change your MongoDB and MySQL database passwords.
**4. Restart Opencelium Backend:**
.. code-block:: sh
:linenos:
systemctl restart opencelium
RPM package for SUSE Linux Enterprise Server 15 SP5
"""""""""""""""""""""""""""""""""""""""""""""""""""
Prepare environment:
====================
**1. Update SLES system:**
.. code-block:: sh
:linenos:
zypper refresh
zypper update
**2. Install MongoDB:**
| Additonally an installation of MongoDB is required!
|
| Please refer to the default MongoDB documentation for detailed installation instructions.
| You can find this documentation here: `MongoDB Installation `_
|
Install Application:
====================
**1. Install rpm package for OpenCelium:**
.. code-block:: sh
:linenos:
curl -s https://packagecloud.io/install/repositories/becon/opencelium/script.rpm.sh | sudo bash
sed -i 's!baseurl=.*!baseurl=https://packagecloud.io/becon/opencelium/sles/15.5/x86_64!' /etc/zypp/repos.d/becon_opencelium.repo
zypper install -y OpenCelium
.. note::
| Now you can connect to OpenCelium, by navigating to http://localhost in your web browser.
| The default login credentials are:
|
| **Username: admin@opencelium.io**
| **Password: 1234**
|
| If you want to have a look into OpenCelium Logs please use:
.. code-block:: sh
:linenos:
journalctl -xe -u opencelium -f
Configure environment (optional):
=================================
**1. Secure MySql and set root password (only for new MySql installations):**
.. code-block:: sh
:linenos:
mysql_secure_installation
.. note::
| "mysql_secure_installation" is a command-line-tool to enhance the security of your MariaDB
| instance and protect it from unauthorized access. (same as "mariadb_secure_installation")
|
| You can use default values for all prompts, unless specific changes are required
| for your company. Set a strong password for the root user (there is no default password!)
|
| Please refer to `MariaDB documentation `_ for detailed instructions.
**2. Change user passwords for MySQL and MongoDB:**
.. note::
Please change the passwords (secret1234, secretsecret) in the following command lines!
.. code-block:: sh
:linenos:
mysql -u root -p -e "ALTER USER 'opencelium'@'localhost' IDENTIFIED BY 'secret1234';"
mongosh --eval "db.getSiblingDB('opencelium').changeUserPassword('oc_admin', 'secretsecret')"
.. note::
As the MongoDB user "oc_admin" doesn't exist, you probably encountered an "ECONNREFUSED" error during installation.
This indicates that mongod was not yet ready to accept connections.
In this case, please verify that the MongoDB server is running without errors by executing
the command "systemctl status mongod" and run the this command to create the user:
.. code-block:: sh
:linenos:
mongosh --eval "db.getSiblingDB('opencelium').createUser({user: 'oc_admin', pwd: passwordPrompt(), roles: ['readWrite','dbAdmin' ]})"
**3. Modify application.yml file for backend:**
.. code-block:: sh
:linenos:
cd /opt/opencelium/src/backend/src/main/resources
.. note::
| Make changes inside the file application.yml!
| Change your MongoDB and MySQL database passwords.
**4. Restart Opencelium Backend:**
.. code-block:: sh
:linenos:
systemctl restart opencelium
RPM package for RedHat 9.2
"""""""""""""""""""""""""""
Prepare environment:
====================
**1. Update RedHat system:**
.. code-block:: sh
:linenos:
yum update
yum install pygpgme yum-utils
.. note::
You may need to install the EPEL repository for your system to install these packages.
If you do not install pygpgme, GPG verification will not work.
In this case, you can install OpenCelium without GPG verification (see note at installation section).
**2. Install MongoDB:**
| Additonally an installation of MongoDB is required!
|
| Please refer to the default MongoDB documentation for detailed installation instructions.
| You can find this documentation here: `MongoDB Installation `_
|
Install Application:
====================
**1. Install rpm package for OpenCelium:**
.. code-block:: sh
:linenos:
curl -s https://packagecloud.io/install/repositories/becon/opencelium/script.rpm.sh | sudo bash
sed -i 's!baseurl=.*!baseurl=https://packagecloud.io/becon/opencelium/fedora/40/x86_64!' /etc/yum.repos.d/becon_opencelium.repo
yum install -y OpenCelium
.. note::
**Install Application without pygpgme:**
1. Install rpm package for OpenCelium:
.. code-block:: sh
:linenos:
cat << EOF > /etc/yum.repos.d/becon_opencelium.repo
[becon_opencelium]
name=becon_opencelium
baseurl=https://packagecloud.io/becon/opencelium/fedora/40/x86_64
repo_gpgcheck=0
gpgcheck=0
enabled=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOF
yum install -y OpenCelium
.. note::
| Now you can connect to OpenCelium, by navigating to http://localhost in your web browser.
| The default login credentials are:
|
| **Username: admin@opencelium.io**
| **Password: 1234**
|
| If you want to have a look into OpenCelium Logs please use:
.. code-block:: sh
:linenos:
journalctl -xe -u opencelium -f
Configure environment (optional):
=================================
**1. Secure MySql and set root password (only for new MySql installations):**
.. code-block:: sh
:linenos:
mysql_secure_installation
.. note::
| "mysql_secure_installation" is a command-line-tool to enhance the security of your MariaDB
| instance and protect it from unauthorized access. (same as "mariadb_secure_installation")
|
| You can use default values for all prompts, unless specific changes are required
| for your company. Set a strong password for the root user (there is no default password!)
|
| Please refer to `MariaDB documentation `_ for detailed instructions.
**2. Change user passwords for MySQL and MongoDB:**
.. note::
Please change the passwords (secret1234, secretsecret) in the following command lines!
.. code-block:: sh
:linenos:
mysql -u root -p -e "ALTER USER 'opencelium'@'localhost' IDENTIFIED BY 'secret1234';"
mongosh --eval "db.getSiblingDB('opencelium').changeUserPassword('oc_admin', 'secretsecret')"
.. note::
As the MongoDB user "oc_admin" doesn't exist, you probably encountered an "ECONNREFUSED" error during installation.
This indicates that mongod was not yet ready to accept connections.
In this case, please verify that the MongoDB server is running without errors by executing
the command "systemctl status mongod" and run the this command to create the user:
.. code-block:: sh
:linenos:
mongosh --eval "db.getSiblingDB('opencelium').createUser({user: 'oc_admin', pwd: passwordPrompt(), roles: ['readWrite','dbAdmin' ]})"
**3. Modify application.yml file for backend:**
.. code-block:: sh
:linenos:
cd /opt/opencelium/src/backend/src/main/resources
.. note::
| Make changes inside the file application.yml!
| Change your MongoDB and MySQL database passwords.
**4. Restart Opencelium Backend:**
.. code-block:: sh
:linenos:
systemctl restart opencelium