====== Exalead / Installation ======
Cet article décrit les étapes pour installer PLMA sur un serveur vdemopro :
* installation de cloudview
* déploiement du package PLMA
* modifications de la config Apache
* modifications de la config Enovia
* prise en compte du certificat de sécurité
* intégration 3DPassport
* internationalisation du connecteur
===== Script d'installation =====
Exemple de script d'installation : installBmw-2019X.R0-19000.sh
Ne pas oublier de faire un chmod 755 sur le script :
chmod 755 installBmw-2019X.R0-19000.sh
A changer :
* datadir (où installer le datadir)
* kitdir (où se trouve le kitdir)
* license (où se trouve le fichier de licence)
* appfile (le chemin vers le fichier de l'app)
* propfile (la fichier de propriétés à mettre à jour)
* enoviaxml (fichier XML de paramétrage d'Enovia)
# Remove old datadir
datadir='/home/data/RTV/DEMOR420/cloudview/data-bmw-2019X-19000/'
kitdir='/home/data/RTV/DEMOR420/cloudview/cloudview-V6R2019x.R0.94953-linux-x64'
license='/tmp/cvlicense.dat'
appfile='/tmp/bmwplm-app-1.1-20191022.212240-18-no-cas.zip'
propfile='/tmp/app.properties'
enoviaxml='/home/data/RTV/DEMOR420/cloudview/enovia_init.xml'
if [ -d $datadir ]; then
echo '============== STOP CLOUDVIEW INSTANCE =============='
$datadir/bin/cvinit.sh stop
sleep 15
echo '============== REMOVE DATADIR =============='
rm -rf $datadir
fi
echo '============== INSTALL CLOUDVIEW INSTANCE =============='
# Install from Kit
$kitdir/install.sh -port 19000 -host localhost -data $datadir -license $license
# Start instance to initialize
$datadir/bin/cvinit.sh start
# Wait for started
$datadir/bin/cvinit.sh wait-started
# Initialize instance configuration
$datadir/bin/postinstall --addDefaultCrawlerServer=false --consolidation=true --defineStandardMetas=false --dynamicReporting=false --enableUDR=false
# Build configuration
$datadir/bin/buildgct
# Restart instance
$datadir/bin/cvinit.sh restart
# Wait for started
$datadir/bin/cvinit.sh wait-started
echo '============== INSTALL APPLICATION =============='
# Install application
$datadir/bin/cvadmin apps install noversioncheck=true apps-file=$appfile propertyFile=$propfile
echo '============== INIT ENOVIA JARS AND ENV VARIABLES =============='
# Init Enovia configuration
curl --header "Content-Type: text/xml;charset=UTF-8" --header "SOAPAction:tns:scanConnector" --data @$enoviaxml http://localhost:19011/mami/connect/soap
sleep 30
# Build configuration
$datadir/bin/buildgct
# Restart instance
$datadir/bin/cvinit.sh restart
# Wait for started
$datadir/bin/cvinit.sh wait-started
echo '============== INSTALLATION DONE =============='
Exemple de fichier app.properties
ENOVIA_URL=vdemopro078dsy.extranet.3ds.com
ENOVIA_PWD_CRYPTED=DemoCenter01
BASEPORT=13000
HOSTNAME=localhost
INSTALL=cvdefault
Exemple de fichier enoviaxml
===== Modifications de la config Apache =====
En tant que 'root', aller dans le répertoire '/usr/local/reverseproxy/' et modifier le fichier 'conf/httpd.conf
' en ajoutant, avant le tag les lignes suivantes :
# Analytics Applications
ProxyPass /issue http://vdemoproXXXdsy.extranet.3ds.com:10000/issue
ProxyPassReverse /issue http://vdemoproXXXdsy.extranet.3ds.com:10000/issue
ProxyPass /change http://vdemoproXXXdsy.extranet.3ds.com:10000/change
ProxyPassReverse /change http://vdemoproXXXdsy.extranet.3ds.com:10000/change
ProxyPass /project http://vdemoproXXXdsy.extranet.3ds.com:10000/project
ProxyPassReverse /project http://vdemoproXXXdsy.extranet.3ds.com:10000/project
Redémarrer le proxy avec une des commandes suivantes
bin/apachectl restart
ou
/usr/local/reverseproxy/bin/httpd -k restart
===== Modifications de la config Enovia =====
En tant que 'e4apop', aller dans le répertoire : /home/data/RTV/DEMOR419/server/scripts/
Editer tous les fichiers 'sh' dont le nom commence par 'mxEnv' en ajoutant les lignes suivantes :
IssueIntelligence_URL=https://vdemoproXXXdsy.extranet.3ds.com:443/issue
export IssueIntelligence_URL
ProjectIntelligence_URL=https://vdemoproXXXdsy.extranet.3ds.com:443/project
export ProjectIntelligence_URL
ChangeIntelligence_URL=https://vdemoproXXXdsy.extranet.3ds.com:443/change
export ChangeIntelligence_URL
Redémarrer le Tomcat de l'application à partir de la page d'admin du serveur 'vdemopro' (URL fourni dans l'email)
===== Prise en compte du certificat de sécurité =====
* Go to datadir/security folder
* Launch the following command
kitdir/amd64-linux/java-jre/bin/keytool -importcert -alias passport -file passport.cert -keystore trusted.servers.ks
* Type “exalead” when prompted for password
* Type ‘yes’ return
* Restart Cloudview
Pour retirer le certificat
kitdir/amd64-linux/java-jre/bin/keytool -delete -alias passport -keystore trusted.servers.ks
[[https://www.sslshopper.com/article-most-common-java-keytool-keystore-commands.html|Pour plus d'informations sur keytool]]
===== Intégration 3DPassport =====
Dans le Mashup Builder, pour chaque application, aller dans 'Application> General> Security' et ajouter un CAS Security Provider avec les paramètres suivants
* API Config : sapi0
* API Endpoints :
* Command : security
* Source :
* Authenticate to : NONE
* CAS ticket validation filter : Cas20
* Allow proxy ticket validation : false
* CAS Server login URL : https://vdemoproXXXdsy.extranet.3ds.com:443/iam/cas/login
* CAS Server URL Prefix : https://vdemoproXXXdsy.extranet.3ds.com:443/iam
* CAS Server login URL : https://vdemoproXXXdsy.extranet.3ds.com:443/iam/cas/logout
* Server name: https://vdemoproXXXdsy.extranet.3ds.com:443
* CAS attribute(s) for displayName : name
Sélectionner toutes les pages Mashup à sécuriser
{{::cassecurity.png?600|}}
Remarque : 'Server Name' est l'URL d'accès à l'application PLMA à travers le reverse proxy (sans le nom de l'appli)
===== Internationalisation du connecteur =====
==== Pour Oracle ====
Pour faire en sorte que le connecteur prenne en compte les caractères accentués, il faut ajouter les variables d'environnement dans DeploymentInternal.xml dans la section "connectors.*" :
Redémarrez CV.
{{::accents_deploymentinternat_connectors.png?600|}}
[[http://dsdoc/3DEXPERIENCER2020x/en/English/DSDocDSExa.htm?show=CsrAdminMap/csr-c-language-multiple.htm|Lien vers la dsdoc]]
==== Pour MS SQL ====
Définition dans enovia.ini :
MX_CHARSET=UTF8
MX_JAVA_OPTIONS=-Xms2g -Xmx4g -Xss2m -XX:+UseG1GC -XX:SurvivorRatio=3 -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Dfile.encoding.override=UTF-8 -Dclient.encoding.override=UTF-8 -Djava.awt.headless=true -Djava.locale.providers=COMPAT
Et dans DeploymentInternal.xml
===== Changement du port =====
Remplacer toutes les références au port dans les fichiers :
* ./bin/ngstart.env
* et ./config/Deployment.xml
Si changement de machine, remplacer le host par le nouveau dans les 2 fichiers précédents.
Puis faire un buildgct
===== Changement du kitdir =====
Le chemin vers le kitdir est à changer dans le fichier './bin/ngstart.env'
===== Redirection vers http plutôt que https =====
Si au lancement des Apps depuis la 3DExperience, le widget Exalead est appelé sur l’adresse en « http » plutôt qu'en « https », il faut modifier la configuration du reverse proxy :
X-Forwarded-Host :
doit être changé en
X-Forwarded-Host : :
Chez EDF UK, ils ont bien ajouté les lignes suivantes :
* RequestHeader set X-Forwarded-Proto "https"
* RequestHeader set x-forwarded-host exalead-cloudview-devtest.sctest.edf-energy.com:443
* RequestHeader set X-Forwarded-Port "443"
{{ ::myexalead.zip | Exemple de fichier EDF UK}}