====== 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}}