Installation et configuration de SCENARIserver

Installation de SCENARIserver

Ajouter un dépôt pour Scenari

# echo "deb https://download.scenari.org/deb `lsb_release -sc` main" | sudo tee -a /etc/apt/sources.list.d/scenari.list

Ajouter la clé de signature des paquets

# wget -O- https://download.scenari.org/deb/scenari.asc | sudo apt-key add -

Mettre à jour la liste des paquets disponibles

# apt-get update

Installer SCENARIserver

# apt-get install scenariserver4.1-tomcat7

Éditer le fichier /etc/default/tomcat7 :

  • Choisir la quantité de mémoire RAM (minimum 500 Mb) :

    JAVA_OPTS="-Djava.awt.headless=true -Xmx500M -XX:+UseConcMarkSweepGC"

  • Désactiver la sécurité Tomcat :

    TOMCAT7_SECURITY=no

Relancer le service pour la prise en charge des changements :

# service tomcat7 restart

Configurer SCENARIserver

Éditer le fichier /etc/scenariserver4.1/conf/main.property :

  • Nom de la WebAPP, conditionne l'URL du service :

    server.webapp.name=scenariserver4.1

  • Chemin d'accès aux données utilisateurs :

    server.work.path=/var/lib/scenariserver4.0

    Ici l'emplacement des données correspond à l'ancienne version de SCENARIserver

  • Configurer le chemin des journaux systèmes :

    server.log.path=/var/log/${server.webapp.name}/scenari_[date].log

Appliquer les changements de configuration :

# scenariserver4.1-cfg reconfig

Relancer le service pour la prise en charge des changements :

# service tomcat7 restart

Truc & astuce

Consulter les journaux systèmes dans le répertoire /var/log/scenariserver4.1/.

Diagnostic sur le serveur SCENARI

Le serveur est joignable à l'adresse : http://<adresseServeur>:8080/scenariserver4.1

La fin du chemin …/scenariserver4.1 étant le chemin par défaut des fichiers de travail.

Truc & astuce

Pour vérifier le bon fonctionnement du serveur il existe une page sur laquelle faire pointer le navigateur web : http://<adresseServeur>:8080/scenariserver4.1/s/chain/u/ping

Une boîte de dialogue demande le compte et le mot de passe de l'utilisateur.

Si le serveur fonctionne bien une page blanche apparaît.

Attention

Le compte et le mot de passe par défaut sont : admin / admin

Le mot de passe sera modifiable plus tard à travers l'application cliente, SCENARIchain, connectée au serveur en tant qu'administrateur.

Automatiser la génération des documentations

SCENARIbatch propose des librairies utilitaires permettant de piloter SCENARIserver en dehors de l'interface cliente SCENARIclient.

Il est possible entre autres de déclencher la génération des documentations.

https://download.scenari.software/SCENARIchain-server!final/

Installation de SCENARIbatch

Téléchargement de l'archive sur le serveur :

# cd /usr/share/scenariBatch/

# wget https://download.scenari.org/scenari/files/SCENARIbatch/4.1.0.11/SCENARIbatch_4.1.0.11.zip

Désarchiver

# unzip SCENARIbatch_4.1.0.11.zip && rm SCENARIbatch_4.1.0.11.zip

Prise en charge de SCENARIbatch par SCENARIserver

Éditer le fichier de configuration /etc/scenariserver4.0/conf/main.property et décommenter les lignes :

  • server.conf.batch=batch/server.xml

    active le service

  • server.conf.batch.destPathRoot=${server.work.path}/batchGen

    spécifier le chemin ou seront créés les fichiers générés via SCENARIbatch

Éditer scBatch.sh

Remplacer lib et libext par le chemin absolu vers scenariBatch, remplacer ant par le chemin absolu du fichier XML utilisé pour générer la documentation :

1
#!/bin/sh
2
echo "SCENARIbatch - 4.1.011"
3
lib="/usr/share/scenariBatch/bin/sclib"
4
libext="/usr/share/scenariBatch/bin/javalib"
5
ant="/usr/share/scenariBatch/buildWeb.xml"
6
#lib="bin/sclib"
7
#libext="bin/javalib"
8
#ant="buildWeb.xml"
9
antparam="-Dprogram.param=$1"
10
[...]

S'inspirer du fichier d'exemple build.template.xml pour construire le fichier buildWeb.xml :

1
<project name="scBatch" default="main" basedir=".">
2
        <taskdef name="scServer" classname="com.scenari.scant.batch.ScServerTask"/>
3
        <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
4
        <taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
5
        <taskdef name="http" classname="org.missinglink.ant.task.http.HttpClientTask"/>
6
7
        <property name="tmp.dir" location="${basedir}/tmp"/>
8
        <property name="lib.dir" location="${basedir}/lib"/>
