Installation sysPass

De EjnTricks
Révision de 27 avril 2020 à 16:35 par Etienne (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Cet article présente l'installation de sysPass sur une machine Ubuntu et en mode autonome.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Icon-database.png Configuration MySql

Command-icon.png Mise en place instance

Dependencies.gif Pré requis

L'installation d'sysPass s'effectue uniquement en déployant le paquet officiel et l'exposer sous un serveur Web comme Apache. Des modules php sont requis.

  • mcrypt
  • mysql
  • curl
  • gd
  • json

Ceux-ci sont installés à l'aide de la commande suivante.

#sudo apt-get install php-mcrypt php-mysql php-curl php-gd php-json

Folder-icon.png Initialisation

L'application va être installée sous /var/opt/ avec une organisation qui doit permettre de faciliter les montées de version. Un répertoire commun est mis en place /var/opt/syspass dans lequel les binaires sont installés.

#sudo mkdir -p /var/opt/syspass
#sudo chown www-data:www-data /var/opt/syspass
#sudo chmod 700 /var/opt/syspass

Download-icon.png Téléchargement

L'application est téléchargée, en version 1.2.0.18, 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 1.2.0.18.

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

Puis le lien /var/opt/syspass/installed est mis en place pour référencer la version active. Ainsi, il sera facile de préparer les mises à jours, il suffira de modifier le lien.

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

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

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

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

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/1.2.0.18

Warning-icon.png Attention depuis la version 2.0.0.17021302, les configurations sont au format XML, dans le répertoire config. Or ceci implique qu'elles sont disponibles par simple URL. Il serait donc possible d'accéder aux configurations de l'application, comme le compte MySQL par exemple.

Ce point est abordé sur la documentation officielle afin d'interdire l'accès. Dans le cadre de cette installation, un fichier .htaccess a été mis en place dans le répertoire config avec le contenu suivant.

# line below if for Apache 2.4
<ifModule mod_authz_core.c>
Require all denied
</ifModule>

# line below if for Apache 2.2
<ifModule !mod_authz_core.c>
deny from all
</ifModule>

# section for Apache 2.2 and 2.4
IndexIgnore *


Configuration-icon.png Publication sous Apache

Network Admin.png Initialisation

Configuration-icon.png Personnalisation configuration

Afin de facilité les montées de version, le fichier de configuration stocké dans le répertoire config de l'instance, soit /var/opt/syspass/installed/config dans le cadre de cette installation, est externalisé. Ainsi, il suffira de créer le lien vers celui-ci.

Pour cet article, les fichiers communs seront placés dans le répetoire /var/opt/syspass/common, tout en respectant la structure hierarchique source. Pour le répertoire de configuration, les commandes suivantes sont exécutées.

#sudo mkdir -p /var/opt/syspass/common/config
#sudo chmod -R 700 /var/opt/syspass/common
#sudo chown -R www-data:www-data /var/opt/syspass/common/config
#sudo cp -p /var/opt/syspass/installed/config/* /var/opt/syspass/common/config

Puis un lien est créé dans l'instance vers cette externalisation.

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

Attention, un message d'erreur a été constaté lors de la mise à jour de la version 2.1.16.18061901.

Les permissions sur le répertoire doivent être 750, or cétait 700 dans le cadre de cette installation. Il est alors nécessaire de les modifier.

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

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


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

Une fois l'installation terminée, il ne faut pas oublier de diminuer les droits du compte sur la base de données, comme explicité lors de la création du compte. 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)


Plugin-icon.png Plugins

A partir de la version 2.1.13.17083101, la prise en compte de plugins a été introduite pour des modifications futures. Ces plugins devront être déposés dans le répertoire inc/Plugins.

Les plugins sont externalisées afin de ne pas avoir à les recopier dans le répertoire de l'instance à chaque montée de version, comme décrit dans l'article d'ajout de plugins.

L'environnement est construit dans un répertoire common.

#sudo mkdir -p /var/opt/syspass/common/plugins-available
#sudo mkdir -p /var/opt/syspass/common/plugins-enabled
#sudo chown www-data:www-data /var/opt/syspass/common/plugins-available
#sudo chown www-data:www-data /var/opt/syspass/common/plugins-enabled
#sudo chmod 700 /var/opt/syspass/common/plugins-available
#sudo chmod 700 /var/opt/syspass/common/plugins-enabled

Le répertoire plugins-available sera utilisé pour installer les plugins. Ils seront activés en plaçant un lien sous plugins-enabled, pour lequel un lien est créé dans le répertoire d'installation de l'instance, comme décrit dans le paragraphe d'activation des plugins.

#sudo mkdir -p /var/opt/syspass/common/inc
#sudo chown www-data:www-data /var/opt/syspass/common/inc
#sudo chmod 700 /var/opt/syspass/common/inc
#sudo ln -s /var/opt/syspass/common/plugins-enabled /var/opt/syspass/common/inc/Plugins
#sudo chown -h www-data:www-data /var/opt/syspass/common/inc/Plugins


Update icon.png Update

1.2.0.18 → 1.2.0.19 1.2.0.19 → 1.2.0.20 1.2.0.20 → 1.2.0.21 1.2.0.21 → 2.0.0.17021302 2.0.0.17021302 → 2.0.0.17021601
2.0.0.17021601 → 2.1.0.17022601 2.1.0.17022601 → 2.1.0.17030201 2.1.0.17030201 → 2.1.1.17030601 2.1.1.17030601 → 2.1.2.17031401 2.1.2.17031401 → 2.1.3.17031601
2.1.3.17031601 → 2.1.4.17032801 2.1.4.17032801 → 2.1.5.17041201 2.1.5.17041201 → 2.1.6.17041401 2.1.6.17041401 → 2.1.7.17042101

Possède une faille critique

2.1.7.17042101 → 2.1.8.17042901
2.1.8.17042901 → 2.1.9.17050401 2.1.9.17050401 → 2.1.10.17053003 2.1.10.17053003 → 2.1.11.17061503 2.1.11.17061503 → 2.1.12.17080701 2.1.12.17080701 → 2.1.13.17083101
2.1.13.17083101 → 2.1.14.17090101 2.1.14.17090101 → 2.1.15.17101701 2.1.15.17101701 → 2.1.16.18061901 2.1.16.18061901 → 3.0.0.18126201 3.0.0.18126201 → 3.0.1.19012002
3.0.1.19012002 → 3.0.2.19012401 3.0.2.19012401 → 3.0.3.19012402 3.0.3.19012402 → 3.0.4.19012601 3.0.4.19012601 → 3.0.5.19020701 3.0.5.19020701 → 3.1.0.19081801
3.1.0.19081801 → 3.1.1.19121601 3.1.1.19121601 → 3.1.2.20030701


Bug-icon.png Bug

php 7

php 7.2

Viewer icon.png Voir aussi

Documentation officielle: http://wiki.syspass.org/en/start

http://wiki.syspass.org/en/install