Installation sysPass

De EjnTricks

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

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.

#sudo tar -C /var/opt/syspass -xzvf /var/opt/syspass/1.2.0.18.tar.gz

La décompression est effectuée dans le répertoire sysPass-1.2.0.18 que l'on peut renommer pour avoir uniquement le numéro de version.

#sudo mv /var/opt/syspass/sysPass-1.2.0.18 /var/opt/syspass/1.2.0.18

Puis le lien /var/opt/syspass/syspass 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/syspass
#sudo chown -h www-data:www-data /var/opt/syspass/syspass

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 find /var/opt/syspass/1.2.0.18 -type f -exec chmod 0640 {} \;
#sudo find /var/opt/syspass/1.2.0.18 -type d -exec chmod 0750 {} \;
#sudo chmod 750 /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/syspass/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 750 /var/opt/syspass/common
#sudo chown -R www-data:www-data /var/opt/syspass/common/config
#sudo cp -p /var/opt/syspass/syspass/config/* /var/opt/syspass/common/config

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

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


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)


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


Bug-icon.png Bug

Pour la version 1.2.0.18, il existe une incompatibilité avec la version 7 de php. La modification de certains objets, utilisateurs / groupes / profiles / catégories, ne fonctionne pas. Ceci a fait l'objet de l'anomalie 314. En attendant le correctif, il suffit de modifier deux fichiers.

Afin de conserver le paquet original, un copie est réalisée.

#sudo cp -R -p /var/opt/syspass/1.2.0.18 /var/opt/syspass/1.2.0.18.1

La modification se situe au niveau de la page d'affichage des éléments. Comme deux thèmes sont mis à disposition, elle doit être réalisée sur deux fichiers. Le premier inc/themes/classic/mgmttabs.inc est modifié au niveau de la ligne 37 lors de la récupération de l'identifiant. L'ancien code est le suivant.

<?php $i = 0; ?>
<?php $itemId = $item->$tab['props']['tblRowSrcId']; ?>
<?php $action_check = array(); ?>

Le nouveau est le suivant.

<?php $i = 0; ?>
<?php $itemId = $item->{$tab['props']['tblRowSrcId']}; ?>
<?php $action_check = array(); ?>

Concernant le fichier inc/themes/material-blue/mgmttabs.inc, la modification est similaire en ligne 40.

Il faut ensuite modifié le lien mis en place.

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

La modification est expliquée sur le site officiel de php, section Changes to variable handling.


Viewer icon.png Voir aussi

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

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