9
	<property name="code" value="<code de l'atelier à récupérer au travers de SCENARIclient>"/>
10
	<property name="typeW" value="genDocGuide"/>
11
	<property name="typeP" value="genUserGuide"/>
12
  <property name="typeW4" value="guideW"/>
13
14
	<target name="main">
15
		<!-- Génération des docs 2.4 -->	
16
		<echo>
17
			Génération des documentations 2.4 parcellaires
18
			/var/lib/scenariserver4.0/batchGen/2.4/partielles/*
19
                </echo>
20
		<scServer url="http://127.0.0.1:8080/scenariserver4.0/s/chain/u/batch" user="admin" password="<mdpAdmin>" failProperty="error" haltOnError="false" verbose="true">
21
			<sequence haltOnError="false">
22
				<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWebParcellaires/ModuleHapy.pub" destPath="2.4/partielles/ModuleHapy" type="${typeW4}" />
23
				<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWebParcellaires/ModuleHapyNode.pub" destPath="2.4/partielles/ModuleHapyNode" type="${typeW4}" />
24
				<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWebParcellaires/ModuleHapyMarket.pub" destPath="2.4/partielles/ModuleHapyMarket" type="${typeW4}" />
25
				<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWebParcellaires/ModuleHapyMaster.pub" destPath="2.4/partielles/ModuleHapyMaster" type="${typeW4}" />
26
			</sequence>
27
                </scServer>  
28
		<echo>
29
			Génération des documentations 2.4 complètes
30
			/var/lib/scenariserver4.0/batchGen/2.4/completes/*
31
                </echo>
32
		<scServer url="http://127.0.0.1:8080/scenariserver4.0/s/chain/u/batch" user="admin" password="<mdpAdmin>" failProperty="error" haltOnError="false" verbose="true">
33
			<sequence haltOnError="false">
34
				<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWeb/ModuleHapy.pub" destPath="2.4/completes/ModuleHapy" type="${typeW}" />
35
				<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWeb/ModuleHapyNode.pub" destPath="2.4/completes/ModuleHapyNode" type="${typeW}" />
36
				<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWeb/ModuleHapyMarket.pub" destPath="2.4/completes/ModuleHapyMarket" type="${typeW}" />
37
				<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWeb/ModuleHapyMaster.pub" destPath="2.4/completes/ModuleHapyMaster" type="${typeW}" />
38
			</sequence>
39
                </scServer>
40
        </target>
41
</project> 

Truc & astuce

Le type, permettant de déterminer le type de format de sortie, est dépendant du modèle documentaire et peut être trouvé dans le fichier wsptype.xml une fois le modèle documentaire installé.

Exemple :

/usr/share/dokiel4.1/scServer/updtStatic/data/dokiel4-1.wsp/fr-FR/4/1/31/content/wsptype.xml

/var/lib/scenariserver4.0/javaserver/updt/data/dokiel4-1.wsp/fr-FR/4/1/31/content/wsptype.xml

Utilisation de cron

Éditer le fichier /etc/crontab et ajouter :

1
# sauvegarde
2
30 19 * * * root /root/sauv-scenari.sh
3
# génération de la doc une fois par jour et transfert FTP
4
0 22 * * 1-5 root /usr/share/scenariBatch/scBatch.sh
5
0 23 * * 1-5 root /usr/share/scenariBatch/putOnFTP.sh
6
1
#!/bin/bash
2
3
# http://data.kelis.fr/docs/sc41/adminTech/lin/co/scenariBatch_1.html
4
REPSENBATCH="/usr/share/scenariBatch"
5
JOURSEMAINE=$(date +%u)
6
day=`date +%Y-%m-%d`
7
cheminSauvegarde="/var/sauvegardes/scenari-$day"
8
mkdir $cheminSauvegarde
9
10
echo "lancement du script de sauvegarde"
11
12
echo "se placer dans le répertoire du script"
13
cd $REPSENBATCH/apps/backup/
14
echo "lancement des commandes pre sauvegarde"
15
./backup.sh pre
16
echo "copie du répertoire blobs à sauvegarder"
17
cp -R /var/lib/scenariserver4.0/javaserver/blobs $cheminSauvegarde
18
echo "copie du répertoire backup à sauvegarder"
19
cp -R /var/lib/scenariserver4.0/javaserver/backup $cheminSauvegarde
20
echo "création d'une archive"
21
cd /var/sauvegardes
22
tar -cvf $cheminSauvegarde.tar $cheminSauvegarde
23
rm -rf $cheminSauvegarde
24
echo "lancement des commandes post sauvegarde"
25
cd $REPSENBATCH/apps/backup/
26
./backup.sh post
27
echo "fin de la sauvegarde"
28
# On supprime les sauvegarde de plus de 6 jours
29
find /var/sauvegardes -type f -ctime +6 -name scenari-*.tar -exec rm {} \;
30