Cet article décrit les étapes pour installer PLMA sur un serveur vdemopro :
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 :
# 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>
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
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)
kitdir/amd64-linux/java-jre/bin/keytool -importcert -alias passport -file passport.cert -keystore trusted.servers.ks
Pour retirer le certificat
kitdir/amd64-linux/java-jre/bin/keytool -delete -alias passport -keystore trusted.servers.ks
Dans le Mashup Builder, pour chaque application, aller dans 'Application> General> Security' et ajouter un CAS Security Provider avec les paramètres suivants
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)
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.
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
<StringValue xmlns="exa:exa.bee" value="-Dfile.encoding.override=UTF-8"/> <StringValue xmlns="exa:exa.bee" value="-Dclient.encoding.override=UTF-8"/>
Remplacer toutes les références au port dans les fichiers :
Si changement de machine, remplacer le host par le nouveau dans les 2 fichiers précédents.
Puis faire un buildgct
Le chemin vers le kitdir est à changer dans le fichier './bin/ngstart.env'
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 :