Chapter 2. Deploying

Table of Contents

Third-party software installation
Argeo software installation
Initialise the PostgreSQL database (optional)
Initialise the 389 LDAP server (optional)
Configuration and first initialisation
Apache reverse proxy

This chapter describes the standard deployments of an Argeo Platform on CentOS or RHEL 8. Before deploying one should consider the authorisation mechanisms that will be used (based on local files, LDAP, or authd) and the backend for the Jackrabbit repository (Java H2 database or PostgreSQL).


Third-party software installation

# Make sure the environment is up-to-date
sudo yum clean all
sudo yum update
# Java 11 is always required
sudo yum install java-11-openjdk-headless
# Telnet is optionally useful only for local access to the OSGi console (telnet localhost 2323)
sudo yum install telnet
# PostgreSQL is required if it used as Jackrabbit backend and deployed on the same host
sudo yum install postgresql-server
# 389 Directory Server is required if it used a user referential and deployed on the same host
sudo yum install 389-ds-base

Argeo software installation

# Install the Argeo release
sudo rpm -Uvh
# Install the Argeo platform
sudo yum install argeo-node argeo-cms-e4-rap
# Reload systemd
sudo systemctl daemon-reload

Initialise the PostgreSQL database (optional)

First, init the PostgreSQL data:

sudo postgresql-setup initdb

Then edit /var/lib/pgsql/data/pg_hba.conf and trust local access, so that the java process can access the database:

# IPv4 local connections:
host    all             all               trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

If the PostgreSQL server is running on another host, or you want to access it with external clients, you should also authorise the related network:

host    all             all           trust

And edit /var/lib/pgsql/data/postgresql.conf :

listen_addresses = '*'

Finally, start the PostgreSQL server and create a database user:

# Start the database server
sudo systemctl enable --now postgresql
# Create a database user
export DB_USER=argeo
export DB_NAME=argeo
sudo -i -u postgres psql -c "DROP USER $DB_USER;"
sudo -i -u postgres psql -c "CREATE USER $DB_USER WITH PASSWORD 'changeit';"
# Create the database
sudo -i -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER;"

Initialise the 389 LDAP server (optional)

Create a file argeo-slapd-setup.inf :

instance_name = argeo
root_dn = cn=Directory Manager
root_password = argeoargeo

suffix = dc=example,dc=com

Then, create a new instance:

sudo dscreate from-file argeo-slapd-setup.inf


# Open port 8080
sudo firewall-cmd --permanent --add-port 8080/tcp
sudo firewall-cmd --reload