Ceci est une ancienne révision du document !
Table des matières
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
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:exa="exa:com.exalead.mercury.mami.connect.v10" xmlns:exa1="exa:exa.bee">
<soapenv:Header/>
<soapenv:Body>
<ScanConnector xmlns="exa:com.exalead.mercury.mami.connect.v10" xmlns:ns2="exa:exa.bee" xmlns:ns3="exa:com.exalead.mercury.component.config.descriptor" scanMode="Bind CloudView to Matrix installation" connectorName="Project">
<ns2:KeyValue value="/home/data/RTV/DEMOR420/studio" description="" type="string" key="MatrixHome"/>
<ns2:KeyValue value="V6R2018x" description="" type="enum:V6R2018x,V6R2017x,V6R2016x,V6R2015x,V6R2014x,V6R2014,V6R2013x,V6R2013,V6R2012x,V6R2012,V6R2011x,V6R2011,V6R2010x,V6R2010,V6R2009x,V6R2009" key="MatrixVersion"/>
<ns2:KeyValue value="/var/DassaultSystemes/Licenses/DSLicSrv.txt" description="" type="string" key="DSLSConfig"/>
</ScanConnector>
</soapenv:Body>
</soapenv:Envelope>
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 </VirtualHost> 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
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 : <vide>
- Command : security
- Source : <vide>
- 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
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 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.*” :
<KeyValue xmlns="exa:exa.bee" key="NLS_LANG" value="_.AL32UTF8"> </KeyValue> <KeyValue xmlns="exa:exa.bee" key="LANG" value="en_US.UTF-8"> </KeyValue> <KeyValue xmlns="exa:exa.bee" key="MX_CHARSET" value="UTF8"> </KeyValue>
Redémarrez CV.
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 : <HOST>
doit être changé en
X-Forwarded-Host : <HOST>:<PORT>
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”


