Skip to content

External database

Philippe Bareille edited this page Jan 17, 2025 · 3 revisions

If you want to use an external database (please note that CiteLibre Rendez-Vous only supports MariaDB or MySQL for the moment). Follow the steps:

Create a database for the lutece-based web application

    CREATE DATABASE lutece;
    # use your own credentials
    CREATE USER 'admin'@'%' IDENTIFIED BY 'password'; 
    GRANT ALL PRIVILEGES ON *.* TO 'lutece'@'%';

Load the dump file 1-dump.sql to populate the dataset with the following command :

    USE citelibre;
	SOURCE 1-dump.sql;

Important If the database is hosted on the same server, make sure you don't use localhost as it will use the container's localhost, instead use the IP address of the server.

To check that the database is accessible through the container network, open a terminal on the app container and type the following command ...

    Openssl s_client -connect <IP_or_host>:<PORT>

...the output should look like...

    CONNECTED(00000003)
    140278331168064:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../ssl/record/ssl3_record.c:331:
    ---
    no peer certificate available
    ---
    No client certificate CA names sent
    ---
    SSL handshake has read 5 bytes and written 283 bytes
    Verification: OK
    ---
    New, (NONE), Cipher is (NONE)
    Secure Renegotiation IS NOT supported
    Compression: NONE
    Expansion: NONE
    No ALPN negotiated
    Early data was not sent
    Verify return code: 0 (ok)
    ---

... and should not look like

    140418660095296:error:0200206F:system library:connect:Connection refused:../crypto/bio/b_sock2.c:110:
    140418660095296:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
    connect:errno=111

Create a database for Matomo

Matomo is a tool that keeps track and displays statistics based on visits and visitors behaviours. It needs its own database to store and access the required data.

    CREATE DATABASE matomo
    CREATE USER 'root'@'%' IDENTIFIED BY 'root'; 
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

Create a database for Keycloak

Keycloak is a tool that manages authentication and single-sign-on features that can simulate a Citizen Management System to log in and access his data to pre-fill form fields for example. It is also soon to be used to handle back office authentication, thanks to a securised and dedicated database or connect to an existing directory.

    # TODO