QALITEL doc Premium - CentOS 9 Stream
Ci-dessous le mode opératoire d'installation de QALITEL archive sous un environnement CentOS 9 Stream avec 2 serveurs distincts.
Les services / applications installés sur les 2 serveurs seront réaprtis de la manière suivante :
Serveur Base de données / OCR :
- MySQL / MariaDB/etc/yum.repos.d/
- Elasticsearch
Serveur Applicatif QALITEL :
- Serveur Web Apache
- PHP 8
- Tesseract OCR
- Applications QALITEL doc / G.A.E QALITEL doc
1. Installation du serveur Bases de données
1.1. Installation de MariaDB
Installation et démarrage de mariaDB :
dnf install mariadb-server.x86_64
systemctl start mariadb.service
On se connecte à mariadb avec la commande "mysql" :
mysql
Une fois connecté, on se connecte sur la base mysql :
use mysql;
On paramètre la base de données pour QALITEL archivage :
use mysql;
create database qdoc character set latin1 collate latin1_general_ci;
On crée un utilisateur pour la base de données (adresse_ip correspond à l'adresse IP du serveur Applicatif) :
CREATE USER 'qalitel'@'adresse_ip' IDENTIFIED BY 'scoqi';
GRANT ALL PRIVILEGES ON qdoc.* TO 'qalitel'@'adresse_ip';
flush privileges;
ou si on souhaite donner tous les droits à l'utilisateur :
GRANT ALL PRIVILEGES ON *.* TO 'qalitel'@'adresse_ip' IDENTIFIED BY 'scoqi' WITH GRANT OPTION;
On quitte mysql avec :
exit
Pour permettre la connexion extérieure sur Mariadb, il faut ouvrir le port 3306 :
firewall-cmd --permanent --add-port=3306/tcp
1.2. Installation du module de recherche plein texte Elasticsearch :
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Création d'un fichier elasticsearch.repo dans le répertoire /etc/yum.repos.d/
Placer le texte ci-dessous dans ce fichier :
[elasticsearch]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
Lancer l'installation d'Elasticserrch avec la commande ci-dessous :
dnf install --enablerepo=elasticsearch elasticsearch
On démarre ensuite Elasticsearch :
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch.service
On édite ensuite le fichier de configuration d'Elasticsearch :
nano /etc/elasticsearch/elasticsearch.yml
Afin qu'Elasticsearch soit accessible par un autre serveur, il faudra spécifier l'adresse IP du serveur Elasticsearch au niveau de la variable "network_host" :
network_host : adresse_ip (IP du serveur Elasticsearch)
On désactvera également les sécurités (passage de "true" à "false" :
# Enable security features
xpack.security.enabled: false
xpack.security.enrollment.enabled: false
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
enabled: false
keystore.path: certs/http.p12
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
enabled: false
verification_mode: certificate
keystore.path: certs/transport.p12
truststore.path: certs/transport.p12
# Create a new cluster with the current node only
# Additional nodes can still join the cluster later
cluster.initial_master_nodes: ["Support"]
# Allow HTTP API connections from anywhere
# Connections are encrypted and require user authentication
http.host: 0.0.0.0
# Allow other nodes to join the cluster from anywhere
# Connections are encrypted and mutually authenticated
#transport.host: 0.0.0.0
Enregistrez le fichier puis redémarrez Elasticsearch pour la prise en comtpe des paramètres :
systemctl restart elasticsearch.service
On peut maintenant passer à l'installation du serveur applicatf.
2. Installation du serveur applicatif QALITEL :
2.1. Configuration du firewall
En prévision des connexion futures avec le serveur de Base de données et l'extérieur, il est nécessaire d'ouvrir les ports sur le Firewall. Les ports mentionnés seront les ports par défaut mais il sera bien entendu possible de les personnaliser si besoin.
Ports 80 et 443 pour HTTP et HTTPS
Port 3309 pour MySQL / MariaDB
Port 9200 pour Elasticsearch
Port 25 ou 465 pour SMTP
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --permanent --add-port=9200/tcp
firewall-cmd --permanent --add-port=465/tcp
2.2. Installation d'Apache
L'installation et le démarrage d'Apache se fait par les commandes ci-dessous :
yum install httpd
systemctl start httpd
On crée ensuite la structure de répertoires où seront placées les applications QALITEL :
mkdir -p /scoqi/qdoc
mkdir -p /scoqi/gaedoc
On configure un Alias pour les applications QALITEL doc et son G.A.E. :
nano /etc/httpd/conf.d/qalitel.conf
On placera le code ci-dessous dans l'Alias "qalitel.conf" en l'adaptant selon les répertoires et nom du serveur :
<VirtualHost archivage.qalitel.fr:80>
ServerName archivage.qalitel.fr
###############################################################################
# QALITEL doc
###############################################################################
Alias /doc /scoqi/qdoc/
<Directory /scoqi/qdoc/>
DirectoryIndex index.php
Options -Indexes
AllowOverride All
Require all granted
</Directory>
Alias /gaedoc /scoqi/gaeqdoc/
<Directory /scoqi/gaeqdoc/>
DirectoryIndex index.php
Options -Indexes
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
On démarre ensuite Apache :
systemctl start httpd
2.3. Installation de PHP 8
On active les dépôits pour l'installation des paquets de PHP 8
dnf install php php-ldap.x86_64 php-gd.x86_64 php-mysqlnd.x86_64 php-pecl-zip.x86_64
On valide ensuite les valeurs des différentes variables :
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
log_errors = On
error_log = /var/log/php.log
file_uploads = On
post_max_size = 50M
upload_max_filesize = 50M
memory_limit = 512M
max_execution_time = 120
max_input_vars = 5000
Après avoir enregistré le fichier PHP.INI, il redémarrer Apache pour la prise en compte des nouveaux paramètres :
systemctl reload httpd.service
2.4. Installation des modules OCR Tesseract - Poppler :
On procède tout d'abord à l'installation de Tesseract :
wget https://download.opensuse.org/repositories/home:/Alexander_Pozdnyakov:/tesseract5/CentOS_8/x86_64/tesseract-5.3.0-5.1.x86_64.rpm
rpm -i tesseract-5.3.0-5.1.x86_64.rpm --nogpgcheck
On télécharge ensuite les bibliothèques de langues souhaitées à partir de ce site : https://github.com/tesseract-ocr/tessdata
On copie ensuite le fichier de langue dans son répertoire de destination :
cp fra.traineddata /usr/share/tesseract//tessdata/
Pour l'installation de Poppler :
dnf install poppler.x86_64 poppler-utils.x86_64
Installation de l'application QALITEL doc
On copie le programme d'installation de QALITEL doc dans le répertoire /scoqi/qdoc/ préalablement créé (Le programme d'installation est téléchargeable à partir de votre interface Client)
On décomrpesse alors le fichier ZIP dans son répertoire
unzip qdoc.zip
On lance ensuite le programme d'installation à partir d'un navigateur Web :
http://nom-serveur/doc/install.php
On choisit l'installation complète puis on entre les paramètres SQL créés sur le serveur de base de données, à savoir :
Type de base : mysql
Serveur : adresse_ip
Base de données : qdoc
Utilisateur : qalitel
Mot de passe : scoqi
Une fois l'installation terminée, les identifiants de l'administrateur,par défaut de QALITEL doc sont :
Identifiant : scoqi
Mot de passe : scoqi
Il vous sera ensuite demandé d'entrer votre N° de série et mot de passe commuiqués lors de la livraison de votre application par Email
Pour installer la version Premium, relancez le programme d'installation (http://nom-serveur/doc/install.php).
Maintenant que le N° de série a été entré, le programme d'installation pourra installer les modules de la version Premium. Sléectionnez "Mise à jour" dans l'interface d'installation
Une fois QALITEL doc Premium activé, il faut paramétrer les Préférences Globales (menu "Configuration - Préférences Globales").
Préférences Globales - Rubrique "Archivage numérique"
Indiquez dans le champ correspondant l'URL d'accès au serveur Elastic search :
Préférences Globales - Rubrique "Stockage des fichiers documents"
Indiquez le répertoire ../app/mes_donnees où seront stockés les documents indexés dans QALITEL doc