SysPass Update 3.0.2.19012401

De EjnTricks

Cet article présente la mise à jour de sysPass en version 3.0.2.19012401.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Download-icon.png Téléchargement

L'application est téléchargée, en version 3.0.2.19012401, dans le répertoire /var/opt/syspass.


System-Install-icon.png Installation

L'application va être installée sous /var/opt/syspass, avec modification de l'emplacement racine pour être 3.0.2.19012401.

#sudo tar --transform 's/^sysPass-3.0.2.19012401/3.0.2.19012401/' -C /var/opt/syspass -xzvf /var/opt/syspass/3.0.2.19012401.tar.gz

Le fichier téléchargé peut être supprimé.

#sudo rm /var/opt/syspass/3.0.2.19012401.tar.gz


Dependencies.gif Dépendances

Le paquet téléchargé ne contient pas les différentes dépendances et il est nécessaire de les récupérer à l'aide de l'outil composer, qu'il faut exécuter à la racine de l'application.

#cd /var/opt/syspass/3.0.2.19012401
#sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Une fois téléchargé, il faut l'exécuter afin de construire un fichier composer.phar. Dans la documentation officielle de sysPass, une vérification est réalisée sur la signature du fichier composer-setup.php. Ceci n'est pas réalisé dans le cadre de cette mise à jour.

#sudo php composer-setup.php
All settings correct for using Composer
Downloading...

Composer (version 1.9.1) successfully installed to: /var/opt/syspass/3.0.2.19012401/composer.phar
Use it: php composer.phar

Une fois la génération terminée, l'outil n'est plus nécessaire et il faut démarrer le téléchargement des librairies.

#sudo php -r "unlink('composer-setup.php');"
#sudo php composer.phar install --no-dev

Un warning est affiché au démarrage indiquant qu'il n'est pas recommander d'effectuer la commande en root. Comme les permissions sont modifiées par la suite, le message peut être ignoré.

Icon File Owner.png Propriétaire fichiers

L'installation a été réalisée avec le compte root. Il est préférable de donner la propriété au compte de démarrage du serveur web, soit www-data dans le cadre de cette installation.

#sudo chown -R www-data:www-data /var/opt/syspass/3.0.2.19012401


Icon ACL.png Sécurisation

Les droits mis en place seront uniquement pour le compte d'exécution du serveur Web, soit www-data dans le cadre de cette installation.

#sudo chmod -R go-rwx /var/opt/syspass/3.0.2.19012401


Icon-Configuration-Settings.png Configuration

Lors de l'installation, le fichier de configuration a été externalisé dans le répertoire /var/opt/syspass/common/config. Il faut référencer cette configuration dans la nouvelle version. Attention, le répertoire était à l'emplacement config à la racine de l'instance pour les précédentes versions. Il est à présent sous app/config

#sudo rm -rf /var/opt/syspass/3.0.2.19012401/app/config
#sudo ln -s /var/opt/syspass/common/config /var/opt/syspass/3.0.2.19012401/app/config
#sudo chown -h www-data:www-data /var/opt/syspass/3.0.2.19012401/app/config


Lock-icon.png Permissions compte base de données

Suite à l'installation, les droits d'accès du compte MySql ont été réduits. Afin de s'assurer qu'aucun problème n'aura lieu, les permissions sont temporairement augmentées pour la mise à jour, en cas de modification du schéma.

mysql> REVOKE ALL ON syspass.* FROM 'syspass'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL ON syspass.* TO 'syspass'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)


Configuration-icon.png Publication Apache

Puis le lien /var/opt/syspass/installed doit être mis à jour afin de pointer sur cette nouvelle version.

#sudo rm /var/opt/syspass/installed
#sudo ln -s /var/opt/syspass/3.0.2.19012401 /var/opt/syspass/installed
#sudo chown -h www-data:www-data /var/opt/syspass/installed

Lors du premier accès, l'utilisateur doit déclencher la mise à jour.


Le code de sécurité doit être récupéré depuis le fichier config.xml, soit à l'emplacement /var/opt/syspass/3.0.2.19012401/app/config/config.xml, depuis la balise upgradeKey.

Attention, il est nécessaire de cocher la case Effectuer une sauvegarde complète de sysPass pour pouvoir démarrer la mise à jour. Il n'y a pas de sauvegarde réalisée, c'est juste pour rappeler à l'utilisateur de réaliser une sauvegarde avant de procéder à la mise à jour.

En cliquant sur le bouton Mise à jour, une confirmation est demandée.


Lock-icon.png Permissions compte base de données post install

La mise à jour étant en échec les droits du compte sur la base de données sont diminués, après avoir restauré les fichiers de configuration. Dans le cadre de cette mise à jour, cela n'était pas nécessaire. Les commandes suivantes sont exécutées.

mysql> REVOKE ALL ON syspass.* FROM 'syspass'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON syspass.* TO 'syspass'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)


Delete-file-icon.png Purge de fichiers

Le paquet téléchargé correspond aux sources directement. Il y a donc quelques fichiers inutiles, ceux propres à GitHub par exemple.

#sudo rm /var/opt/syspass/3.0.2.19012401/.gitignore
#sudo rm -rf /var/opt/syspass/3.0.2.19012401/.github
#sudo rm /var/opt/syspass/3.0.2.19012401/.travis.yml
#sudo rm /var/opt/syspass/3.0.2.19012401/composer.phar
#sudo rm /var/opt/syspass/3.0.2.19012401/composer.lock
#sudo rm -rf /var/opt/syspass/3.0.2.19012401/tests


Warning-icon.png Permissions répertoire configuration

Attention, il est nécessaire de donner les permissions 750 sur le répertoire de configuration, sinon un message d'erreur est affiché.

#sudo chmod 750 /var/opt/syspass/common/config

Mais les permissions des fichiers dans le répertoire ne sont pas modifiées.


Viewer icon.png Voir aussi

Documentation officielle: https://github.com/nuxsmin/sysPass/releases/tag/3.0.2.19012401