Journal de montée de version Nuxeo
Journal des actions effectuées pour monter de la version 7.1 vers la version LTS 2015 (7.10)
1. Sauvegarde du répertoire /var/lib/nuxeo contenant l'ensemble des données du serveur nuexo :
tar -cvf /backups/NOMDELASAUVEGARDE.tar /var/lib/nuxeo/
2. Sauvegarde de la base postgresql de nuxeo
su postgres pg_dump -p 5433 -f /backups/bdd/NOMDELASAUVEGARDE.dump nuxeo
3. Copier le fichier de configuration de Nuxeo
cp /etc/nuxeo/nuxeo.conf /backups/
4. Modifier le fichier des sources de paquets nuxeo et l'adapter
vi /etc/apt/sources.list.d/nuxeo.list
Entrer la ligne :
deb http://apt.nuxeo.org/ wheezy releases
A adapter en fonction de la version de debian utilisée
Lancer l'installation :
apt-get install nuxeo
Note : Ici l'installation échoue car Java est en version 1.7 et nuxeo demande la 1.8
Je suis le tuto suivant pour réaliser l'installation http://www.jbnet.fr/systeme/linux/installer-oracle-java-8-sous-debian-7-wheezy.html
Téléchargez la version JDK sur le site d’Oracle.
Lancez une console et connectez-vous avec root
Créez un répertoire “/opt/java-oracle”
command mkdir /opt/java-oracle
Décompressez le fichier dans ce répertoire :
command tar xvfz jdk-8u65-linux-x64.tar.gz -C /opt/java-oracle
Un répertoire jdk1.8.0_65 est créé dans le répertoire /opt/java-oracle
Il faut ensuite déclarer cette version comme étant disponible pour les logiciels qui utilisent Java ( comme NetBeans par exemple.).
D’abord, listez les versions déjà installées :
command update-alternatives --display java
Résultat (ou quelque chose d’approchant) :
java - mode manuel le lien pointe actuellement sur /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java - priorité 1061 lien secondaire java.1.gz : /usr/lib/jvm/java-6-openjdk-amd64/jre/man/man1/java.1.gz /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - priorité 1051 lien secondaire java.1.gz : /usr/lib/jvm/java-7-openjdk-amd64/jre/man/man1/java.1.gz La « meilleure » version actuelle est « /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java ».
Remarquez que la version 6 possède une priorité plus haute que la version 7.
Donc prioritaire sur la 7. On va garder cet ordre.
Remarquez également que c’est la version 7 qui est utilisée. (Voir la ligne “le lien pointe actuellement sur”).
Ajoutez la version d’Oracle à la liste :
command update-alternatives --install /usr/bin/java java /opt/java-oracle/jdk1.8.0_11/bin/java 1041 command update-alternatives --install /usr/bin/javac javac /opt/java-oracle/jdk1.8.0_11/bin/javac 1041
On vérifie que la version est bien disponible :
command update-alternatives --display java
java - mode manuel le lien pointe actuellement sur /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java /opt/java-oracle/jdk1.8.0_11/bin/java - priorité 1041 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java - priorité 1061 lien secondaire java.1.gz : /usr/lib/jvm/java-6-openjdk-amd64/jre/man/man1/java.1.gz /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - priorité 1051 lien secondaire java.1.gz : /usr/lib/jvm/java-7-openjdk-amd64/jre/man/man1/java.1.gz La « meilleure » version actuelle est « /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java ».
Si on veut forcer le système à utiliser par défaut la version Oracle :
command update-alternatives --set java /opt/java-oracle/jdk1.8.0_11/bin/java command update-alternatives --set javac /opt/java-oracle/jdk1.8.0_11/bin/javac
Résultat :
command update-alternatives --display java
java - mode manuel le lien pointe actuellement sur /opt/java-oracle/jdk1.8.0_11/bin/java /opt/java-oracle/jdk1.8.0_11/bin/java - priorité 1041 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java - priorité 1061 lien secondaire java.1.gz : /usr/lib/jvm/java-6-openjdk-amd64/jre/man/man1/java.1.gz /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java - priorité 1051 lien secondaire java.1.gz : /usr/lib/jvm/java-7-openjdk-amd64/jre/man/man1/java.1.gz La « meilleure » version actuelle est « /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java ».
C’est la version Java Oracle qui est utilisée par défaut.
Pour le vérifier facilement :
command java -version
Résultat :
java version "1.8.0_11" Java(TM) SE Runtime Environment (build 1.8.0_11-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
Je relance l'installation qui a précédemment échouée :
apt-get install nuxeo
Voici la sortie :
Do you want to continue [Y/n]? Y Setting up nuxeo (7.10-01) ... * Trying to reinstall previously installed packages Detected Tomcat server. Nuxeo home: /var/lib/nuxeo/server Nuxeo configuration: /etc/nuxeo/nuxeo.conf Include template: /var/lib/nuxeo/server/templates/common-base Include template: /var/lib/nuxeo/server/templates/common Include template: /var/lib/nuxeo/server/templates/postgresql Unable to install package: nuxeo-7.1-SU01 Unable to install package: nuxeo-opensocial Unable to install package: nuxeo-sites-blogs Dependency resolution: Installation order (9): nuxeo-dam-6.1.4/nuxeo-diff-1.6.5/nuxeo-drive-1.5.4/nuxeo-imap-connector-1.1.4/nuxeo-multi-tenant-1.5.3/nuxeo-spreadsheet-1.1.4/nuxeo-template-rendering- 6.5.4/nuxeo-virtualnavigation-1.1.4/nuxeo-web-mobile-1.7.4 Packages to download (1): nuxeo-multi-tenant:1.5.3 Local packages to install (8): nuxeo-virtualnavigation:1.1.4, nuxeo-dam:6.1.4, nuxeo-imap-connector:1.1.4, nuxeo-spreadsheet:1.1.4, nuxeo-drive:1.5.4, nuxeo-diff:1.6.5, nuxeo-template- rendering:6.5.4, nuxeo-web-mobile:1.7.4 Downloading [nuxeo-multi-tenant-1.5.3]... Aborting packages change request Failed commands: * download (nuxeo-multi-tenant-1.5.3) Download failed: Registration required (401). dpkg: error processing nuxeo (--configure): subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: nuxeo E: Sub-process /usr/bin/dpkg returned an error code (1)
Apparemment l'installeur cherche à remettre les packages présents dans l'ancienne installation de nuxeo
Le seul moyen trouvé comme parade, forcer dpkg à supprimer l'ancienne installation de Nuxeo
dpkg -P nuxeo
Cela aura pour effet de supprimer la base de données et les paramétrages de la solution.
Je décompresse donc le backup effectué au préalable pour restaurer le dossier /var/lib/nuxeo/data/ et remonte la sauvegarde de base de données :
su postgres psql -p 5433 nuxeo < 22122015.dump
En sortie, je reçois énormément d'erreurs et dois vider la base avant de remonter le backup