Configuration de la Base de Données MariaDB
uPortal est configuré pour utiliser une base de données HSQL par défaut.
Cette configuration de base de données ne convient pas aux déploiements de production mais est mieux adaptée à des fins de test.
uPortal prend en charge un certain nombre de bases de données de production et vous pouvez configurer la base de données MariaDB.
Étape 1 : Paramétrage du server MariaDB
Editer le fichier /etc/mysql/mariadb.conf.d/60-server.cnf. (ici pour Debian 9) Dans la partie mysqld ajouter les éléments suivant :
default-storage-engine=INNODB
lower_case_table_names=1
innodb-large-prefix=1
innodb_file_format=Barracuda
innodb_file_format_check=1
innodb_file_format_max=Barracuda
innodb_file_per_table=1
innodb_strict_mode=ON
innodb_buffer_pool_size=2G
innodb_data_home_dir=/var/lib/mysql/
innodb_data_file_path=ibdata1:100M:autoextend
innodb_flush_log_at_trx_commit=1
innodb_log_file_size=256M
innodb_log_buffer_size=64M
Étape 2 : Configurer l'utilisateur et la base de donnée
mysql -uroot -p
MariaDB [(none)]> create database uportal CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> create database portlets CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'uportal'@'localhost' IDENTIFIED BY 'uportal';
GRANT ALL PRIVILEGES ON uportal.* TO 'portail'@'localhost';
GRANT ALL PRIVILEGES ON portlets.* TO 'portail'@'localhost';
Étape 3 : Configurer Uportal
Éditer uPortal-start/gradle.properties
mysqldbVersion=5.1.45
Éditer uPortal-start/overlays/build.gradle
dependencies {
/*
* Add additional JDBC driver jars to the 'jdbc' configuration below;
* do not remove the hsqldb driver jar that is already listed.
*
jdbc "org.hsqldb:hsqldb:${hsqldbVersion}"
*/
jdbc "mysql:mysql-connector-java:${mysqldbVersion}"
/*
* These are nearly the same uPortal dependencies declared by uPortal-webapp;
* perhaps we should create a uPortal-all module to bundle them all as transitives.
*/
Éditer uPortal-start/etc/portal/global.properties (il est possible de distinguer une base donnée pour Uportal et une autre pour les portlets)
Dans la partie Database Connection
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost/portlets
hibernate.connection.username=uportal
hibernate.connection.password=uportal
hibernate.connection.validationQuery=select 1
hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
Éditer uPortal-start/etc/portal/uPortal.properties
hibernate.connection.driver_class=com.mysql.jdbc.Driver hibernate.connection.url=jdbc:mysql://localhost/uportal hibernate.connection.username=uportal hibernate.connection.password=uportal hibernate.connection.validationQuery=select 1 hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
Étape 4 : Initialisation de la Base de Donnée
./gradlew dataInit
Étape 5 : Déploiement de uPortal
./gradlew tomcatDeploy
Commentaire
Clément Leneveu dit :
oct. 16, 2023Bonjour,
Si ça peut aider (ou éviter de perdre du temps), je suis sous debian 11 et une version 10.5.21 de mariadb, il faut commenter les ligne suivantes 60-server.cnf dans le fichier de conf la section mysqld :
On utilise bien un connecteur mysql avec un serveur mariaDb, j'ai aussi essayé avec un connecteur mariaDb et ça ne fonctionne pas. Par ailler dans les fichier global.properties et uPortal.properties j'utilise le dialect ci-dessous :
Cf. https://uportal-project.github.io/manuals/fr/uportal5-manual/database/mariadb.html