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 :
echo "SCENARIbatch - 4.1.011"
lib="/usr/share/scenariBatch/bin/sclib"
libext="/usr/share/scenariBatch/bin/javalib"
ant="/usr/share/scenariBatch/buildWeb.xml"
#lib="bin/sclib"
#libext="bin/javalib"
#ant="buildWeb.xml"
antparam="-Dprogram.param=$1"
[...]
S'inspirer du fichier d'exemple build.template.xml
pour construire le fichier buildWeb.xml
:
<project name="scBatch" default="main" basedir=".">
<taskdef name="scServer" classname="com.scenari.scant.batch.ScServerTask"/>
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
<taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
<taskdef name="http" classname="org.missinglink.ant.task.http.HttpClientTask"/>
<property name="tmp.dir" location="${basedir}/tmp"/>
<property name="lib.dir" location="${basedir}/lib"/>
<property name="code" value="<code de l'atelier à récupérer au travers de SCENARIclient>"/>
<property name="typeW" value="genDocGuide"/>
<property name="typeP" value="genUserGuide"/>
<property name="typeW4" value="guideW"/>
<target name="main">
<!-- Génération des docs 2.4 -->
<echo>
Génération des documentations 2.4 parcellaires
/var/lib/scenariserver4.0/batchGen/2.4/partielles/*
</echo>
<scServer url="http://127.0.0.1:8080/scenariserver4.0/s/chain/u/batch" user="admin" password="<mdpAdmin>" failProperty="error" haltOnError="false" verbose="true">
<sequence haltOnError="false">
<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWebParcellaires/ModuleHapy.pub" destPath="2.4/partielles/ModuleHapy" type="${typeW4}" />
<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWebParcellaires/ModuleHapyNode.pub" destPath="2.4/partielles/ModuleHapyNode" type="${typeW4}" />
<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWebParcellaires/ModuleHapyMarket.pub" destPath="2.4/partielles/ModuleHapyMarket" type="${typeW4}" />
<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWebParcellaires/ModuleHapyMaster.pub" destPath="2.4/partielles/ModuleHapyMaster" type="${typeW4}" />
</sequence>
</scServer>
<echo>
Génération des documentations 2.4 complètes
/var/lib/scenariserver4.0/batchGen/2.4/completes/*
</echo>
<scServer url="http://127.0.0.1:8080/scenariserver4.0/s/chain/u/batch" user="admin" password="<mdpAdmin>" failProperty="error" haltOnError="false" verbose="true">
<sequence haltOnError="false">
<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWeb/ModuleHapy.pub" destPath="2.4/completes/ModuleHapy" type="${typeW}" />
<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWeb/ModuleHapyNode.pub" destPath="2.4/completes/ModuleHapyNode" type="${typeW}" />
<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWeb/ModuleHapyMarket.pub" destPath="2.4/completes/ModuleHapyMarket" type="${typeW}" />
<generate wspCode="${code}" rootItemUri="/2_4/Zz-guides-2_4/guidesWeb/ModuleHapyMaster.pub" destPath="2.4/completes/ModuleHapyMaster" type="${typeW}" />
</sequence>
</scServer>
</target>
</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 :
# sauvegarde
30 19 * * * root /root/sauv-scenari.sh
# génération de la doc une fois par jour et transfert FTP
0 22 * * 1-5 root /usr/share/scenariBatch/scBatch.sh
0 23 * * 1-5 root /usr/share/scenariBatch/putOnFTP.sh
# http://data.kelis.fr/docs/sc41/adminTech/lin/co/scenariBatch_1.html
REPSENBATCH="/usr/share/scenariBatch"
JOURSEMAINE=$(date +%u)
day=`date +%Y-%m-%d`
cheminSauvegarde="/var/sauvegardes/scenari-$day"
mkdir $cheminSauvegarde
echo "lancement du script de sauvegarde"
echo "se placer dans le répertoire du script"
cd $REPSENBATCH/apps/backup/
echo "lancement des commandes pre sauvegarde"
./backup.sh pre
echo "copie du répertoire blobs à sauvegarder"
cp -R /var/lib/scenariserver4.0/javaserver/blobs $cheminSauvegarde
echo "copie du répertoire backup à sauvegarder"
cp -R /var/lib/scenariserver4.0/javaserver/backup $cheminSauvegarde
echo "création d'une archive"
cd /var/sauvegardes
tar -cvf $cheminSauvegarde.tar $cheminSauvegarde
rm -rf $cheminSauvegarde
echo "lancement des commandes post sauvegarde"
cd $REPSENBATCH/apps/backup/
./backup.sh post
echo "fin de la sauvegarde"
# On supprime les sauvegarde de plus de 6 jours
find /var/sauvegardes -type f -ctime +6 -name scenari-*.tar -exec rm {} \;